packages feed

amazonka-ecs 0.3.6 → 1.0.0

raw patch · 38 files changed

+6911/−4674 lines, 38 filesdep +amazonka-ecsdep +amazonka-testdep +bytestringdep ~amazonka-coredep ~basePVP ok

version bump matches the API change (PVP)

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

Dependency ranges changed: amazonka-core, base

API changes (from Hackage documentation)

- Network.AWS.ECS.CreateCluster: ccrCluster :: Lens' CreateClusterResponse (Maybe Cluster)
- Network.AWS.ECS.CreateCluster: instance FromJSON CreateClusterResponse
- Network.AWS.ECS.CreateCluster: instance Monoid CreateCluster
- Network.AWS.ECS.CreateCluster: instance Ord CreateCluster
- Network.AWS.ECS.CreateService: cs1ClientToken :: Lens' CreateService (Maybe Text)
- Network.AWS.ECS.CreateService: cs1Cluster :: Lens' CreateService (Maybe Text)
- Network.AWS.ECS.CreateService: cs1DesiredCount :: Lens' CreateService (Maybe Int)
- Network.AWS.ECS.CreateService: cs1LoadBalancers :: Lens' CreateService [LoadBalancer]
- Network.AWS.ECS.CreateService: cs1Role :: Lens' CreateService (Maybe Text)
- Network.AWS.ECS.CreateService: cs1ServiceName :: Lens' CreateService Text
- Network.AWS.ECS.CreateService: cs1TaskDefinition :: Lens' CreateService (Maybe Text)
- Network.AWS.ECS.CreateService: csrService :: Lens' CreateServiceResponse (Maybe ContainerService)
- Network.AWS.ECS.CreateService: instance FromJSON CreateServiceResponse
- Network.AWS.ECS.DeleteCluster: dcrCluster :: Lens' DeleteClusterResponse (Maybe Cluster)
- Network.AWS.ECS.DeleteCluster: instance FromJSON DeleteClusterResponse
- Network.AWS.ECS.DeleteCluster: instance IsString DeleteCluster
- Network.AWS.ECS.DeleteCluster: instance Monoid DeleteCluster
- Network.AWS.ECS.DeleteCluster: instance Ord DeleteCluster
- Network.AWS.ECS.DeleteService: dsrService :: Lens' DeleteServiceResponse (Maybe ContainerService)
- Network.AWS.ECS.DeleteService: instance FromJSON DeleteServiceResponse
- Network.AWS.ECS.DeleteService: instance Ord DeleteService
- Network.AWS.ECS.DeregisterContainerInstance: dci1Cluster :: Lens' DeregisterContainerInstance (Maybe Text)
- Network.AWS.ECS.DeregisterContainerInstance: dci1ContainerInstance :: Lens' DeregisterContainerInstance Text
- Network.AWS.ECS.DeregisterContainerInstance: dci1Force :: Lens' DeregisterContainerInstance (Maybe Bool)
- Network.AWS.ECS.DeregisterContainerInstance: dcirContainerInstance :: Lens' DeregisterContainerInstanceResponse (Maybe ContainerInstance)
- Network.AWS.ECS.DeregisterContainerInstance: instance FromJSON DeregisterContainerInstanceResponse
- Network.AWS.ECS.DeregisterContainerInstance: instance Ord DeregisterContainerInstance
- Network.AWS.ECS.DeregisterTaskDefinition: dtd1TaskDefinition :: Lens' DeregisterTaskDefinition Text
- Network.AWS.ECS.DeregisterTaskDefinition: dtdrTaskDefinition :: Lens' DeregisterTaskDefinitionResponse (Maybe TaskDefinition)
- Network.AWS.ECS.DeregisterTaskDefinition: instance FromJSON DeregisterTaskDefinitionResponse
- Network.AWS.ECS.DeregisterTaskDefinition: instance IsString DeregisterTaskDefinition
- Network.AWS.ECS.DeregisterTaskDefinition: instance Monoid DeregisterTaskDefinition
- Network.AWS.ECS.DeregisterTaskDefinition: instance Ord DeregisterTaskDefinition
- Network.AWS.ECS.DescribeClusters: dcrClusters :: Lens' DescribeClustersResponse [Cluster]
- Network.AWS.ECS.DescribeClusters: dcrFailures :: Lens' DescribeClustersResponse [Failure]
- Network.AWS.ECS.DescribeClusters: instance FromJSON DescribeClustersResponse
- Network.AWS.ECS.DescribeClusters: instance IsList DescribeClusters
- Network.AWS.ECS.DescribeClusters: instance Monoid DescribeClusters
- Network.AWS.ECS.DescribeClusters: instance Ord DescribeClusters
- Network.AWS.ECS.DescribeClusters: instance Semigroup DescribeClusters
- Network.AWS.ECS.DescribeContainerInstances: dcirContainerInstances :: Lens' DescribeContainerInstancesResponse [ContainerInstance]
- Network.AWS.ECS.DescribeContainerInstances: dcirFailures :: Lens' DescribeContainerInstancesResponse [Failure]
- Network.AWS.ECS.DescribeContainerInstances: instance FromJSON DescribeContainerInstancesResponse
- Network.AWS.ECS.DescribeContainerInstances: instance Ord DescribeContainerInstances
- Network.AWS.ECS.DescribeServices: ds1Cluster :: Lens' DescribeServices (Maybe Text)
- Network.AWS.ECS.DescribeServices: ds1Services :: Lens' DescribeServices [Text]
- Network.AWS.ECS.DescribeServices: dsrFailures :: Lens' DescribeServicesResponse [Failure]
- Network.AWS.ECS.DescribeServices: dsrServices :: Lens' DescribeServicesResponse [ContainerService]
- Network.AWS.ECS.DescribeServices: instance FromJSON DescribeServicesResponse
- Network.AWS.ECS.DescribeServices: instance Ord DescribeServices
- Network.AWS.ECS.DescribeTaskDefinition: dtdr1TaskDefinition :: Lens' DescribeTaskDefinitionResponse (Maybe TaskDefinition)
- Network.AWS.ECS.DescribeTaskDefinition: instance FromJSON DescribeTaskDefinitionResponse
- Network.AWS.ECS.DescribeTaskDefinition: instance IsString DescribeTaskDefinition
- Network.AWS.ECS.DescribeTaskDefinition: instance Monoid DescribeTaskDefinition
- Network.AWS.ECS.DescribeTaskDefinition: instance Ord DescribeTaskDefinition
- Network.AWS.ECS.DescribeTasks: dtrFailures :: Lens' DescribeTasksResponse [Failure]
- Network.AWS.ECS.DescribeTasks: dtrTasks :: Lens' DescribeTasksResponse [Task]
- Network.AWS.ECS.DescribeTasks: instance FromJSON DescribeTasksResponse
- Network.AWS.ECS.DescribeTasks: instance Ord DescribeTasks
- Network.AWS.ECS.DiscoverPollEndpoint: dperEndpoint :: Lens' DiscoverPollEndpointResponse (Maybe Text)
- Network.AWS.ECS.DiscoverPollEndpoint: instance FromJSON DiscoverPollEndpointResponse
- Network.AWS.ECS.DiscoverPollEndpoint: instance Monoid DiscoverPollEndpointResponse
- Network.AWS.ECS.DiscoverPollEndpoint: instance Ord DiscoverPollEndpoint
- Network.AWS.ECS.DiscoverPollEndpoint: instance Ord DiscoverPollEndpointResponse
- Network.AWS.ECS.ListClusters: instance FromJSON ListClustersResponse
- Network.AWS.ECS.ListClusters: instance Ord ListClusters
- Network.AWS.ECS.ListClusters: instance Ord ListClustersResponse
- Network.AWS.ECS.ListClusters: lcrClusterArns :: Lens' ListClustersResponse [Text]
- Network.AWS.ECS.ListClusters: lcrNextToken :: Lens' ListClustersResponse (Maybe Text)
- Network.AWS.ECS.ListContainerInstances: instance FromJSON ListContainerInstancesResponse
- Network.AWS.ECS.ListContainerInstances: instance Ord ListContainerInstances
- Network.AWS.ECS.ListContainerInstances: instance Ord ListContainerInstancesResponse
- Network.AWS.ECS.ListContainerInstances: lcirContainerInstanceArns :: Lens' ListContainerInstancesResponse [Text]
- Network.AWS.ECS.ListContainerInstances: lcirNextToken :: Lens' ListContainerInstancesResponse (Maybe Text)
- Network.AWS.ECS.ListServices: instance FromJSON ListServicesResponse
- Network.AWS.ECS.ListServices: instance Ord ListServices
- Network.AWS.ECS.ListServices: instance Ord ListServicesResponse
- Network.AWS.ECS.ListServices: lsrNextToken :: Lens' ListServicesResponse (Maybe Text)
- Network.AWS.ECS.ListServices: lsrServiceArns :: Lens' ListServicesResponse [Text]
- Network.AWS.ECS.ListTaskDefinitionFamilies: instance FromJSON ListTaskDefinitionFamiliesResponse
- Network.AWS.ECS.ListTaskDefinitionFamilies: instance Ord ListTaskDefinitionFamilies
- Network.AWS.ECS.ListTaskDefinitionFamilies: instance Ord ListTaskDefinitionFamiliesResponse
- Network.AWS.ECS.ListTaskDefinitionFamilies: ltdfrFamilies :: Lens' ListTaskDefinitionFamiliesResponse [Text]
- Network.AWS.ECS.ListTaskDefinitionFamilies: ltdfrNextToken :: Lens' ListTaskDefinitionFamiliesResponse (Maybe Text)
- Network.AWS.ECS.ListTaskDefinitions: instance FromJSON ListTaskDefinitionsResponse
- Network.AWS.ECS.ListTaskDefinitions: instance Ord ListTaskDefinitions
- Network.AWS.ECS.ListTaskDefinitions: instance Ord ListTaskDefinitionsResponse
- Network.AWS.ECS.ListTaskDefinitions: ltdrNextToken :: Lens' ListTaskDefinitionsResponse (Maybe Text)
- Network.AWS.ECS.ListTaskDefinitions: ltdrTaskDefinitionArns :: Lens' ListTaskDefinitionsResponse [Text]
- Network.AWS.ECS.ListTasks: instance FromJSON ListTasksResponse
- Network.AWS.ECS.ListTasks: instance Ord ListTasks
- Network.AWS.ECS.ListTasks: instance Ord ListTasksResponse
- Network.AWS.ECS.ListTasks: ltrNextToken :: Lens' ListTasksResponse (Maybe Text)
- Network.AWS.ECS.ListTasks: ltrTaskArns :: Lens' ListTasksResponse [Text]
- Network.AWS.ECS.RegisterContainerInstance: instance FromJSON RegisterContainerInstanceResponse
- Network.AWS.ECS.RegisterContainerInstance: rcirContainerInstance :: Lens' RegisterContainerInstanceResponse (Maybe ContainerInstance)
- Network.AWS.ECS.RegisterTaskDefinition: instance FromJSON RegisterTaskDefinitionResponse
- Network.AWS.ECS.RegisterTaskDefinition: rtdrTaskDefinition :: Lens' RegisterTaskDefinitionResponse (Maybe TaskDefinition)
- Network.AWS.ECS.RunTask: instance FromJSON RunTaskResponse
- Network.AWS.ECS.RunTask: rtrFailures :: Lens' RunTaskResponse [Failure]
- Network.AWS.ECS.RunTask: rtrTasks :: Lens' RunTaskResponse [Task]
- Network.AWS.ECS.StartTask: instance FromJSON StartTaskResponse
- Network.AWS.ECS.StartTask: st1Cluster :: Lens' StartTask (Maybe Text)
- Network.AWS.ECS.StartTask: st1ContainerInstances :: Lens' StartTask [Text]
- Network.AWS.ECS.StartTask: st1Overrides :: Lens' StartTask (Maybe TaskOverride)
- Network.AWS.ECS.StartTask: st1StartedBy :: Lens' StartTask (Maybe Text)
- Network.AWS.ECS.StartTask: st1TaskDefinition :: Lens' StartTask Text
- Network.AWS.ECS.StartTask: strFailures :: Lens' StartTaskResponse [Failure]
- Network.AWS.ECS.StartTask: strTasks :: Lens' StartTaskResponse [Task]
- Network.AWS.ECS.StopTask: instance FromJSON StopTaskResponse
- Network.AWS.ECS.StopTask: instance Ord StopTask
- Network.AWS.ECS.StopTask: strTask :: Lens' StopTaskResponse (Maybe Task)
- Network.AWS.ECS.SubmitContainerStateChange: instance FromJSON SubmitContainerStateChangeResponse
- Network.AWS.ECS.SubmitContainerStateChange: instance Monoid SubmitContainerStateChangeResponse
- Network.AWS.ECS.SubmitContainerStateChange: instance Ord SubmitContainerStateChangeResponse
- Network.AWS.ECS.SubmitContainerStateChange: scscrAcknowledgment :: Lens' SubmitContainerStateChangeResponse (Maybe Text)
- Network.AWS.ECS.SubmitTaskStateChange: instance FromJSON SubmitTaskStateChangeResponse
- Network.AWS.ECS.SubmitTaskStateChange: instance Monoid SubmitTaskStateChangeResponse
- Network.AWS.ECS.SubmitTaskStateChange: instance Ord SubmitTaskStateChange
- Network.AWS.ECS.SubmitTaskStateChange: instance Ord SubmitTaskStateChangeResponse
- Network.AWS.ECS.SubmitTaskStateChange: stscrAcknowledgment :: Lens' SubmitTaskStateChangeResponse (Maybe Text)
- Network.AWS.ECS.Types: cClusterArn :: Lens' Cluster (Maybe Text)
- Network.AWS.ECS.Types: cContainerArn :: Lens' Container (Maybe Text)
- Network.AWS.ECS.Types: cTaskArn :: Lens' Container (Maybe Text)
- Network.AWS.ECS.Types: ciContainerInstanceArn :: Lens' ContainerInstance (Maybe Text)
- Network.AWS.ECS.Types: csClusterArn :: Lens' ContainerService (Maybe Text)
- Network.AWS.ECS.Types: csRoleArn :: Lens' ContainerService (Maybe Text)
- Network.AWS.ECS.Types: csServiceArn :: Lens' ContainerService (Maybe Text)
- Network.AWS.ECS.Types: data JSONError :: *
- Network.AWS.ECS.Types: instance Eq Cluster
- Network.AWS.ECS.Types: instance Eq Container
- Network.AWS.ECS.Types: instance Eq ContainerDefinition
- Network.AWS.ECS.Types: instance Eq ContainerInstance
- Network.AWS.ECS.Types: instance Eq ContainerOverride
- Network.AWS.ECS.Types: instance Eq ContainerService
- Network.AWS.ECS.Types: instance Eq Deployment
- Network.AWS.ECS.Types: instance Eq Failure
- Network.AWS.ECS.Types: instance Eq HostVolumeProperties
- Network.AWS.ECS.Types: instance Eq KeyValuePair
- Network.AWS.ECS.Types: instance Eq LoadBalancer
- Network.AWS.ECS.Types: instance Eq MountPoint
- Network.AWS.ECS.Types: instance Eq NetworkBinding
- Network.AWS.ECS.Types: instance Eq PortMapping
- Network.AWS.ECS.Types: instance Eq Resource
- Network.AWS.ECS.Types: instance Eq ServiceEvent
- Network.AWS.ECS.Types: instance Eq Task
- Network.AWS.ECS.Types: instance Eq TaskDefinition
- Network.AWS.ECS.Types: instance Eq TaskOverride
- Network.AWS.ECS.Types: instance Eq VersionInfo
- Network.AWS.ECS.Types: instance Eq Volume
- Network.AWS.ECS.Types: instance Eq VolumeFrom
- Network.AWS.ECS.Types: instance FromJSON Cluster
- Network.AWS.ECS.Types: instance FromJSON Container
- Network.AWS.ECS.Types: instance FromJSON ContainerDefinition
- Network.AWS.ECS.Types: instance FromJSON ContainerInstance
- Network.AWS.ECS.Types: instance FromJSON ContainerOverride
- Network.AWS.ECS.Types: instance FromJSON ContainerService
- Network.AWS.ECS.Types: instance FromJSON Deployment
- Network.AWS.ECS.Types: instance FromJSON Failure
- Network.AWS.ECS.Types: instance FromJSON HostVolumeProperties
- Network.AWS.ECS.Types: instance FromJSON KeyValuePair
- Network.AWS.ECS.Types: instance FromJSON LoadBalancer
- Network.AWS.ECS.Types: instance FromJSON MountPoint
- Network.AWS.ECS.Types: instance FromJSON NetworkBinding
- Network.AWS.ECS.Types: instance FromJSON PortMapping
- Network.AWS.ECS.Types: instance FromJSON Resource
- Network.AWS.ECS.Types: instance FromJSON ServiceEvent
- Network.AWS.ECS.Types: instance FromJSON Task
- Network.AWS.ECS.Types: instance FromJSON TaskDefinition
- Network.AWS.ECS.Types: instance FromJSON TaskOverride
- Network.AWS.ECS.Types: instance FromJSON VersionInfo
- Network.AWS.ECS.Types: instance FromJSON Volume
- Network.AWS.ECS.Types: instance FromJSON VolumeFrom
- Network.AWS.ECS.Types: instance IsList TaskOverride
- Network.AWS.ECS.Types: instance Monoid HostVolumeProperties
- Network.AWS.ECS.Types: instance Monoid TaskOverride
- Network.AWS.ECS.Types: instance Ord Cluster
- Network.AWS.ECS.Types: instance Ord ContainerOverride
- Network.AWS.ECS.Types: instance Ord Deployment
- Network.AWS.ECS.Types: instance Ord Failure
- Network.AWS.ECS.Types: instance Ord HostVolumeProperties
- Network.AWS.ECS.Types: instance Ord KeyValuePair
- Network.AWS.ECS.Types: instance Ord LoadBalancer
- Network.AWS.ECS.Types: instance Ord MountPoint
- Network.AWS.ECS.Types: instance Ord NetworkBinding
- Network.AWS.ECS.Types: instance Ord PortMapping
- Network.AWS.ECS.Types: instance Ord Resource
- Network.AWS.ECS.Types: instance Ord ServiceEvent
- Network.AWS.ECS.Types: instance Ord VersionInfo
- Network.AWS.ECS.Types: instance Ord VolumeFrom
- Network.AWS.ECS.Types: instance Read Cluster
- Network.AWS.ECS.Types: instance Read Container
- Network.AWS.ECS.Types: instance Read ContainerDefinition
- Network.AWS.ECS.Types: instance Read ContainerInstance
- Network.AWS.ECS.Types: instance Read ContainerOverride
- Network.AWS.ECS.Types: instance Read ContainerService
- Network.AWS.ECS.Types: instance Read Deployment
- Network.AWS.ECS.Types: instance Read Failure
- Network.AWS.ECS.Types: instance Read HostVolumeProperties
- Network.AWS.ECS.Types: instance Read KeyValuePair
- Network.AWS.ECS.Types: instance Read LoadBalancer
- Network.AWS.ECS.Types: instance Read MountPoint
- Network.AWS.ECS.Types: instance Read NetworkBinding
- Network.AWS.ECS.Types: instance Read PortMapping
- Network.AWS.ECS.Types: instance Read Resource
- Network.AWS.ECS.Types: instance Read ServiceEvent
- Network.AWS.ECS.Types: instance Read Task
- Network.AWS.ECS.Types: instance Read TaskDefinition
- Network.AWS.ECS.Types: instance Read TaskOverride
- Network.AWS.ECS.Types: instance Read VersionInfo
- Network.AWS.ECS.Types: instance Read Volume
- Network.AWS.ECS.Types: instance Read VolumeFrom
- Network.AWS.ECS.Types: instance Semigroup TaskOverride
- Network.AWS.ECS.Types: instance Show Cluster
- Network.AWS.ECS.Types: instance Show Container
- Network.AWS.ECS.Types: instance Show ContainerDefinition
- Network.AWS.ECS.Types: instance Show ContainerInstance
- Network.AWS.ECS.Types: instance Show ContainerOverride
- Network.AWS.ECS.Types: instance Show ContainerService
- Network.AWS.ECS.Types: instance Show Deployment
- Network.AWS.ECS.Types: instance Show Failure
- Network.AWS.ECS.Types: instance Show HostVolumeProperties
- Network.AWS.ECS.Types: instance Show KeyValuePair
- Network.AWS.ECS.Types: instance Show LoadBalancer
- Network.AWS.ECS.Types: instance Show MountPoint
- Network.AWS.ECS.Types: instance Show NetworkBinding
- Network.AWS.ECS.Types: instance Show PortMapping
- Network.AWS.ECS.Types: instance Show Resource
- Network.AWS.ECS.Types: instance Show ServiceEvent
- Network.AWS.ECS.Types: instance Show Task
- Network.AWS.ECS.Types: instance Show TaskDefinition
- Network.AWS.ECS.Types: instance Show TaskOverride
- Network.AWS.ECS.Types: instance Show VersionInfo
- Network.AWS.ECS.Types: instance Show Volume
- Network.AWS.ECS.Types: instance Show VolumeFrom
- Network.AWS.ECS.Types: instance ToJSON Cluster
- Network.AWS.ECS.Types: instance ToJSON Container
- Network.AWS.ECS.Types: instance ToJSON ContainerDefinition
- Network.AWS.ECS.Types: instance ToJSON ContainerInstance
- Network.AWS.ECS.Types: instance ToJSON ContainerOverride
- Network.AWS.ECS.Types: instance ToJSON ContainerService
- Network.AWS.ECS.Types: instance ToJSON Deployment
- Network.AWS.ECS.Types: instance ToJSON Failure
- Network.AWS.ECS.Types: instance ToJSON HostVolumeProperties
- Network.AWS.ECS.Types: instance ToJSON KeyValuePair
- Network.AWS.ECS.Types: instance ToJSON LoadBalancer
- Network.AWS.ECS.Types: instance ToJSON MountPoint
- Network.AWS.ECS.Types: instance ToJSON NetworkBinding
- Network.AWS.ECS.Types: instance ToJSON PortMapping
- Network.AWS.ECS.Types: instance ToJSON Resource
- Network.AWS.ECS.Types: instance ToJSON ServiceEvent
- Network.AWS.ECS.Types: instance ToJSON Task
- Network.AWS.ECS.Types: instance ToJSON TaskDefinition
- Network.AWS.ECS.Types: instance ToJSON TaskOverride
- Network.AWS.ECS.Types: instance ToJSON VersionInfo
- Network.AWS.ECS.Types: instance ToJSON Volume
- Network.AWS.ECS.Types: instance ToJSON VolumeFrom
- Network.AWS.ECS.Types: tClusterArn :: Lens' Task (Maybe Text)
- Network.AWS.ECS.Types: tContainerInstanceArn :: Lens' Task (Maybe Text)
- Network.AWS.ECS.Types: tTaskArn :: Lens' Task (Maybe Text)
- Network.AWS.ECS.Types: tTaskDefinitionArn :: Lens' Task (Maybe Text)
- Network.AWS.ECS.Types: tdTaskDefinitionArn :: Lens' TaskDefinition (Maybe Text)
- Network.AWS.ECS.UpdateService: instance FromJSON UpdateServiceResponse
- Network.AWS.ECS.UpdateService: instance Ord UpdateService
- Network.AWS.ECS.UpdateService: usrService :: Lens' UpdateServiceResponse (Maybe ContainerService)
+ Network.AWS.ECS: AUSFailed :: AgentUpdateStatus
+ Network.AWS.ECS: AUSPending :: AgentUpdateStatus
+ Network.AWS.ECS: AUSStaged :: AgentUpdateStatus
+ Network.AWS.ECS: AUSStaging :: AgentUpdateStatus
+ Network.AWS.ECS: AUSUpdated :: AgentUpdateStatus
+ Network.AWS.ECS: AUSUpdating :: AgentUpdateStatus
+ Network.AWS.ECS: Active :: TaskDefinitionStatus
+ Network.AWS.ECS: Asc :: SortOrder
+ Network.AWS.ECS: Desc :: SortOrder
+ Network.AWS.ECS: Inactive :: TaskDefinitionStatus
+ Network.AWS.ECS: Pending :: DesiredStatus
+ Network.AWS.ECS: Running :: DesiredStatus
+ Network.AWS.ECS: Stopped :: DesiredStatus
+ Network.AWS.ECS: TCP :: TransportProtocol
+ Network.AWS.ECS: Udp :: TransportProtocol
+ Network.AWS.ECS: _ClientException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.ECS: _ClusterContainsContainerInstancesException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.ECS: _ClusterContainsServicesException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.ECS: _ClusterNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.ECS: _InvalidParameterException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.ECS: _MissingVersionException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.ECS: _NoUpdateAvailableException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.ECS: _ServerException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.ECS: _ServiceNotActiveException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.ECS: _ServiceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.ECS: _UpdateInProgressException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.ECS: cActiveServicesCount :: Lens' Cluster (Maybe Int)
+ Network.AWS.ECS: cClusterARN :: Lens' Cluster (Maybe Text)
+ Network.AWS.ECS: cClusterName :: Lens' Cluster (Maybe Text)
+ Network.AWS.ECS: cContainerARN :: Lens' Container (Maybe Text)
+ Network.AWS.ECS: cExitCode :: Lens' Container (Maybe Int)
+ Network.AWS.ECS: cLastStatus :: Lens' Container (Maybe Text)
+ Network.AWS.ECS: cName :: Lens' Container (Maybe Text)
+ Network.AWS.ECS: cNetworkBindings :: Lens' Container [NetworkBinding]
+ Network.AWS.ECS: cPendingTasksCount :: Lens' Cluster (Maybe Int)
+ Network.AWS.ECS: cReason :: Lens' Container (Maybe Text)
+ Network.AWS.ECS: cRegisteredContainerInstancesCount :: Lens' Cluster (Maybe Int)
+ Network.AWS.ECS: cRunningTasksCount :: Lens' Cluster (Maybe Int)
+ Network.AWS.ECS: cStatus :: Lens' Cluster (Maybe Text)
+ Network.AWS.ECS: cTaskARN :: Lens' Container (Maybe Text)
+ Network.AWS.ECS: cdCommand :: Lens' ContainerDefinition [Text]
+ Network.AWS.ECS: cdCpu :: Lens' ContainerDefinition (Maybe Int)
+ Network.AWS.ECS: cdEntryPoint :: Lens' ContainerDefinition [Text]
+ Network.AWS.ECS: cdEnvironment :: Lens' ContainerDefinition [KeyValuePair]
+ Network.AWS.ECS: cdEssential :: Lens' ContainerDefinition (Maybe Bool)
+ Network.AWS.ECS: cdImage :: Lens' ContainerDefinition (Maybe Text)
+ Network.AWS.ECS: cdLinks :: Lens' ContainerDefinition [Text]
+ Network.AWS.ECS: cdMemory :: Lens' ContainerDefinition (Maybe Int)
+ Network.AWS.ECS: cdMountPoints :: Lens' ContainerDefinition [MountPoint]
+ Network.AWS.ECS: cdName :: Lens' ContainerDefinition (Maybe Text)
+ Network.AWS.ECS: cdPortMappings :: Lens' ContainerDefinition [PortMapping]
+ Network.AWS.ECS: cdVolumesFrom :: Lens' ContainerDefinition [VolumeFrom]
+ Network.AWS.ECS: ciAgentConnected :: Lens' ContainerInstance (Maybe Bool)
+ Network.AWS.ECS: ciAgentUpdateStatus :: Lens' ContainerInstance (Maybe AgentUpdateStatus)
+ Network.AWS.ECS: ciContainerInstanceARN :: Lens' ContainerInstance (Maybe Text)
+ Network.AWS.ECS: ciEc2InstanceId :: Lens' ContainerInstance (Maybe Text)
+ Network.AWS.ECS: ciPendingTasksCount :: Lens' ContainerInstance (Maybe Int)
+ Network.AWS.ECS: ciRegisteredResources :: Lens' ContainerInstance [Resource]
+ Network.AWS.ECS: ciRemainingResources :: Lens' ContainerInstance [Resource]
+ Network.AWS.ECS: ciRunningTasksCount :: Lens' ContainerInstance (Maybe Int)
+ Network.AWS.ECS: ciStatus :: Lens' ContainerInstance (Maybe Text)
+ Network.AWS.ECS: ciVersionInfo :: Lens' ContainerInstance (Maybe VersionInfo)
+ Network.AWS.ECS: cluster :: Cluster
+ Network.AWS.ECS: coCommand :: Lens' ContainerOverride [Text]
+ Network.AWS.ECS: coEnvironment :: Lens' ContainerOverride [KeyValuePair]
+ Network.AWS.ECS: coName :: Lens' ContainerOverride (Maybe Text)
+ Network.AWS.ECS: container :: Container
+ Network.AWS.ECS: containerDefinition :: ContainerDefinition
+ Network.AWS.ECS: containerInstance :: ContainerInstance
+ Network.AWS.ECS: containerOverride :: ContainerOverride
+ Network.AWS.ECS: containerService :: ContainerService
+ Network.AWS.ECS: csClusterARN :: Lens' ContainerService (Maybe Text)
+ Network.AWS.ECS: csDeployments :: Lens' ContainerService [Deployment]
+ Network.AWS.ECS: csDesiredCount :: Lens' ContainerService (Maybe Int)
+ Network.AWS.ECS: csEvents :: Lens' ContainerService [ServiceEvent]
+ Network.AWS.ECS: csLoadBalancers :: Lens' ContainerService [LoadBalancer]
+ Network.AWS.ECS: csPendingCount :: Lens' ContainerService (Maybe Int)
+ Network.AWS.ECS: csRoleARN :: Lens' ContainerService (Maybe Text)
+ Network.AWS.ECS: csRunningCount :: Lens' ContainerService (Maybe Int)
+ Network.AWS.ECS: csServiceARN :: Lens' ContainerService (Maybe Text)
+ Network.AWS.ECS: csServiceName :: Lens' ContainerService (Maybe Text)
+ Network.AWS.ECS: csStatus :: Lens' ContainerService (Maybe Text)
+ Network.AWS.ECS: csTaskDefinition :: Lens' ContainerService (Maybe Text)
+ Network.AWS.ECS: dCreatedAt :: Lens' Deployment (Maybe UTCTime)
+ Network.AWS.ECS: dDesiredCount :: Lens' Deployment (Maybe Int)
+ Network.AWS.ECS: dId :: Lens' Deployment (Maybe Text)
+ Network.AWS.ECS: dPendingCount :: Lens' Deployment (Maybe Int)
+ Network.AWS.ECS: dRunningCount :: Lens' Deployment (Maybe Int)
+ Network.AWS.ECS: dStatus :: Lens' Deployment (Maybe Text)
+ Network.AWS.ECS: dTaskDefinition :: Lens' Deployment (Maybe Text)
+ Network.AWS.ECS: dUpdatedAt :: Lens' Deployment (Maybe UTCTime)
+ Network.AWS.ECS: data AgentUpdateStatus
+ Network.AWS.ECS: data Cluster
+ Network.AWS.ECS: data Container
+ Network.AWS.ECS: data ContainerDefinition
+ Network.AWS.ECS: data ContainerInstance
+ Network.AWS.ECS: data ContainerOverride
+ Network.AWS.ECS: data ContainerService
+ Network.AWS.ECS: data Deployment
+ Network.AWS.ECS: data DesiredStatus
+ Network.AWS.ECS: data ECS
+ Network.AWS.ECS: data Failure
+ Network.AWS.ECS: data HostVolumeProperties
+ Network.AWS.ECS: data KeyValuePair
+ Network.AWS.ECS: data LoadBalancer
+ Network.AWS.ECS: data MountPoint
+ Network.AWS.ECS: data NetworkBinding
+ Network.AWS.ECS: data PortMapping
+ Network.AWS.ECS: data Resource
+ Network.AWS.ECS: data ServiceEvent
+ Network.AWS.ECS: data SortOrder
+ Network.AWS.ECS: data Task
+ Network.AWS.ECS: data TaskDefinition
+ Network.AWS.ECS: data TaskDefinitionStatus
+ Network.AWS.ECS: data TaskOverride
+ Network.AWS.ECS: data TransportProtocol
+ Network.AWS.ECS: data VersionInfo
+ Network.AWS.ECS: data Volume
+ Network.AWS.ECS: data VolumeFrom
+ Network.AWS.ECS: deployment :: Deployment
+ Network.AWS.ECS: fArn :: Lens' Failure (Maybe Text)
+ Network.AWS.ECS: fReason :: Lens' Failure (Maybe Text)
+ Network.AWS.ECS: failure :: Failure
+ Network.AWS.ECS: hostVolumeProperties :: HostVolumeProperties
+ Network.AWS.ECS: hvpSourcePath :: Lens' HostVolumeProperties (Maybe Text)
+ Network.AWS.ECS: keyValuePair :: KeyValuePair
+ Network.AWS.ECS: kvpName :: Lens' KeyValuePair (Maybe Text)
+ Network.AWS.ECS: kvpValue :: Lens' KeyValuePair (Maybe Text)
+ Network.AWS.ECS: lbContainerName :: Lens' LoadBalancer (Maybe Text)
+ Network.AWS.ECS: lbContainerPort :: Lens' LoadBalancer (Maybe Int)
+ Network.AWS.ECS: lbLoadBalancerName :: Lens' LoadBalancer (Maybe Text)
+ Network.AWS.ECS: loadBalancer :: LoadBalancer
+ Network.AWS.ECS: mountPoint :: MountPoint
+ Network.AWS.ECS: mpContainerPath :: Lens' MountPoint (Maybe Text)
+ Network.AWS.ECS: mpReadOnly :: Lens' MountPoint (Maybe Bool)
+ Network.AWS.ECS: mpSourceVolume :: Lens' MountPoint (Maybe Text)
+ Network.AWS.ECS: nbBindIP :: Lens' NetworkBinding (Maybe Text)
+ Network.AWS.ECS: nbContainerPort :: Lens' NetworkBinding (Maybe Int)
+ Network.AWS.ECS: nbHostPort :: Lens' NetworkBinding (Maybe Int)
+ Network.AWS.ECS: nbProtocol :: Lens' NetworkBinding (Maybe TransportProtocol)
+ Network.AWS.ECS: networkBinding :: NetworkBinding
+ Network.AWS.ECS: pmContainerPort :: Lens' PortMapping (Maybe Int)
+ Network.AWS.ECS: pmHostPort :: Lens' PortMapping (Maybe Int)
+ Network.AWS.ECS: pmProtocol :: Lens' PortMapping (Maybe TransportProtocol)
+ Network.AWS.ECS: portMapping :: PortMapping
+ Network.AWS.ECS: rDoubleValue :: Lens' Resource (Maybe Double)
+ Network.AWS.ECS: rIntegerValue :: Lens' Resource (Maybe Int)
+ Network.AWS.ECS: rLongValue :: Lens' Resource (Maybe Integer)
+ Network.AWS.ECS: rName :: Lens' Resource (Maybe Text)
+ Network.AWS.ECS: rStringSetValue :: Lens' Resource [Text]
+ Network.AWS.ECS: rType :: Lens' Resource (Maybe Text)
+ Network.AWS.ECS: resource :: Resource
+ Network.AWS.ECS: seCreatedAt :: Lens' ServiceEvent (Maybe UTCTime)
+ Network.AWS.ECS: seId :: Lens' ServiceEvent (Maybe Text)
+ Network.AWS.ECS: seMessage :: Lens' ServiceEvent (Maybe Text)
+ Network.AWS.ECS: serviceEvent :: ServiceEvent
+ Network.AWS.ECS: servicesInactive :: Wait DescribeServices
+ Network.AWS.ECS: tClusterARN :: Lens' Task (Maybe Text)
+ Network.AWS.ECS: tContainerInstanceARN :: Lens' Task (Maybe Text)
+ Network.AWS.ECS: tContainers :: Lens' Task [Container]
+ Network.AWS.ECS: tDesiredStatus :: Lens' Task (Maybe Text)
+ Network.AWS.ECS: tLastStatus :: Lens' Task (Maybe Text)
+ Network.AWS.ECS: tOverrides :: Lens' Task (Maybe TaskOverride)
+ Network.AWS.ECS: tStartedBy :: Lens' Task (Maybe Text)
+ Network.AWS.ECS: tTaskARN :: Lens' Task (Maybe Text)
+ Network.AWS.ECS: tTaskDefinitionARN :: Lens' Task (Maybe Text)
+ Network.AWS.ECS: task :: Task
+ Network.AWS.ECS: taskDefinition :: TaskDefinition
+ Network.AWS.ECS: taskOverride :: TaskOverride
+ Network.AWS.ECS: tasksRunning :: Wait DescribeTasks
+ Network.AWS.ECS: tasksStopped :: Wait DescribeTasks
+ Network.AWS.ECS: tdContainerDefinitions :: Lens' TaskDefinition [ContainerDefinition]
+ Network.AWS.ECS: tdFamily :: Lens' TaskDefinition (Maybe Text)
+ Network.AWS.ECS: tdRevision :: Lens' TaskDefinition (Maybe Int)
+ Network.AWS.ECS: tdStatus :: Lens' TaskDefinition (Maybe TaskDefinitionStatus)
+ Network.AWS.ECS: tdTaskDefinitionARN :: Lens' TaskDefinition (Maybe Text)
+ Network.AWS.ECS: tdVolumes :: Lens' TaskDefinition [Volume]
+ Network.AWS.ECS: toContainerOverrides :: Lens' TaskOverride [ContainerOverride]
+ Network.AWS.ECS: vHost :: Lens' Volume (Maybe HostVolumeProperties)
+ Network.AWS.ECS: vName :: Lens' Volume (Maybe Text)
+ Network.AWS.ECS: versionInfo :: VersionInfo
+ Network.AWS.ECS: vfReadOnly :: Lens' VolumeFrom (Maybe Bool)
+ Network.AWS.ECS: vfSourceContainer :: Lens' VolumeFrom (Maybe Text)
+ Network.AWS.ECS: viAgentHash :: Lens' VersionInfo (Maybe Text)
+ Network.AWS.ECS: viAgentVersion :: Lens' VersionInfo (Maybe Text)
+ Network.AWS.ECS: viDockerVersion :: Lens' VersionInfo (Maybe Text)
+ Network.AWS.ECS: volume :: Volume
+ Network.AWS.ECS: volumeFrom :: VolumeFrom
+ Network.AWS.ECS.CreateCluster: ccrsCluster :: Lens' CreateClusterResponse (Maybe Cluster)
+ Network.AWS.ECS.CreateCluster: ccrsStatus :: Lens' CreateClusterResponse Int
+ Network.AWS.ECS.CreateCluster: instance Constructor C1_0CreateCluster
+ Network.AWS.ECS.CreateCluster: instance Constructor C1_0CreateClusterResponse
+ Network.AWS.ECS.CreateCluster: instance Data CreateCluster
+ Network.AWS.ECS.CreateCluster: instance Data CreateClusterResponse
+ Network.AWS.ECS.CreateCluster: instance Datatype D1CreateCluster
+ Network.AWS.ECS.CreateCluster: instance Datatype D1CreateClusterResponse
+ Network.AWS.ECS.CreateCluster: instance Generic CreateCluster
+ Network.AWS.ECS.CreateCluster: instance Generic CreateClusterResponse
+ Network.AWS.ECS.CreateCluster: instance Selector S1_0_0CreateCluster
+ Network.AWS.ECS.CreateCluster: instance Selector S1_0_0CreateClusterResponse
+ Network.AWS.ECS.CreateCluster: instance Selector S1_0_1CreateClusterResponse
+ Network.AWS.ECS.CreateCluster: instance Typeable CreateCluster
+ Network.AWS.ECS.CreateCluster: instance Typeable CreateClusterResponse
+ Network.AWS.ECS.CreateService: cClientToken :: Lens' CreateService (Maybe Text)
+ Network.AWS.ECS.CreateService: cCluster :: Lens' CreateService (Maybe Text)
+ Network.AWS.ECS.CreateService: cDesiredCount :: Lens' CreateService Int
+ Network.AWS.ECS.CreateService: cLoadBalancers :: Lens' CreateService [LoadBalancer]
+ Network.AWS.ECS.CreateService: cRole :: Lens' CreateService (Maybe Text)
+ Network.AWS.ECS.CreateService: cServiceName :: Lens' CreateService Text
+ Network.AWS.ECS.CreateService: cTaskDefinition :: Lens' CreateService Text
+ Network.AWS.ECS.CreateService: csrsService :: Lens' CreateServiceResponse (Maybe ContainerService)
+ Network.AWS.ECS.CreateService: csrsStatus :: Lens' CreateServiceResponse Int
+ Network.AWS.ECS.CreateService: instance Constructor C1_0CreateService
+ Network.AWS.ECS.CreateService: instance Constructor C1_0CreateServiceResponse
+ Network.AWS.ECS.CreateService: instance Data CreateService
+ Network.AWS.ECS.CreateService: instance Data CreateServiceResponse
+ Network.AWS.ECS.CreateService: instance Datatype D1CreateService
+ Network.AWS.ECS.CreateService: instance Datatype D1CreateServiceResponse
+ Network.AWS.ECS.CreateService: instance Generic CreateService
+ Network.AWS.ECS.CreateService: instance Generic CreateServiceResponse
+ Network.AWS.ECS.CreateService: instance Selector S1_0_0CreateService
+ Network.AWS.ECS.CreateService: instance Selector S1_0_0CreateServiceResponse
+ Network.AWS.ECS.CreateService: instance Selector S1_0_1CreateService
+ Network.AWS.ECS.CreateService: instance Selector S1_0_1CreateServiceResponse
+ Network.AWS.ECS.CreateService: instance Selector S1_0_2CreateService
+ Network.AWS.ECS.CreateService: instance Selector S1_0_3CreateService
+ Network.AWS.ECS.CreateService: instance Selector S1_0_4CreateService
+ Network.AWS.ECS.CreateService: instance Selector S1_0_5CreateService
+ Network.AWS.ECS.CreateService: instance Selector S1_0_6CreateService
+ Network.AWS.ECS.CreateService: instance Typeable CreateService
+ Network.AWS.ECS.CreateService: instance Typeable CreateServiceResponse
+ Network.AWS.ECS.DeleteCluster: drsCluster :: Lens' DeleteClusterResponse (Maybe Cluster)
+ Network.AWS.ECS.DeleteCluster: drsStatus :: Lens' DeleteClusterResponse Int
+ Network.AWS.ECS.DeleteCluster: instance Constructor C1_0DeleteCluster
+ Network.AWS.ECS.DeleteCluster: instance Constructor C1_0DeleteClusterResponse
+ Network.AWS.ECS.DeleteCluster: instance Data DeleteCluster
+ Network.AWS.ECS.DeleteCluster: instance Data DeleteClusterResponse
+ Network.AWS.ECS.DeleteCluster: instance Datatype D1DeleteCluster
+ Network.AWS.ECS.DeleteCluster: instance Datatype D1DeleteClusterResponse
+ Network.AWS.ECS.DeleteCluster: instance Generic DeleteCluster
+ Network.AWS.ECS.DeleteCluster: instance Generic DeleteClusterResponse
+ Network.AWS.ECS.DeleteCluster: instance Selector S1_0_0DeleteCluster
+ Network.AWS.ECS.DeleteCluster: instance Selector S1_0_0DeleteClusterResponse
+ Network.AWS.ECS.DeleteCluster: instance Selector S1_0_1DeleteClusterResponse
+ Network.AWS.ECS.DeleteCluster: instance Typeable DeleteCluster
+ Network.AWS.ECS.DeleteCluster: instance Typeable DeleteClusterResponse
+ Network.AWS.ECS.DeleteService: dsrsService :: Lens' DeleteServiceResponse (Maybe ContainerService)
+ Network.AWS.ECS.DeleteService: dsrsStatus :: Lens' DeleteServiceResponse Int
+ Network.AWS.ECS.DeleteService: instance Constructor C1_0DeleteService
+ Network.AWS.ECS.DeleteService: instance Constructor C1_0DeleteServiceResponse
+ Network.AWS.ECS.DeleteService: instance Data DeleteService
+ Network.AWS.ECS.DeleteService: instance Data DeleteServiceResponse
+ Network.AWS.ECS.DeleteService: instance Datatype D1DeleteService
+ Network.AWS.ECS.DeleteService: instance Datatype D1DeleteServiceResponse
+ Network.AWS.ECS.DeleteService: instance Generic DeleteService
+ Network.AWS.ECS.DeleteService: instance Generic DeleteServiceResponse
+ Network.AWS.ECS.DeleteService: instance Selector S1_0_0DeleteService
+ Network.AWS.ECS.DeleteService: instance Selector S1_0_0DeleteServiceResponse
+ Network.AWS.ECS.DeleteService: instance Selector S1_0_1DeleteService
+ Network.AWS.ECS.DeleteService: instance Selector S1_0_1DeleteServiceResponse
+ Network.AWS.ECS.DeleteService: instance Typeable DeleteService
+ Network.AWS.ECS.DeleteService: instance Typeable DeleteServiceResponse
+ Network.AWS.ECS.DeregisterContainerInstance: dcirsContainerInstance :: Lens' DeregisterContainerInstanceResponse (Maybe ContainerInstance)
+ Network.AWS.ECS.DeregisterContainerInstance: dcirsStatus :: Lens' DeregisterContainerInstanceResponse Int
+ Network.AWS.ECS.DeregisterContainerInstance: derCluster :: Lens' DeregisterContainerInstance (Maybe Text)
+ Network.AWS.ECS.DeregisterContainerInstance: derContainerInstance :: Lens' DeregisterContainerInstance Text
+ Network.AWS.ECS.DeregisterContainerInstance: derForce :: Lens' DeregisterContainerInstance (Maybe Bool)
+ Network.AWS.ECS.DeregisterContainerInstance: instance Constructor C1_0DeregisterContainerInstance
+ Network.AWS.ECS.DeregisterContainerInstance: instance Constructor C1_0DeregisterContainerInstanceResponse
+ Network.AWS.ECS.DeregisterContainerInstance: instance Data DeregisterContainerInstance
+ Network.AWS.ECS.DeregisterContainerInstance: instance Data DeregisterContainerInstanceResponse
+ Network.AWS.ECS.DeregisterContainerInstance: instance Datatype D1DeregisterContainerInstance
+ Network.AWS.ECS.DeregisterContainerInstance: instance Datatype D1DeregisterContainerInstanceResponse
+ Network.AWS.ECS.DeregisterContainerInstance: instance Generic DeregisterContainerInstance
+ Network.AWS.ECS.DeregisterContainerInstance: instance Generic DeregisterContainerInstanceResponse
+ Network.AWS.ECS.DeregisterContainerInstance: instance Selector S1_0_0DeregisterContainerInstance
+ Network.AWS.ECS.DeregisterContainerInstance: instance Selector S1_0_0DeregisterContainerInstanceResponse
+ Network.AWS.ECS.DeregisterContainerInstance: instance Selector S1_0_1DeregisterContainerInstance
+ Network.AWS.ECS.DeregisterContainerInstance: instance Selector S1_0_1DeregisterContainerInstanceResponse
+ Network.AWS.ECS.DeregisterContainerInstance: instance Selector S1_0_2DeregisterContainerInstance
+ Network.AWS.ECS.DeregisterContainerInstance: instance Typeable DeregisterContainerInstance
+ Network.AWS.ECS.DeregisterContainerInstance: instance Typeable DeregisterContainerInstanceResponse
+ Network.AWS.ECS.DeregisterTaskDefinition: derTaskDefinition :: Lens' DeregisterTaskDefinition Text
+ Network.AWS.ECS.DeregisterTaskDefinition: dtdrsStatus :: Lens' DeregisterTaskDefinitionResponse Int
+ Network.AWS.ECS.DeregisterTaskDefinition: dtdrsTaskDefinition :: Lens' DeregisterTaskDefinitionResponse (Maybe TaskDefinition)
+ Network.AWS.ECS.DeregisterTaskDefinition: instance Constructor C1_0DeregisterTaskDefinition
+ Network.AWS.ECS.DeregisterTaskDefinition: instance Constructor C1_0DeregisterTaskDefinitionResponse
+ Network.AWS.ECS.DeregisterTaskDefinition: instance Data DeregisterTaskDefinition
+ Network.AWS.ECS.DeregisterTaskDefinition: instance Data DeregisterTaskDefinitionResponse
+ Network.AWS.ECS.DeregisterTaskDefinition: instance Datatype D1DeregisterTaskDefinition
+ Network.AWS.ECS.DeregisterTaskDefinition: instance Datatype D1DeregisterTaskDefinitionResponse
+ Network.AWS.ECS.DeregisterTaskDefinition: instance Generic DeregisterTaskDefinition
+ Network.AWS.ECS.DeregisterTaskDefinition: instance Generic DeregisterTaskDefinitionResponse
+ Network.AWS.ECS.DeregisterTaskDefinition: instance Selector S1_0_0DeregisterTaskDefinition
+ Network.AWS.ECS.DeregisterTaskDefinition: instance Selector S1_0_0DeregisterTaskDefinitionResponse
+ Network.AWS.ECS.DeregisterTaskDefinition: instance Selector S1_0_1DeregisterTaskDefinitionResponse
+ Network.AWS.ECS.DeregisterTaskDefinition: instance Typeable DeregisterTaskDefinition
+ Network.AWS.ECS.DeregisterTaskDefinition: instance Typeable DeregisterTaskDefinitionResponse
+ Network.AWS.ECS.DescribeClusters: dcrsClusters :: Lens' DescribeClustersResponse [Cluster]
+ Network.AWS.ECS.DescribeClusters: dcrsFailures :: Lens' DescribeClustersResponse [Failure]
+ Network.AWS.ECS.DescribeClusters: dcrsStatus :: Lens' DescribeClustersResponse Int
+ Network.AWS.ECS.DescribeClusters: instance Constructor C1_0DescribeClusters
+ Network.AWS.ECS.DescribeClusters: instance Constructor C1_0DescribeClustersResponse
+ Network.AWS.ECS.DescribeClusters: instance Data DescribeClusters
+ Network.AWS.ECS.DescribeClusters: instance Data DescribeClustersResponse
+ Network.AWS.ECS.DescribeClusters: instance Datatype D1DescribeClusters
+ Network.AWS.ECS.DescribeClusters: instance Datatype D1DescribeClustersResponse
+ Network.AWS.ECS.DescribeClusters: instance Generic DescribeClusters
+ Network.AWS.ECS.DescribeClusters: instance Generic DescribeClustersResponse
+ Network.AWS.ECS.DescribeClusters: instance Selector S1_0_0DescribeClusters
+ Network.AWS.ECS.DescribeClusters: instance Selector S1_0_0DescribeClustersResponse
+ Network.AWS.ECS.DescribeClusters: instance Selector S1_0_1DescribeClustersResponse
+ Network.AWS.ECS.DescribeClusters: instance Selector S1_0_2DescribeClustersResponse
+ Network.AWS.ECS.DescribeClusters: instance Typeable DescribeClusters
+ Network.AWS.ECS.DescribeClusters: instance Typeable DescribeClustersResponse
+ Network.AWS.ECS.DescribeContainerInstances: dcisrsContainerInstances :: Lens' DescribeContainerInstancesResponse [ContainerInstance]
+ Network.AWS.ECS.DescribeContainerInstances: dcisrsFailures :: Lens' DescribeContainerInstancesResponse [Failure]
+ Network.AWS.ECS.DescribeContainerInstances: dcisrsStatus :: Lens' DescribeContainerInstancesResponse Int
+ Network.AWS.ECS.DescribeContainerInstances: instance Constructor C1_0DescribeContainerInstances
+ Network.AWS.ECS.DescribeContainerInstances: instance Constructor C1_0DescribeContainerInstancesResponse
+ Network.AWS.ECS.DescribeContainerInstances: instance Data DescribeContainerInstances
+ Network.AWS.ECS.DescribeContainerInstances: instance Data DescribeContainerInstancesResponse
+ Network.AWS.ECS.DescribeContainerInstances: instance Datatype D1DescribeContainerInstances
+ Network.AWS.ECS.DescribeContainerInstances: instance Datatype D1DescribeContainerInstancesResponse
+ Network.AWS.ECS.DescribeContainerInstances: instance Generic DescribeContainerInstances
+ Network.AWS.ECS.DescribeContainerInstances: instance Generic DescribeContainerInstancesResponse
+ Network.AWS.ECS.DescribeContainerInstances: instance Selector S1_0_0DescribeContainerInstances
+ Network.AWS.ECS.DescribeContainerInstances: instance Selector S1_0_0DescribeContainerInstancesResponse
+ Network.AWS.ECS.DescribeContainerInstances: instance Selector S1_0_1DescribeContainerInstances
+ Network.AWS.ECS.DescribeContainerInstances: instance Selector S1_0_1DescribeContainerInstancesResponse
+ Network.AWS.ECS.DescribeContainerInstances: instance Selector S1_0_2DescribeContainerInstancesResponse
+ Network.AWS.ECS.DescribeContainerInstances: instance Typeable DescribeContainerInstances
+ Network.AWS.ECS.DescribeContainerInstances: instance Typeable DescribeContainerInstancesResponse
+ Network.AWS.ECS.DescribeServices: dCluster :: Lens' DescribeServices (Maybe Text)
+ Network.AWS.ECS.DescribeServices: dServices :: Lens' DescribeServices [Text]
+ Network.AWS.ECS.DescribeServices: dssrsFailures :: Lens' DescribeServicesResponse [Failure]
+ Network.AWS.ECS.DescribeServices: dssrsServices :: Lens' DescribeServicesResponse [ContainerService]
+ Network.AWS.ECS.DescribeServices: dssrsStatus :: Lens' DescribeServicesResponse Int
+ Network.AWS.ECS.DescribeServices: instance Constructor C1_0DescribeServices
+ Network.AWS.ECS.DescribeServices: instance Constructor C1_0DescribeServicesResponse
+ Network.AWS.ECS.DescribeServices: instance Data DescribeServices
+ Network.AWS.ECS.DescribeServices: instance Data DescribeServicesResponse
+ Network.AWS.ECS.DescribeServices: instance Datatype D1DescribeServices
+ Network.AWS.ECS.DescribeServices: instance Datatype D1DescribeServicesResponse
+ Network.AWS.ECS.DescribeServices: instance Generic DescribeServices
+ Network.AWS.ECS.DescribeServices: instance Generic DescribeServicesResponse
+ Network.AWS.ECS.DescribeServices: instance Selector S1_0_0DescribeServices
+ Network.AWS.ECS.DescribeServices: instance Selector S1_0_0DescribeServicesResponse
+ Network.AWS.ECS.DescribeServices: instance Selector S1_0_1DescribeServices
+ Network.AWS.ECS.DescribeServices: instance Selector S1_0_1DescribeServicesResponse
+ Network.AWS.ECS.DescribeServices: instance Selector S1_0_2DescribeServicesResponse
+ Network.AWS.ECS.DescribeServices: instance Typeable DescribeServices
+ Network.AWS.ECS.DescribeServices: instance Typeable DescribeServicesResponse
+ Network.AWS.ECS.DescribeTaskDefinition: desrsStatus :: Lens' DescribeTaskDefinitionResponse Int
+ Network.AWS.ECS.DescribeTaskDefinition: desrsTaskDefinition :: Lens' DescribeTaskDefinitionResponse (Maybe TaskDefinition)
+ Network.AWS.ECS.DescribeTaskDefinition: instance Constructor C1_0DescribeTaskDefinition
+ Network.AWS.ECS.DescribeTaskDefinition: instance Constructor C1_0DescribeTaskDefinitionResponse
+ Network.AWS.ECS.DescribeTaskDefinition: instance Data DescribeTaskDefinition
+ Network.AWS.ECS.DescribeTaskDefinition: instance Data DescribeTaskDefinitionResponse
+ Network.AWS.ECS.DescribeTaskDefinition: instance Datatype D1DescribeTaskDefinition
+ Network.AWS.ECS.DescribeTaskDefinition: instance Datatype D1DescribeTaskDefinitionResponse
+ Network.AWS.ECS.DescribeTaskDefinition: instance Generic DescribeTaskDefinition
+ Network.AWS.ECS.DescribeTaskDefinition: instance Generic DescribeTaskDefinitionResponse
+ Network.AWS.ECS.DescribeTaskDefinition: instance Selector S1_0_0DescribeTaskDefinition
+ Network.AWS.ECS.DescribeTaskDefinition: instance Selector S1_0_0DescribeTaskDefinitionResponse
+ Network.AWS.ECS.DescribeTaskDefinition: instance Selector S1_0_1DescribeTaskDefinitionResponse
+ Network.AWS.ECS.DescribeTaskDefinition: instance Typeable DescribeTaskDefinition
+ Network.AWS.ECS.DescribeTaskDefinition: instance Typeable DescribeTaskDefinitionResponse
+ Network.AWS.ECS.DescribeTasks: dtrsFailures :: Lens' DescribeTasksResponse [Failure]
+ Network.AWS.ECS.DescribeTasks: dtrsStatus :: Lens' DescribeTasksResponse Int
+ Network.AWS.ECS.DescribeTasks: dtrsTasks :: Lens' DescribeTasksResponse [Task]
+ Network.AWS.ECS.DescribeTasks: instance Constructor C1_0DescribeTasks
+ Network.AWS.ECS.DescribeTasks: instance Constructor C1_0DescribeTasksResponse
+ Network.AWS.ECS.DescribeTasks: instance Data DescribeTasks
+ Network.AWS.ECS.DescribeTasks: instance Data DescribeTasksResponse
+ Network.AWS.ECS.DescribeTasks: instance Datatype D1DescribeTasks
+ Network.AWS.ECS.DescribeTasks: instance Datatype D1DescribeTasksResponse
+ Network.AWS.ECS.DescribeTasks: instance Generic DescribeTasks
+ Network.AWS.ECS.DescribeTasks: instance Generic DescribeTasksResponse
+ Network.AWS.ECS.DescribeTasks: instance Selector S1_0_0DescribeTasks
+ Network.AWS.ECS.DescribeTasks: instance Selector S1_0_0DescribeTasksResponse
+ Network.AWS.ECS.DescribeTasks: instance Selector S1_0_1DescribeTasks
+ Network.AWS.ECS.DescribeTasks: instance Selector S1_0_1DescribeTasksResponse
+ Network.AWS.ECS.DescribeTasks: instance Selector S1_0_2DescribeTasksResponse
+ Network.AWS.ECS.DescribeTasks: instance Typeable DescribeTasks
+ Network.AWS.ECS.DescribeTasks: instance Typeable DescribeTasksResponse
+ Network.AWS.ECS.DiscoverPollEndpoint: dpersEndpoint :: Lens' DiscoverPollEndpointResponse (Maybe Text)
+ Network.AWS.ECS.DiscoverPollEndpoint: dpersStatus :: Lens' DiscoverPollEndpointResponse Int
+ Network.AWS.ECS.DiscoverPollEndpoint: dpersTelemetryEndpoint :: Lens' DiscoverPollEndpointResponse (Maybe Text)
+ Network.AWS.ECS.DiscoverPollEndpoint: instance Constructor C1_0DiscoverPollEndpoint
+ Network.AWS.ECS.DiscoverPollEndpoint: instance Constructor C1_0DiscoverPollEndpointResponse
+ Network.AWS.ECS.DiscoverPollEndpoint: instance Data DiscoverPollEndpoint
+ Network.AWS.ECS.DiscoverPollEndpoint: instance Data DiscoverPollEndpointResponse
+ Network.AWS.ECS.DiscoverPollEndpoint: instance Datatype D1DiscoverPollEndpoint
+ Network.AWS.ECS.DiscoverPollEndpoint: instance Datatype D1DiscoverPollEndpointResponse
+ Network.AWS.ECS.DiscoverPollEndpoint: instance Generic DiscoverPollEndpoint
+ Network.AWS.ECS.DiscoverPollEndpoint: instance Generic DiscoverPollEndpointResponse
+ Network.AWS.ECS.DiscoverPollEndpoint: instance Selector S1_0_0DiscoverPollEndpoint
+ Network.AWS.ECS.DiscoverPollEndpoint: instance Selector S1_0_0DiscoverPollEndpointResponse
+ Network.AWS.ECS.DiscoverPollEndpoint: instance Selector S1_0_1DiscoverPollEndpoint
+ Network.AWS.ECS.DiscoverPollEndpoint: instance Selector S1_0_1DiscoverPollEndpointResponse
+ Network.AWS.ECS.DiscoverPollEndpoint: instance Selector S1_0_2DiscoverPollEndpointResponse
+ Network.AWS.ECS.DiscoverPollEndpoint: instance Typeable DiscoverPollEndpoint
+ Network.AWS.ECS.DiscoverPollEndpoint: instance Typeable DiscoverPollEndpointResponse
+ Network.AWS.ECS.ListClusters: instance AWSPager ListClusters
+ Network.AWS.ECS.ListClusters: instance Constructor C1_0ListClusters
+ Network.AWS.ECS.ListClusters: instance Constructor C1_0ListClustersResponse
+ Network.AWS.ECS.ListClusters: instance Data ListClusters
+ Network.AWS.ECS.ListClusters: instance Data ListClustersResponse
+ Network.AWS.ECS.ListClusters: instance Datatype D1ListClusters
+ Network.AWS.ECS.ListClusters: instance Datatype D1ListClustersResponse
+ Network.AWS.ECS.ListClusters: instance Generic ListClusters
+ Network.AWS.ECS.ListClusters: instance Generic ListClustersResponse
+ Network.AWS.ECS.ListClusters: instance Selector S1_0_0ListClusters
+ Network.AWS.ECS.ListClusters: instance Selector S1_0_0ListClustersResponse
+ Network.AWS.ECS.ListClusters: instance Selector S1_0_1ListClusters
+ Network.AWS.ECS.ListClusters: instance Selector S1_0_1ListClustersResponse
+ Network.AWS.ECS.ListClusters: instance Selector S1_0_2ListClustersResponse
+ Network.AWS.ECS.ListClusters: instance Typeable ListClusters
+ Network.AWS.ECS.ListClusters: instance Typeable ListClustersResponse
+ Network.AWS.ECS.ListClusters: lcrsClusterARNs :: Lens' ListClustersResponse [Text]
+ Network.AWS.ECS.ListClusters: lcrsNextToken :: Lens' ListClustersResponse (Maybe Text)
+ Network.AWS.ECS.ListClusters: lcrsStatus :: Lens' ListClustersResponse Int
+ Network.AWS.ECS.ListContainerInstances: instance AWSPager ListContainerInstances
+ Network.AWS.ECS.ListContainerInstances: instance Constructor C1_0ListContainerInstances
+ Network.AWS.ECS.ListContainerInstances: instance Constructor C1_0ListContainerInstancesResponse
+ Network.AWS.ECS.ListContainerInstances: instance Data ListContainerInstances
+ Network.AWS.ECS.ListContainerInstances: instance Data ListContainerInstancesResponse
+ Network.AWS.ECS.ListContainerInstances: instance Datatype D1ListContainerInstances
+ Network.AWS.ECS.ListContainerInstances: instance Datatype D1ListContainerInstancesResponse
+ Network.AWS.ECS.ListContainerInstances: instance Generic ListContainerInstances
+ Network.AWS.ECS.ListContainerInstances: instance Generic ListContainerInstancesResponse
+ Network.AWS.ECS.ListContainerInstances: instance Selector S1_0_0ListContainerInstances
+ Network.AWS.ECS.ListContainerInstances: instance Selector S1_0_0ListContainerInstancesResponse
+ Network.AWS.ECS.ListContainerInstances: instance Selector S1_0_1ListContainerInstances
+ Network.AWS.ECS.ListContainerInstances: instance Selector S1_0_1ListContainerInstancesResponse
+ Network.AWS.ECS.ListContainerInstances: instance Selector S1_0_2ListContainerInstances
+ Network.AWS.ECS.ListContainerInstances: instance Selector S1_0_2ListContainerInstancesResponse
+ Network.AWS.ECS.ListContainerInstances: instance Typeable ListContainerInstances
+ Network.AWS.ECS.ListContainerInstances: instance Typeable ListContainerInstancesResponse
+ Network.AWS.ECS.ListContainerInstances: lcirsContainerInstanceARNs :: Lens' ListContainerInstancesResponse [Text]
+ Network.AWS.ECS.ListContainerInstances: lcirsNextToken :: Lens' ListContainerInstancesResponse (Maybe Text)
+ Network.AWS.ECS.ListContainerInstances: lcirsStatus :: Lens' ListContainerInstancesResponse Int
+ Network.AWS.ECS.ListServices: instance AWSPager ListServices
+ Network.AWS.ECS.ListServices: instance Constructor C1_0ListServices
+ Network.AWS.ECS.ListServices: instance Constructor C1_0ListServicesResponse
+ Network.AWS.ECS.ListServices: instance Data ListServices
+ Network.AWS.ECS.ListServices: instance Data ListServicesResponse
+ Network.AWS.ECS.ListServices: instance Datatype D1ListServices
+ Network.AWS.ECS.ListServices: instance Datatype D1ListServicesResponse
+ Network.AWS.ECS.ListServices: instance Generic ListServices
+ Network.AWS.ECS.ListServices: instance Generic ListServicesResponse
+ Network.AWS.ECS.ListServices: instance Selector S1_0_0ListServices
+ Network.AWS.ECS.ListServices: instance Selector S1_0_0ListServicesResponse
+ Network.AWS.ECS.ListServices: instance Selector S1_0_1ListServices
+ Network.AWS.ECS.ListServices: instance Selector S1_0_1ListServicesResponse
+ Network.AWS.ECS.ListServices: instance Selector S1_0_2ListServices
+ Network.AWS.ECS.ListServices: instance Selector S1_0_2ListServicesResponse
+ Network.AWS.ECS.ListServices: instance Typeable ListServices
+ Network.AWS.ECS.ListServices: instance Typeable ListServicesResponse
+ Network.AWS.ECS.ListServices: lsrsNextToken :: Lens' ListServicesResponse (Maybe Text)
+ Network.AWS.ECS.ListServices: lsrsServiceARNs :: Lens' ListServicesResponse [Text]
+ Network.AWS.ECS.ListServices: lsrsStatus :: Lens' ListServicesResponse Int
+ Network.AWS.ECS.ListTaskDefinitionFamilies: instance AWSPager ListTaskDefinitionFamilies
+ Network.AWS.ECS.ListTaskDefinitionFamilies: instance Constructor C1_0ListTaskDefinitionFamilies
+ Network.AWS.ECS.ListTaskDefinitionFamilies: instance Constructor C1_0ListTaskDefinitionFamiliesResponse
+ Network.AWS.ECS.ListTaskDefinitionFamilies: instance Data ListTaskDefinitionFamilies
+ Network.AWS.ECS.ListTaskDefinitionFamilies: instance Data ListTaskDefinitionFamiliesResponse
+ Network.AWS.ECS.ListTaskDefinitionFamilies: instance Datatype D1ListTaskDefinitionFamilies
+ Network.AWS.ECS.ListTaskDefinitionFamilies: instance Datatype D1ListTaskDefinitionFamiliesResponse
+ Network.AWS.ECS.ListTaskDefinitionFamilies: instance Generic ListTaskDefinitionFamilies
+ Network.AWS.ECS.ListTaskDefinitionFamilies: instance Generic ListTaskDefinitionFamiliesResponse
+ Network.AWS.ECS.ListTaskDefinitionFamilies: instance Selector S1_0_0ListTaskDefinitionFamilies
+ Network.AWS.ECS.ListTaskDefinitionFamilies: instance Selector S1_0_0ListTaskDefinitionFamiliesResponse
+ Network.AWS.ECS.ListTaskDefinitionFamilies: instance Selector S1_0_1ListTaskDefinitionFamilies
+ Network.AWS.ECS.ListTaskDefinitionFamilies: instance Selector S1_0_1ListTaskDefinitionFamiliesResponse
+ Network.AWS.ECS.ListTaskDefinitionFamilies: instance Selector S1_0_2ListTaskDefinitionFamilies
+ Network.AWS.ECS.ListTaskDefinitionFamilies: instance Selector S1_0_2ListTaskDefinitionFamiliesResponse
+ Network.AWS.ECS.ListTaskDefinitionFamilies: instance Typeable ListTaskDefinitionFamilies
+ Network.AWS.ECS.ListTaskDefinitionFamilies: instance Typeable ListTaskDefinitionFamiliesResponse
+ Network.AWS.ECS.ListTaskDefinitionFamilies: ltdfrsFamilies :: Lens' ListTaskDefinitionFamiliesResponse [Text]
+ Network.AWS.ECS.ListTaskDefinitionFamilies: ltdfrsNextToken :: Lens' ListTaskDefinitionFamiliesResponse (Maybe Text)
+ Network.AWS.ECS.ListTaskDefinitionFamilies: ltdfrsStatus :: Lens' ListTaskDefinitionFamiliesResponse Int
+ Network.AWS.ECS.ListTaskDefinitions: instance AWSPager ListTaskDefinitions
+ Network.AWS.ECS.ListTaskDefinitions: instance Constructor C1_0ListTaskDefinitions
+ Network.AWS.ECS.ListTaskDefinitions: instance Constructor C1_0ListTaskDefinitionsResponse
+ Network.AWS.ECS.ListTaskDefinitions: instance Data ListTaskDefinitions
+ Network.AWS.ECS.ListTaskDefinitions: instance Data ListTaskDefinitionsResponse
+ Network.AWS.ECS.ListTaskDefinitions: instance Datatype D1ListTaskDefinitions
+ Network.AWS.ECS.ListTaskDefinitions: instance Datatype D1ListTaskDefinitionsResponse
+ Network.AWS.ECS.ListTaskDefinitions: instance Generic ListTaskDefinitions
+ Network.AWS.ECS.ListTaskDefinitions: instance Generic ListTaskDefinitionsResponse
+ Network.AWS.ECS.ListTaskDefinitions: instance Selector S1_0_0ListTaskDefinitions
+ Network.AWS.ECS.ListTaskDefinitions: instance Selector S1_0_0ListTaskDefinitionsResponse
+ Network.AWS.ECS.ListTaskDefinitions: instance Selector S1_0_1ListTaskDefinitions
+ Network.AWS.ECS.ListTaskDefinitions: instance Selector S1_0_1ListTaskDefinitionsResponse
+ Network.AWS.ECS.ListTaskDefinitions: instance Selector S1_0_2ListTaskDefinitions
+ Network.AWS.ECS.ListTaskDefinitions: instance Selector S1_0_2ListTaskDefinitionsResponse
+ Network.AWS.ECS.ListTaskDefinitions: instance Selector S1_0_3ListTaskDefinitions
+ Network.AWS.ECS.ListTaskDefinitions: instance Selector S1_0_4ListTaskDefinitions
+ Network.AWS.ECS.ListTaskDefinitions: instance Typeable ListTaskDefinitions
+ Network.AWS.ECS.ListTaskDefinitions: instance Typeable ListTaskDefinitionsResponse
+ Network.AWS.ECS.ListTaskDefinitions: ltdSort :: Lens' ListTaskDefinitions (Maybe SortOrder)
+ Network.AWS.ECS.ListTaskDefinitions: ltdStatus :: Lens' ListTaskDefinitions (Maybe TaskDefinitionStatus)
+ Network.AWS.ECS.ListTaskDefinitions: ltdrsNextToken :: Lens' ListTaskDefinitionsResponse (Maybe Text)
+ Network.AWS.ECS.ListTaskDefinitions: ltdrsStatus :: Lens' ListTaskDefinitionsResponse Int
+ Network.AWS.ECS.ListTaskDefinitions: ltdrsTaskDefinitionARNs :: Lens' ListTaskDefinitionsResponse [Text]
+ Network.AWS.ECS.ListTasks: instance AWSPager ListTasks
+ Network.AWS.ECS.ListTasks: instance Constructor C1_0ListTasks
+ Network.AWS.ECS.ListTasks: instance Constructor C1_0ListTasksResponse
+ Network.AWS.ECS.ListTasks: instance Data ListTasks
+ Network.AWS.ECS.ListTasks: instance Data ListTasksResponse
+ Network.AWS.ECS.ListTasks: instance Datatype D1ListTasks
+ Network.AWS.ECS.ListTasks: instance Datatype D1ListTasksResponse
+ Network.AWS.ECS.ListTasks: instance Generic ListTasks
+ Network.AWS.ECS.ListTasks: instance Generic ListTasksResponse
+ Network.AWS.ECS.ListTasks: instance Selector S1_0_0ListTasks
+ Network.AWS.ECS.ListTasks: instance Selector S1_0_0ListTasksResponse
+ Network.AWS.ECS.ListTasks: instance Selector S1_0_1ListTasks
+ Network.AWS.ECS.ListTasks: instance Selector S1_0_1ListTasksResponse
+ Network.AWS.ECS.ListTasks: instance Selector S1_0_2ListTasks
+ Network.AWS.ECS.ListTasks: instance Selector S1_0_2ListTasksResponse
+ Network.AWS.ECS.ListTasks: instance Selector S1_0_3ListTasks
+ Network.AWS.ECS.ListTasks: instance Selector S1_0_4ListTasks
+ Network.AWS.ECS.ListTasks: instance Selector S1_0_5ListTasks
+ Network.AWS.ECS.ListTasks: instance Selector S1_0_6ListTasks
+ Network.AWS.ECS.ListTasks: instance Selector S1_0_7ListTasks
+ Network.AWS.ECS.ListTasks: instance Typeable ListTasks
+ Network.AWS.ECS.ListTasks: instance Typeable ListTasksResponse
+ Network.AWS.ECS.ListTasks: ltDesiredStatus :: Lens' ListTasks (Maybe DesiredStatus)
+ Network.AWS.ECS.ListTasks: ltrsNextToken :: Lens' ListTasksResponse (Maybe Text)
+ Network.AWS.ECS.ListTasks: ltrsStatus :: Lens' ListTasksResponse Int
+ Network.AWS.ECS.ListTasks: ltrsTaskARNs :: Lens' ListTasksResponse [Text]
+ Network.AWS.ECS.RegisterContainerInstance: instance Constructor C1_0RegisterContainerInstance
+ Network.AWS.ECS.RegisterContainerInstance: instance Constructor C1_0RegisterContainerInstanceResponse
+ Network.AWS.ECS.RegisterContainerInstance: instance Data RegisterContainerInstance
+ Network.AWS.ECS.RegisterContainerInstance: instance Data RegisterContainerInstanceResponse
+ Network.AWS.ECS.RegisterContainerInstance: instance Datatype D1RegisterContainerInstance
+ Network.AWS.ECS.RegisterContainerInstance: instance Datatype D1RegisterContainerInstanceResponse
+ Network.AWS.ECS.RegisterContainerInstance: instance Generic RegisterContainerInstance
+ Network.AWS.ECS.RegisterContainerInstance: instance Generic RegisterContainerInstanceResponse
+ Network.AWS.ECS.RegisterContainerInstance: instance Selector S1_0_0RegisterContainerInstance
+ Network.AWS.ECS.RegisterContainerInstance: instance Selector S1_0_0RegisterContainerInstanceResponse
+ Network.AWS.ECS.RegisterContainerInstance: instance Selector S1_0_1RegisterContainerInstance
+ Network.AWS.ECS.RegisterContainerInstance: instance Selector S1_0_1RegisterContainerInstanceResponse
+ Network.AWS.ECS.RegisterContainerInstance: instance Selector S1_0_2RegisterContainerInstance
+ Network.AWS.ECS.RegisterContainerInstance: instance Selector S1_0_3RegisterContainerInstance
+ Network.AWS.ECS.RegisterContainerInstance: instance Selector S1_0_4RegisterContainerInstance
+ Network.AWS.ECS.RegisterContainerInstance: instance Selector S1_0_5RegisterContainerInstance
+ Network.AWS.ECS.RegisterContainerInstance: instance Typeable RegisterContainerInstance
+ Network.AWS.ECS.RegisterContainerInstance: instance Typeable RegisterContainerInstanceResponse
+ Network.AWS.ECS.RegisterContainerInstance: rciContainerInstanceARN :: Lens' RegisterContainerInstance (Maybe Text)
+ Network.AWS.ECS.RegisterContainerInstance: rcirsContainerInstance :: Lens' RegisterContainerInstanceResponse (Maybe ContainerInstance)
+ Network.AWS.ECS.RegisterContainerInstance: rcirsStatus :: Lens' RegisterContainerInstanceResponse Int
+ Network.AWS.ECS.RegisterTaskDefinition: instance Constructor C1_0RegisterTaskDefinition
+ Network.AWS.ECS.RegisterTaskDefinition: instance Constructor C1_0RegisterTaskDefinitionResponse
+ Network.AWS.ECS.RegisterTaskDefinition: instance Data RegisterTaskDefinition
+ Network.AWS.ECS.RegisterTaskDefinition: instance Data RegisterTaskDefinitionResponse
+ Network.AWS.ECS.RegisterTaskDefinition: instance Datatype D1RegisterTaskDefinition
+ Network.AWS.ECS.RegisterTaskDefinition: instance Datatype D1RegisterTaskDefinitionResponse
+ Network.AWS.ECS.RegisterTaskDefinition: instance Generic RegisterTaskDefinition
+ Network.AWS.ECS.RegisterTaskDefinition: instance Generic RegisterTaskDefinitionResponse
+ Network.AWS.ECS.RegisterTaskDefinition: instance Selector S1_0_0RegisterTaskDefinition
+ Network.AWS.ECS.RegisterTaskDefinition: instance Selector S1_0_0RegisterTaskDefinitionResponse
+ Network.AWS.ECS.RegisterTaskDefinition: instance Selector S1_0_1RegisterTaskDefinition
+ Network.AWS.ECS.RegisterTaskDefinition: instance Selector S1_0_1RegisterTaskDefinitionResponse
+ Network.AWS.ECS.RegisterTaskDefinition: instance Selector S1_0_2RegisterTaskDefinition
+ Network.AWS.ECS.RegisterTaskDefinition: instance Typeable RegisterTaskDefinition
+ Network.AWS.ECS.RegisterTaskDefinition: instance Typeable RegisterTaskDefinitionResponse
+ Network.AWS.ECS.RegisterTaskDefinition: rtdrsStatus :: Lens' RegisterTaskDefinitionResponse Int
+ Network.AWS.ECS.RegisterTaskDefinition: rtdrsTaskDefinition :: Lens' RegisterTaskDefinitionResponse (Maybe TaskDefinition)
+ Network.AWS.ECS.RunTask: instance Constructor C1_0RunTask
+ Network.AWS.ECS.RunTask: instance Constructor C1_0RunTaskResponse
+ Network.AWS.ECS.RunTask: instance Data RunTask
+ Network.AWS.ECS.RunTask: instance Data RunTaskResponse
+ Network.AWS.ECS.RunTask: instance Datatype D1RunTask
+ Network.AWS.ECS.RunTask: instance Datatype D1RunTaskResponse
+ Network.AWS.ECS.RunTask: instance Generic RunTask
+ Network.AWS.ECS.RunTask: instance Generic RunTaskResponse
+ Network.AWS.ECS.RunTask: instance Selector S1_0_0RunTask
+ Network.AWS.ECS.RunTask: instance Selector S1_0_0RunTaskResponse
+ Network.AWS.ECS.RunTask: instance Selector S1_0_1RunTask
+ Network.AWS.ECS.RunTask: instance Selector S1_0_1RunTaskResponse
+ Network.AWS.ECS.RunTask: instance Selector S1_0_2RunTask
+ Network.AWS.ECS.RunTask: instance Selector S1_0_2RunTaskResponse
+ Network.AWS.ECS.RunTask: instance Selector S1_0_3RunTask
+ Network.AWS.ECS.RunTask: instance Selector S1_0_4RunTask
+ Network.AWS.ECS.RunTask: instance Typeable RunTask
+ Network.AWS.ECS.RunTask: instance Typeable RunTaskResponse
+ Network.AWS.ECS.RunTask: rtrsFailures :: Lens' RunTaskResponse [Failure]
+ Network.AWS.ECS.RunTask: rtrsStatus :: Lens' RunTaskResponse Int
+ Network.AWS.ECS.RunTask: rtrsTasks :: Lens' RunTaskResponse [Task]
+ Network.AWS.ECS.StartTask: instance Constructor C1_0StartTask
+ Network.AWS.ECS.StartTask: instance Constructor C1_0StartTaskResponse
+ Network.AWS.ECS.StartTask: instance Data StartTask
+ Network.AWS.ECS.StartTask: instance Data StartTaskResponse
+ Network.AWS.ECS.StartTask: instance Datatype D1StartTask
+ Network.AWS.ECS.StartTask: instance Datatype D1StartTaskResponse
+ Network.AWS.ECS.StartTask: instance Generic StartTask
+ Network.AWS.ECS.StartTask: instance Generic StartTaskResponse
+ Network.AWS.ECS.StartTask: instance Selector S1_0_0StartTask
+ Network.AWS.ECS.StartTask: instance Selector S1_0_0StartTaskResponse
+ Network.AWS.ECS.StartTask: instance Selector S1_0_1StartTask
+ Network.AWS.ECS.StartTask: instance Selector S1_0_1StartTaskResponse
+ Network.AWS.ECS.StartTask: instance Selector S1_0_2StartTask
+ Network.AWS.ECS.StartTask: instance Selector S1_0_2StartTaskResponse
+ Network.AWS.ECS.StartTask: instance Selector S1_0_3StartTask
+ Network.AWS.ECS.StartTask: instance Selector S1_0_4StartTask
+ Network.AWS.ECS.StartTask: instance Typeable StartTask
+ Network.AWS.ECS.StartTask: instance Typeable StartTaskResponse
+ Network.AWS.ECS.StartTask: sCluster :: Lens' StartTask (Maybe Text)
+ Network.AWS.ECS.StartTask: sContainerInstances :: Lens' StartTask [Text]
+ Network.AWS.ECS.StartTask: sOverrides :: Lens' StartTask (Maybe TaskOverride)
+ Network.AWS.ECS.StartTask: sStartedBy :: Lens' StartTask (Maybe Text)
+ Network.AWS.ECS.StartTask: sTaskDefinition :: Lens' StartTask Text
+ Network.AWS.ECS.StartTask: strsFailures :: Lens' StartTaskResponse [Failure]
+ Network.AWS.ECS.StartTask: strsStatus :: Lens' StartTaskResponse Int
+ Network.AWS.ECS.StartTask: strsTasks :: Lens' StartTaskResponse [Task]
+ Network.AWS.ECS.StopTask: instance Constructor C1_0StopTask
+ Network.AWS.ECS.StopTask: instance Constructor C1_0StopTaskResponse
+ Network.AWS.ECS.StopTask: instance Data StopTask
+ Network.AWS.ECS.StopTask: instance Data StopTaskResponse
+ Network.AWS.ECS.StopTask: instance Datatype D1StopTask
+ Network.AWS.ECS.StopTask: instance Datatype D1StopTaskResponse
+ Network.AWS.ECS.StopTask: instance Generic StopTask
+ Network.AWS.ECS.StopTask: instance Generic StopTaskResponse
+ Network.AWS.ECS.StopTask: instance Selector S1_0_0StopTask
+ Network.AWS.ECS.StopTask: instance Selector S1_0_0StopTaskResponse
+ Network.AWS.ECS.StopTask: instance Selector S1_0_1StopTask
+ Network.AWS.ECS.StopTask: instance Selector S1_0_1StopTaskResponse
+ Network.AWS.ECS.StopTask: instance Typeable StopTask
+ Network.AWS.ECS.StopTask: instance Typeable StopTaskResponse
+ Network.AWS.ECS.StopTask: srsStatus :: Lens' StopTaskResponse Int
+ Network.AWS.ECS.StopTask: srsTask :: Lens' StopTaskResponse (Maybe Task)
+ Network.AWS.ECS.SubmitContainerStateChange: instance Constructor C1_0SubmitContainerStateChange
+ Network.AWS.ECS.SubmitContainerStateChange: instance Constructor C1_0SubmitContainerStateChangeResponse
+ Network.AWS.ECS.SubmitContainerStateChange: instance Data SubmitContainerStateChange
+ Network.AWS.ECS.SubmitContainerStateChange: instance Data SubmitContainerStateChangeResponse
+ Network.AWS.ECS.SubmitContainerStateChange: instance Datatype D1SubmitContainerStateChange
+ Network.AWS.ECS.SubmitContainerStateChange: instance Datatype D1SubmitContainerStateChangeResponse
+ Network.AWS.ECS.SubmitContainerStateChange: instance Generic SubmitContainerStateChange
+ Network.AWS.ECS.SubmitContainerStateChange: instance Generic SubmitContainerStateChangeResponse
+ Network.AWS.ECS.SubmitContainerStateChange: instance Selector S1_0_0SubmitContainerStateChange
+ Network.AWS.ECS.SubmitContainerStateChange: instance Selector S1_0_0SubmitContainerStateChangeResponse
+ Network.AWS.ECS.SubmitContainerStateChange: instance Selector S1_0_1SubmitContainerStateChange
+ Network.AWS.ECS.SubmitContainerStateChange: instance Selector S1_0_1SubmitContainerStateChangeResponse
+ Network.AWS.ECS.SubmitContainerStateChange: instance Selector S1_0_2SubmitContainerStateChange
+ Network.AWS.ECS.SubmitContainerStateChange: instance Selector S1_0_3SubmitContainerStateChange
+ Network.AWS.ECS.SubmitContainerStateChange: instance Selector S1_0_4SubmitContainerStateChange
+ Network.AWS.ECS.SubmitContainerStateChange: instance Selector S1_0_5SubmitContainerStateChange
+ Network.AWS.ECS.SubmitContainerStateChange: instance Selector S1_0_6SubmitContainerStateChange
+ Network.AWS.ECS.SubmitContainerStateChange: instance Typeable SubmitContainerStateChange
+ Network.AWS.ECS.SubmitContainerStateChange: instance Typeable SubmitContainerStateChangeResponse
+ Network.AWS.ECS.SubmitContainerStateChange: scscrsAcknowledgment :: Lens' SubmitContainerStateChangeResponse (Maybe Text)
+ Network.AWS.ECS.SubmitContainerStateChange: scscrsStatus :: Lens' SubmitContainerStateChangeResponse Int
+ Network.AWS.ECS.SubmitTaskStateChange: instance Constructor C1_0SubmitTaskStateChange
+ Network.AWS.ECS.SubmitTaskStateChange: instance Constructor C1_0SubmitTaskStateChangeResponse
+ Network.AWS.ECS.SubmitTaskStateChange: instance Data SubmitTaskStateChange
+ Network.AWS.ECS.SubmitTaskStateChange: instance Data SubmitTaskStateChangeResponse
+ Network.AWS.ECS.SubmitTaskStateChange: instance Datatype D1SubmitTaskStateChange
+ Network.AWS.ECS.SubmitTaskStateChange: instance Datatype D1SubmitTaskStateChangeResponse
+ Network.AWS.ECS.SubmitTaskStateChange: instance Generic SubmitTaskStateChange
+ Network.AWS.ECS.SubmitTaskStateChange: instance Generic SubmitTaskStateChangeResponse
+ Network.AWS.ECS.SubmitTaskStateChange: instance Selector S1_0_0SubmitTaskStateChange
+ Network.AWS.ECS.SubmitTaskStateChange: instance Selector S1_0_0SubmitTaskStateChangeResponse
+ Network.AWS.ECS.SubmitTaskStateChange: instance Selector S1_0_1SubmitTaskStateChange
+ Network.AWS.ECS.SubmitTaskStateChange: instance Selector S1_0_1SubmitTaskStateChangeResponse
+ Network.AWS.ECS.SubmitTaskStateChange: instance Selector S1_0_2SubmitTaskStateChange
+ Network.AWS.ECS.SubmitTaskStateChange: instance Selector S1_0_3SubmitTaskStateChange
+ Network.AWS.ECS.SubmitTaskStateChange: instance Typeable SubmitTaskStateChange
+ Network.AWS.ECS.SubmitTaskStateChange: instance Typeable SubmitTaskStateChangeResponse
+ Network.AWS.ECS.SubmitTaskStateChange: stscrsAcknowledgment :: Lens' SubmitTaskStateChangeResponse (Maybe Text)
+ Network.AWS.ECS.SubmitTaskStateChange: stscrsStatus :: Lens' SubmitTaskStateChangeResponse Int
+ Network.AWS.ECS.Types: AUSFailed :: AgentUpdateStatus
+ Network.AWS.ECS.Types: AUSPending :: AgentUpdateStatus
+ Network.AWS.ECS.Types: AUSStaged :: AgentUpdateStatus
+ Network.AWS.ECS.Types: AUSStaging :: AgentUpdateStatus
+ Network.AWS.ECS.Types: AUSUpdated :: AgentUpdateStatus
+ Network.AWS.ECS.Types: AUSUpdating :: AgentUpdateStatus
+ Network.AWS.ECS.Types: Active :: TaskDefinitionStatus
+ Network.AWS.ECS.Types: Asc :: SortOrder
+ Network.AWS.ECS.Types: Desc :: SortOrder
+ Network.AWS.ECS.Types: Inactive :: TaskDefinitionStatus
+ Network.AWS.ECS.Types: Pending :: DesiredStatus
+ Network.AWS.ECS.Types: Running :: DesiredStatus
+ Network.AWS.ECS.Types: Stopped :: DesiredStatus
+ Network.AWS.ECS.Types: TCP :: TransportProtocol
+ Network.AWS.ECS.Types: Udp :: TransportProtocol
+ Network.AWS.ECS.Types: _ClientException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.ECS.Types: _ClusterContainsContainerInstancesException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.ECS.Types: _ClusterContainsServicesException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.ECS.Types: _ClusterNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.ECS.Types: _InvalidParameterException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.ECS.Types: _MissingVersionException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.ECS.Types: _NoUpdateAvailableException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.ECS.Types: _ServerException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.ECS.Types: _ServiceNotActiveException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.ECS.Types: _ServiceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.ECS.Types: _UpdateInProgressException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.ECS.Types: cActiveServicesCount :: Lens' Cluster (Maybe Int)
+ Network.AWS.ECS.Types: cClusterARN :: Lens' Cluster (Maybe Text)
+ Network.AWS.ECS.Types: cContainerARN :: Lens' Container (Maybe Text)
+ Network.AWS.ECS.Types: cTaskARN :: Lens' Container (Maybe Text)
+ Network.AWS.ECS.Types: ciAgentUpdateStatus :: Lens' ContainerInstance (Maybe AgentUpdateStatus)
+ Network.AWS.ECS.Types: ciContainerInstanceARN :: Lens' ContainerInstance (Maybe Text)
+ Network.AWS.ECS.Types: ciVersionInfo :: Lens' ContainerInstance (Maybe VersionInfo)
+ Network.AWS.ECS.Types: coEnvironment :: Lens' ContainerOverride [KeyValuePair]
+ Network.AWS.ECS.Types: csClusterARN :: Lens' ContainerService (Maybe Text)
+ Network.AWS.ECS.Types: csRoleARN :: Lens' ContainerService (Maybe Text)
+ Network.AWS.ECS.Types: csServiceARN :: Lens' ContainerService (Maybe Text)
+ Network.AWS.ECS.Types: data AgentUpdateStatus
+ Network.AWS.ECS.Types: data DesiredStatus
+ Network.AWS.ECS.Types: data SortOrder
+ Network.AWS.ECS.Types: data TaskDefinitionStatus
+ Network.AWS.ECS.Types: data TransportProtocol
+ Network.AWS.ECS.Types: nbProtocol :: Lens' NetworkBinding (Maybe TransportProtocol)
+ Network.AWS.ECS.Types: pmProtocol :: Lens' PortMapping (Maybe TransportProtocol)
+ Network.AWS.ECS.Types: tClusterARN :: Lens' Task (Maybe Text)
+ Network.AWS.ECS.Types: tContainerInstanceARN :: Lens' Task (Maybe Text)
+ Network.AWS.ECS.Types: tTaskARN :: Lens' Task (Maybe Text)
+ Network.AWS.ECS.Types: tTaskDefinitionARN :: Lens' Task (Maybe Text)
+ Network.AWS.ECS.Types: tdStatus :: Lens' TaskDefinition (Maybe TaskDefinitionStatus)
+ Network.AWS.ECS.Types: tdTaskDefinitionARN :: Lens' TaskDefinition (Maybe Text)
+ Network.AWS.ECS.UpdateContainerAgent: data UpdateContainerAgent
+ Network.AWS.ECS.UpdateContainerAgent: data UpdateContainerAgentResponse
+ Network.AWS.ECS.UpdateContainerAgent: instance AWSRequest UpdateContainerAgent
+ Network.AWS.ECS.UpdateContainerAgent: instance Constructor C1_0UpdateContainerAgent
+ Network.AWS.ECS.UpdateContainerAgent: instance Constructor C1_0UpdateContainerAgentResponse
+ Network.AWS.ECS.UpdateContainerAgent: instance Data UpdateContainerAgent
+ Network.AWS.ECS.UpdateContainerAgent: instance Data UpdateContainerAgentResponse
+ Network.AWS.ECS.UpdateContainerAgent: instance Datatype D1UpdateContainerAgent
+ Network.AWS.ECS.UpdateContainerAgent: instance Datatype D1UpdateContainerAgentResponse
+ Network.AWS.ECS.UpdateContainerAgent: instance Eq UpdateContainerAgent
+ Network.AWS.ECS.UpdateContainerAgent: instance Eq UpdateContainerAgentResponse
+ Network.AWS.ECS.UpdateContainerAgent: instance Generic UpdateContainerAgent
+ Network.AWS.ECS.UpdateContainerAgent: instance Generic UpdateContainerAgentResponse
+ Network.AWS.ECS.UpdateContainerAgent: instance Read UpdateContainerAgent
+ Network.AWS.ECS.UpdateContainerAgent: instance Read UpdateContainerAgentResponse
+ Network.AWS.ECS.UpdateContainerAgent: instance Selector S1_0_0UpdateContainerAgent
+ Network.AWS.ECS.UpdateContainerAgent: instance Selector S1_0_0UpdateContainerAgentResponse
+ Network.AWS.ECS.UpdateContainerAgent: instance Selector S1_0_1UpdateContainerAgent
+ Network.AWS.ECS.UpdateContainerAgent: instance Selector S1_0_1UpdateContainerAgentResponse
+ Network.AWS.ECS.UpdateContainerAgent: instance Show UpdateContainerAgent
+ Network.AWS.ECS.UpdateContainerAgent: instance Show UpdateContainerAgentResponse
+ Network.AWS.ECS.UpdateContainerAgent: instance ToHeaders UpdateContainerAgent
+ Network.AWS.ECS.UpdateContainerAgent: instance ToJSON UpdateContainerAgent
+ Network.AWS.ECS.UpdateContainerAgent: instance ToPath UpdateContainerAgent
+ Network.AWS.ECS.UpdateContainerAgent: instance ToQuery UpdateContainerAgent
+ Network.AWS.ECS.UpdateContainerAgent: instance Typeable UpdateContainerAgent
+ Network.AWS.ECS.UpdateContainerAgent: instance Typeable UpdateContainerAgentResponse
+ Network.AWS.ECS.UpdateContainerAgent: ucaCluster :: Lens' UpdateContainerAgent (Maybe Text)
+ Network.AWS.ECS.UpdateContainerAgent: ucaContainerInstance :: Lens' UpdateContainerAgent Text
+ Network.AWS.ECS.UpdateContainerAgent: ucarsContainerInstance :: Lens' UpdateContainerAgentResponse (Maybe ContainerInstance)
+ Network.AWS.ECS.UpdateContainerAgent: ucarsStatus :: Lens' UpdateContainerAgentResponse Int
+ Network.AWS.ECS.UpdateContainerAgent: updateContainerAgent :: Text -> UpdateContainerAgent
+ Network.AWS.ECS.UpdateContainerAgent: updateContainerAgentResponse :: Int -> UpdateContainerAgentResponse
+ Network.AWS.ECS.UpdateService: instance Constructor C1_0UpdateService
+ Network.AWS.ECS.UpdateService: instance Constructor C1_0UpdateServiceResponse
+ Network.AWS.ECS.UpdateService: instance Data UpdateService
+ Network.AWS.ECS.UpdateService: instance Data UpdateServiceResponse
+ Network.AWS.ECS.UpdateService: instance Datatype D1UpdateService
+ Network.AWS.ECS.UpdateService: instance Datatype D1UpdateServiceResponse
+ Network.AWS.ECS.UpdateService: instance Generic UpdateService
+ Network.AWS.ECS.UpdateService: instance Generic UpdateServiceResponse
+ Network.AWS.ECS.UpdateService: instance Selector S1_0_0UpdateService
+ Network.AWS.ECS.UpdateService: instance Selector S1_0_0UpdateServiceResponse
+ Network.AWS.ECS.UpdateService: instance Selector S1_0_1UpdateService
+ Network.AWS.ECS.UpdateService: instance Selector S1_0_1UpdateServiceResponse
+ Network.AWS.ECS.UpdateService: instance Selector S1_0_2UpdateService
+ Network.AWS.ECS.UpdateService: instance Selector S1_0_3UpdateService
+ Network.AWS.ECS.UpdateService: instance Typeable UpdateService
+ Network.AWS.ECS.UpdateService: instance Typeable UpdateServiceResponse
+ Network.AWS.ECS.UpdateService: usrsService :: Lens' UpdateServiceResponse (Maybe ContainerService)
+ Network.AWS.ECS.UpdateService: usrsStatus :: Lens' UpdateServiceResponse Int
+ Network.AWS.ECS.Waiters: servicesInactive :: Wait DescribeServices
+ Network.AWS.ECS.Waiters: tasksRunning :: Wait DescribeTasks
+ Network.AWS.ECS.Waiters: tasksStopped :: Wait DescribeTasks
- Network.AWS.ECS.CreateCluster: createClusterResponse :: CreateClusterResponse
+ Network.AWS.ECS.CreateCluster: createClusterResponse :: Int -> CreateClusterResponse
- Network.AWS.ECS.CreateService: createService :: Text -> CreateService
+ Network.AWS.ECS.CreateService: createService :: Text -> Text -> Int -> CreateService
- Network.AWS.ECS.CreateService: createServiceResponse :: CreateServiceResponse
+ Network.AWS.ECS.CreateService: createServiceResponse :: Int -> CreateServiceResponse
- Network.AWS.ECS.DeleteCluster: deleteClusterResponse :: DeleteClusterResponse
+ Network.AWS.ECS.DeleteCluster: deleteClusterResponse :: Int -> DeleteClusterResponse
- Network.AWS.ECS.DeleteService: deleteServiceResponse :: DeleteServiceResponse
+ Network.AWS.ECS.DeleteService: deleteServiceResponse :: Int -> DeleteServiceResponse
- Network.AWS.ECS.DeregisterContainerInstance: deregisterContainerInstanceResponse :: DeregisterContainerInstanceResponse
+ Network.AWS.ECS.DeregisterContainerInstance: deregisterContainerInstanceResponse :: Int -> DeregisterContainerInstanceResponse
- Network.AWS.ECS.DeregisterTaskDefinition: deregisterTaskDefinitionResponse :: DeregisterTaskDefinitionResponse
+ Network.AWS.ECS.DeregisterTaskDefinition: deregisterTaskDefinitionResponse :: Int -> DeregisterTaskDefinitionResponse
- Network.AWS.ECS.DescribeClusters: describeClustersResponse :: DescribeClustersResponse
+ Network.AWS.ECS.DescribeClusters: describeClustersResponse :: Int -> DescribeClustersResponse
- Network.AWS.ECS.DescribeContainerInstances: describeContainerInstancesResponse :: DescribeContainerInstancesResponse
+ Network.AWS.ECS.DescribeContainerInstances: describeContainerInstancesResponse :: Int -> DescribeContainerInstancesResponse
- Network.AWS.ECS.DescribeServices: describeServicesResponse :: DescribeServicesResponse
+ Network.AWS.ECS.DescribeServices: describeServicesResponse :: Int -> DescribeServicesResponse
- Network.AWS.ECS.DescribeTaskDefinition: describeTaskDefinitionResponse :: DescribeTaskDefinitionResponse
+ Network.AWS.ECS.DescribeTaskDefinition: describeTaskDefinitionResponse :: Int -> DescribeTaskDefinitionResponse
- Network.AWS.ECS.DescribeTasks: describeTasksResponse :: DescribeTasksResponse
+ Network.AWS.ECS.DescribeTasks: describeTasksResponse :: Int -> DescribeTasksResponse
- Network.AWS.ECS.DiscoverPollEndpoint: discoverPollEndpointResponse :: DiscoverPollEndpointResponse
+ Network.AWS.ECS.DiscoverPollEndpoint: discoverPollEndpointResponse :: Int -> DiscoverPollEndpointResponse
- Network.AWS.ECS.ListClusters: listClustersResponse :: ListClustersResponse
+ Network.AWS.ECS.ListClusters: listClustersResponse :: Int -> ListClustersResponse
- Network.AWS.ECS.ListContainerInstances: listContainerInstancesResponse :: ListContainerInstancesResponse
+ Network.AWS.ECS.ListContainerInstances: listContainerInstancesResponse :: Int -> ListContainerInstancesResponse
- Network.AWS.ECS.ListServices: listServicesResponse :: ListServicesResponse
+ Network.AWS.ECS.ListServices: listServicesResponse :: Int -> ListServicesResponse
- Network.AWS.ECS.ListTaskDefinitionFamilies: listTaskDefinitionFamiliesResponse :: ListTaskDefinitionFamiliesResponse
+ Network.AWS.ECS.ListTaskDefinitionFamilies: listTaskDefinitionFamiliesResponse :: Int -> ListTaskDefinitionFamiliesResponse
- Network.AWS.ECS.ListTaskDefinitions: listTaskDefinitionsResponse :: ListTaskDefinitionsResponse
+ Network.AWS.ECS.ListTaskDefinitions: listTaskDefinitionsResponse :: Int -> ListTaskDefinitionsResponse
- Network.AWS.ECS.ListTasks: listTasksResponse :: ListTasksResponse
+ Network.AWS.ECS.ListTasks: listTasksResponse :: Int -> ListTasksResponse
- Network.AWS.ECS.RegisterContainerInstance: registerContainerInstanceResponse :: RegisterContainerInstanceResponse
+ Network.AWS.ECS.RegisterContainerInstance: registerContainerInstanceResponse :: Int -> RegisterContainerInstanceResponse
- Network.AWS.ECS.RegisterTaskDefinition: registerTaskDefinitionResponse :: RegisterTaskDefinitionResponse
+ Network.AWS.ECS.RegisterTaskDefinition: registerTaskDefinitionResponse :: Int -> RegisterTaskDefinitionResponse
- Network.AWS.ECS.RunTask: runTaskResponse :: RunTaskResponse
+ Network.AWS.ECS.RunTask: runTaskResponse :: Int -> RunTaskResponse
- Network.AWS.ECS.StartTask: startTaskResponse :: StartTaskResponse
+ Network.AWS.ECS.StartTask: startTaskResponse :: Int -> StartTaskResponse
- Network.AWS.ECS.StopTask: stopTaskResponse :: StopTaskResponse
+ Network.AWS.ECS.StopTask: stopTaskResponse :: Int -> StopTaskResponse
- Network.AWS.ECS.SubmitContainerStateChange: submitContainerStateChangeResponse :: SubmitContainerStateChangeResponse
+ Network.AWS.ECS.SubmitContainerStateChange: submitContainerStateChangeResponse :: Int -> SubmitContainerStateChangeResponse
- Network.AWS.ECS.SubmitTaskStateChange: submitTaskStateChangeResponse :: SubmitTaskStateChangeResponse
+ Network.AWS.ECS.SubmitTaskStateChange: submitTaskStateChangeResponse :: Int -> SubmitTaskStateChangeResponse
- Network.AWS.ECS.UpdateService: updateServiceResponse :: UpdateServiceResponse
+ Network.AWS.ECS.UpdateService: updateServiceResponse :: Int -> UpdateServiceResponse

Files

README.md view
@@ -1,29 +1,44 @@ # Amazon EC2 Container Service SDK -> _Warning:_ This is an experimental preview release which is still under heavy development and not intended for public consumption, _caveat emptor_!-+* [Version](#version) * [Description](#description) * [Contribute](#contribute) * [Licence](#licence) ++## Version++`1.0.0`++ ## Description -Amazon EC2 Container Service is a highly scalable, high performance container-management service that supports Docker containers and allows you to easily-run distributed applications on a managed cluster of Amazon EC2 instances.-Amazon EC2 Container Service lets you launch and stop container-enabled-applications with simple API calls, allows you to query the state of your-cluster from a centralized service, and gives you access to many familiar-Amazon EC2 features like security groups, EBS volumes and IAM roles. You can-use EC2 Container Service to schedule the placement of containers across your-cluster based on your resource needs, isolation policies, and availability-requirements. Amazon EC2 Container Service eliminates the need for you to-operate your own cluster management and configuration management systems or-worry about scaling your management infrastructure.+Amazon EC2 Container Service (Amazon ECS) is a highly scalable, fast,+container management service that makes it easy to run, stop, and manage+Docker containers on a cluster of Amazon EC2 instances. Amazon ECS lets+you launch and stop container-enabled applications with simple API+calls, allows you to get the state of your cluster from a centralized+service, and gives you access to many familiar Amazon EC2 features like+security groups, Amazon EBS volumes, and IAM roles. +You can use Amazon ECS to schedule the placement of containers across+your cluster based on your resource needs, isolation policies, and+availability requirements. Amazon EC2 Container Service eliminates the+need for you to operate your own cluster management and configuration+management systems or worry about scaling your management+infrastructure.+ Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-ecs) and the [AWS API Reference](http://docs.aws.amazon.com/AmazonECS/latest/APIReference/Welcome.html). +The types from this library are intended to be used with [amazonka](http://hackage.haskell.org/package/amazonka),+which provides mechanisms for specifying AuthN/AuthZ information and sending requests.++Use of lenses is required for constructing and manipulating types.+This is due to the amount of nesting of AWS types and transparency regarding+de/serialisation into more palatable Haskell values.+The provided lenses should be compatible with any of the major lens libraries+[lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core).  ## Contribute 
amazonka-ecs.cabal view
@@ -1,36 +1,46 @@ name:                  amazonka-ecs-version:               0.3.6+version:               1.0.0 synopsis:              Amazon EC2 Container Service SDK. homepage:              https://github.com/brendanhay/amazonka license:               OtherLicense license-file:          LICENSE author:                Brendan Hay maintainer:            Brendan Hay <brendan.g.hay@gmail.com>-copyright:             Copyright (c) 2013-2014 Brendan Hay+copyright:             Copyright (c) 2013-2015 Brendan Hay category:              Network, AWS, Cloud, Distributed Computing build-type:            Simple extra-source-files:    README.md cabal-version:         >= 1.10  description:-    Amazon EC2 Container Service is a highly scalable, high performance container-    management service that supports Docker containers and allows you to easily-    run distributed applications on a managed cluster of Amazon EC2 instances.-    Amazon EC2 Container Service lets you launch and stop container-enabled-    applications with simple API calls, allows you to query the state of your-    cluster from a centralized service, and gives you access to many familiar-    Amazon EC2 features like security groups, EBS volumes and IAM roles. You can-    use EC2 Container Service to schedule the placement of containers across your-    cluster based on your resource needs, isolation policies, and availability-    requirements. Amazon EC2 Container Service eliminates the need for you to-    operate your own cluster management and configuration management systems or-    worry about scaling your management infrastructure.+    Amazon EC2 Container Service (Amazon ECS) is a highly scalable, fast,+    container management service that makes it easy to run, stop, and manage+    Docker containers on a cluster of Amazon EC2 instances. Amazon ECS lets+    you launch and stop container-enabled applications with simple API+    calls, allows you to get the state of your cluster from a centralized+    service, and gives you access to many familiar Amazon EC2 features like+    security groups, Amazon EBS volumes, and IAM roles. +    You can use Amazon ECS to schedule the placement of containers across+    your cluster based on your resource needs, isolation policies, and+    availability requirements. Amazon EC2 Container Service eliminates the+    need for you to operate your own cluster management and configuration+    management systems or worry about scaling your management+    infrastructure.     .-    /See:/ <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/Welcome.html AWS API Reference>+    The types from this library are intended to be used with+    <http://hackage.haskell.org/package/amazonka amazonka>, which provides+    mechanisms for specifying AuthN/AuthZ information and sending requests.     .-    /Warning:/ This is an experimental preview release which is still under-    heavy development and not intended for public consumption, caveat emptor!+    Use of lenses is required for constructing and manipulating types.+    This is due to the amount of nesting of AWS types and transparency regarding+    de/serialisation into more palatable Haskell values.+    The provided lenses should be compatible with any of the major lens libraries+    such as <http://hackage.haskell.org/package/lens lens> or+    <http://hackage.haskell.org/package/lens-family-core lens-family-core>.+    .+    See "Network.AWS.ECS" and the <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/Welcome.html AWS API Reference>+    to get started.  source-repository head     type:     git@@ -70,10 +80,42 @@         , Network.AWS.ECS.SubmitContainerStateChange         , Network.AWS.ECS.SubmitTaskStateChange         , Network.AWS.ECS.Types+        , Network.AWS.ECS.UpdateContainerAgent         , Network.AWS.ECS.UpdateService+        , Network.AWS.ECS.Waiters      other-modules:+          Network.AWS.ECS.Types.Product+        , Network.AWS.ECS.Types.Sum      build-depends:-          amazonka-core == 0.3.6.*+          amazonka-core == 1.0.0.*         , base          >= 4.7     && < 5++test-suite amazonka-ecs-test+    type:              exitcode-stdio-1.0+    default-language:  Haskell2010+    hs-source-dirs:    test+    main-is:           Main.hs++    ghc-options:       -Wall -threaded++    -- This is not comprehensive if modules have manually been added.+    -- It exists to ensure cabal 'somewhat' detects test module changes.+    other-modules:+          Test.AWS.ECS+        , Test.AWS.Gen.ECS+        , Test.AWS.ECS.Internal++    build-depends:+          amazonka-core == 1.0.0+        , amazonka-test == 1.0.0+        , amazonka-ecs == 1.0.0+        , base+        , bytestring+        , lens+        , tasty+        , tasty-hunit+        , text+        , time+        , unordered-containers
gen/Network/AWS/ECS.hs view
@@ -1,81 +1,440 @@+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.ECS--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Amazon EC2 Container Service is a highly scalable, high performance container--- management service that supports Docker containers and allows you to easily--- run distributed applications on a managed cluster of Amazon EC2 instances.--- Amazon EC2 Container Service lets you launch and stop container-enabled--- applications with simple API calls, allows you to query the state of your--- cluster from a centralized service, and gives you access to many familiar--- Amazon EC2 features like security groups, EBS volumes and IAM roles. You can--- use EC2 Container Service to schedule the placement of containers across your--- cluster based on your resource needs, isolation policies, and availability--- requirements. Amazon EC2 Container Service eliminates the need for you to--- operate your own cluster management and configuration management systems or--- worry about scaling your management infrastructure.+-- Amazon EC2 Container Service (Amazon ECS) is a highly scalable, fast,+-- container management service that makes it easy to run, stop, and manage+-- Docker containers on a cluster of Amazon EC2 instances. Amazon ECS lets+-- you launch and stop container-enabled applications with simple API+-- calls, allows you to get the state of your cluster from a centralized+-- service, and gives you access to many familiar Amazon EC2 features like+-- security groups, Amazon EBS volumes, and IAM roles.+--+-- You can use Amazon ECS to schedule the placement of containers across+-- your cluster based on your resource needs, isolation policies, and+-- availability requirements. Amazon EC2 Container Service eliminates the+-- need for you to operate your own cluster management and configuration+-- management systems or worry about scaling your management+-- infrastructure.+--+-- /See:/ <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/Welcome.html AWS API Reference> module Network.AWS.ECS-    ( module Network.AWS.ECS.CreateCluster-    , module Network.AWS.ECS.CreateService-    , module Network.AWS.ECS.DeleteCluster-    , module Network.AWS.ECS.DeleteService-    , module Network.AWS.ECS.DeregisterContainerInstance-    , module Network.AWS.ECS.DeregisterTaskDefinition+    (+    -- * Service+      ECS++    -- * Errors+    -- $errors++    -- ** InvalidParameterException+    , _InvalidParameterException++    -- ** ServerException+    , _ServerException++    -- ** ClusterContainsServicesException+    , _ClusterContainsServicesException++    -- ** ClusterContainsContainerInstancesException+    , _ClusterContainsContainerInstancesException++    -- ** ServiceNotActiveException+    , _ServiceNotActiveException++    -- ** NoUpdateAvailableException+    , _NoUpdateAvailableException++    -- ** ClusterNotFoundException+    , _ClusterNotFoundException++    -- ** ServiceNotFoundException+    , _ServiceNotFoundException++    -- ** MissingVersionException+    , _MissingVersionException++    -- ** UpdateInProgressException+    , _UpdateInProgressException++    -- ** ClientException+    , _ClientException++    -- * Waiters+    -- $waiters++    -- ** ServicesInactive+    , servicesInactive++    -- ** TasksRunning+    , tasksRunning++    -- ** TasksStopped+    , tasksStopped++    -- * Operations+    -- $operations++    -- ** ListServices (Paginated)+    , module Network.AWS.ECS.ListServices++    -- ** DescribeClusters     , module Network.AWS.ECS.DescribeClusters-    , module Network.AWS.ECS.DescribeContainerInstances-    , module Network.AWS.ECS.DescribeServices-    , module Network.AWS.ECS.DescribeTaskDefinition-    , module Network.AWS.ECS.DescribeTasks++    -- ** DeleteService+    , module Network.AWS.ECS.DeleteService++    -- ** UpdateService+    , module Network.AWS.ECS.UpdateService++    -- ** DiscoverPollEndpoint     , module Network.AWS.ECS.DiscoverPollEndpoint-    , module Network.AWS.ECS.ListClusters-    , module Network.AWS.ECS.ListContainerInstances-    , module Network.AWS.ECS.ListServices-    , module Network.AWS.ECS.ListTaskDefinitionFamilies++    -- ** SubmitContainerStateChange+    , module Network.AWS.ECS.SubmitContainerStateChange++    -- ** StopTask+    , module Network.AWS.ECS.StopTask++    -- ** DescribeTaskDefinition+    , module Network.AWS.ECS.DescribeTaskDefinition++    -- ** SubmitTaskStateChange+    , module Network.AWS.ECS.SubmitTaskStateChange++    -- ** DescribeContainerInstances+    , module Network.AWS.ECS.DescribeContainerInstances++    -- ** DeleteCluster+    , module Network.AWS.ECS.DeleteCluster++    -- ** CreateCluster+    , module Network.AWS.ECS.CreateCluster++    -- ** ListTaskDefinitions (Paginated)     , module Network.AWS.ECS.ListTaskDefinitions++    -- ** ListTasks (Paginated)     , module Network.AWS.ECS.ListTasks-    , module Network.AWS.ECS.RegisterContainerInstance-    , module Network.AWS.ECS.RegisterTaskDefinition++    -- ** RunTask     , module Network.AWS.ECS.RunTask++    -- ** ListContainerInstances (Paginated)+    , module Network.AWS.ECS.ListContainerInstances++    -- ** RegisterContainerInstance+    , module Network.AWS.ECS.RegisterContainerInstance++    -- ** UpdateContainerAgent+    , module Network.AWS.ECS.UpdateContainerAgent++    -- ** ListTaskDefinitionFamilies (Paginated)+    , module Network.AWS.ECS.ListTaskDefinitionFamilies++    -- ** StartTask     , module Network.AWS.ECS.StartTask-    , module Network.AWS.ECS.StopTask-    , module Network.AWS.ECS.SubmitContainerStateChange-    , module Network.AWS.ECS.SubmitTaskStateChange-    , module Network.AWS.ECS.Types-    , module Network.AWS.ECS.UpdateService++    -- ** DeregisterTaskDefinition+    , module Network.AWS.ECS.DeregisterTaskDefinition++    -- ** DescribeTasks+    , module Network.AWS.ECS.DescribeTasks++    -- ** ListClusters (Paginated)+    , module Network.AWS.ECS.ListClusters++    -- ** DescribeServices+    , module Network.AWS.ECS.DescribeServices++    -- ** DeregisterContainerInstance+    , module Network.AWS.ECS.DeregisterContainerInstance++    -- ** RegisterTaskDefinition+    , module Network.AWS.ECS.RegisterTaskDefinition++    -- ** CreateService+    , module Network.AWS.ECS.CreateService++    -- * Types++    -- ** AgentUpdateStatus+    , AgentUpdateStatus (..)++    -- ** DesiredStatus+    , DesiredStatus (..)++    -- ** SortOrder+    , SortOrder (..)++    -- ** TaskDefinitionStatus+    , TaskDefinitionStatus (..)++    -- ** TransportProtocol+    , TransportProtocol (..)++    -- ** Cluster+    , Cluster+    , cluster+    , cStatus+    , cClusterARN+    , cRunningTasksCount+    , cRegisteredContainerInstancesCount+    , cPendingTasksCount+    , cClusterName+    , cActiveServicesCount++    -- ** Container+    , Container+    , container+    , cNetworkBindings+    , cContainerARN+    , cTaskARN+    , cLastStatus+    , cReason+    , cName+    , cExitCode++    -- ** ContainerDefinition+    , ContainerDefinition+    , containerDefinition+    , cdImage+    , cdCommand+    , cdVolumesFrom+    , cdEnvironment+    , cdEntryPoint+    , cdPortMappings+    , cdMemory+    , cdName+    , cdMountPoints+    , cdLinks+    , cdEssential+    , cdCpu++    -- ** ContainerInstance+    , ContainerInstance+    , containerInstance+    , ciStatus+    , ciRunningTasksCount+    , ciRemainingResources+    , ciEc2InstanceId+    , ciContainerInstanceARN+    , ciAgentConnected+    , ciVersionInfo+    , ciAgentUpdateStatus+    , ciPendingTasksCount+    , ciRegisteredResources++    -- ** ContainerOverride+    , ContainerOverride+    , containerOverride+    , coCommand+    , coEnvironment+    , coName++    -- ** ContainerService+    , ContainerService+    , containerService+    , csStatus+    , csRunningCount+    , csClusterARN+    , csDesiredCount+    , csLoadBalancers+    , csPendingCount+    , csEvents+    , csServiceName+    , csDeployments+    , csTaskDefinition+    , csServiceARN+    , csRoleARN++    -- ** Deployment+    , Deployment+    , deployment+    , dStatus+    , dRunningCount+    , dCreatedAt+    , dDesiredCount+    , dPendingCount+    , dId+    , dTaskDefinition+    , dUpdatedAt++    -- ** Failure+    , Failure+    , failure+    , fArn+    , fReason++    -- ** HostVolumeProperties+    , HostVolumeProperties+    , hostVolumeProperties+    , hvpSourcePath++    -- ** KeyValuePair+    , KeyValuePair+    , keyValuePair+    , kvpValue+    , kvpName++    -- ** LoadBalancer+    , LoadBalancer+    , loadBalancer+    , lbLoadBalancerName+    , lbContainerName+    , lbContainerPort++    -- ** MountPoint+    , MountPoint+    , mountPoint+    , mpContainerPath+    , mpSourceVolume+    , mpReadOnly++    -- ** NetworkBinding+    , NetworkBinding+    , networkBinding+    , nbBindIP+    , nbProtocol+    , nbHostPort+    , nbContainerPort++    -- ** PortMapping+    , PortMapping+    , portMapping+    , pmProtocol+    , pmHostPort+    , pmContainerPort++    -- ** Resource+    , Resource+    , resource+    , rStringSetValue+    , rIntegerValue+    , rDoubleValue+    , rLongValue+    , rName+    , rType++    -- ** ServiceEvent+    , ServiceEvent+    , serviceEvent+    , seCreatedAt+    , seId+    , seMessage++    -- ** Task+    , Task+    , task+    , tDesiredStatus+    , tClusterARN+    , tOverrides+    , tTaskARN+    , tContainerInstanceARN+    , tLastStatus+    , tContainers+    , tStartedBy+    , tTaskDefinitionARN++    -- ** TaskDefinition+    , TaskDefinition+    , taskDefinition+    , tdStatus+    , tdFamily+    , tdContainerDefinitions+    , tdTaskDefinitionARN+    , tdRevision+    , tdVolumes++    -- ** TaskOverride+    , TaskOverride+    , taskOverride+    , toContainerOverrides++    -- ** VersionInfo+    , VersionInfo+    , versionInfo+    , viAgentVersion+    , viAgentHash+    , viDockerVersion++    -- ** Volume+    , Volume+    , volume+    , vName+    , vHost++    -- ** VolumeFrom+    , VolumeFrom+    , volumeFrom+    , vfSourceContainer+    , vfReadOnly     ) where -import Network.AWS.ECS.CreateCluster-import Network.AWS.ECS.CreateService-import Network.AWS.ECS.DeleteCluster-import Network.AWS.ECS.DeleteService-import Network.AWS.ECS.DeregisterContainerInstance-import Network.AWS.ECS.DeregisterTaskDefinition-import Network.AWS.ECS.DescribeClusters-import Network.AWS.ECS.DescribeContainerInstances-import Network.AWS.ECS.DescribeServices-import Network.AWS.ECS.DescribeTaskDefinition-import Network.AWS.ECS.DescribeTasks-import Network.AWS.ECS.DiscoverPollEndpoint-import Network.AWS.ECS.ListClusters-import Network.AWS.ECS.ListContainerInstances-import Network.AWS.ECS.ListServices-import Network.AWS.ECS.ListTaskDefinitionFamilies-import Network.AWS.ECS.ListTaskDefinitions-import Network.AWS.ECS.ListTasks-import Network.AWS.ECS.RegisterContainerInstance-import Network.AWS.ECS.RegisterTaskDefinition-import Network.AWS.ECS.RunTask-import Network.AWS.ECS.StartTask-import Network.AWS.ECS.StopTask-import Network.AWS.ECS.SubmitContainerStateChange-import Network.AWS.ECS.SubmitTaskStateChange-import Network.AWS.ECS.Types-import Network.AWS.ECS.UpdateService+import           Network.AWS.ECS.CreateCluster+import           Network.AWS.ECS.CreateService+import           Network.AWS.ECS.DeleteCluster+import           Network.AWS.ECS.DeleteService+import           Network.AWS.ECS.DeregisterContainerInstance+import           Network.AWS.ECS.DeregisterTaskDefinition+import           Network.AWS.ECS.DescribeClusters+import           Network.AWS.ECS.DescribeContainerInstances+import           Network.AWS.ECS.DescribeServices+import           Network.AWS.ECS.DescribeTaskDefinition+import           Network.AWS.ECS.DescribeTasks+import           Network.AWS.ECS.DiscoverPollEndpoint+import           Network.AWS.ECS.ListClusters+import           Network.AWS.ECS.ListContainerInstances+import           Network.AWS.ECS.ListServices+import           Network.AWS.ECS.ListTaskDefinitionFamilies+import           Network.AWS.ECS.ListTaskDefinitions+import           Network.AWS.ECS.ListTasks+import           Network.AWS.ECS.RegisterContainerInstance+import           Network.AWS.ECS.RegisterTaskDefinition+import           Network.AWS.ECS.RunTask+import           Network.AWS.ECS.StartTask+import           Network.AWS.ECS.StopTask+import           Network.AWS.ECS.SubmitContainerStateChange+import           Network.AWS.ECS.SubmitTaskStateChange+import           Network.AWS.ECS.Types+import           Network.AWS.ECS.UpdateContainerAgent+import           Network.AWS.ECS.UpdateService+import           Network.AWS.ECS.Waiters++{- $errors+Error matchers are designed for use with the functions provided by+<http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.+This allows catching (and rethrowing) service specific errors returned+by 'ECS'.+-}++{- $operations+Some AWS operations return results that are incomplete and require subsequent+requests in order to obtain the entire result set. The process of sending+subsequent requests to continue where a previous request left off is called+pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to+1000 objects at a time, and you must send subsequent requests with the+appropriate Marker in order to retrieve the next page of results.++Operations that have an 'AWSPager' instance can transparently perform subsequent+requests, correctly setting Markers and other request facets to iterate through+the entire result set of a truncated API operation. Operations which support+this have an additional note in the documentation.++Many operations have the ability to filter results on the server side. See the+individual operation parameters for details.+-}++{- $waiters+Waiters poll by repeatedly sending a request until some remote success condition+configured by the 'Wait' specification is fulfilled. The 'Wait' specification+determines how many attempts should be made, in addition to delay and retry strategies.+-}
gen/Network/AWS/ECS/CreateCluster.hs view
@@ -1,114 +1,130 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.ECS.CreateCluster--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates a new Amazon ECS cluster. By default, your account will receive a 'default' cluster when you launch your first container instance. However, you can--- create your own cluster with a unique name with the 'CreateCluster' action.+-- Creates a new Amazon ECS cluster. By default, your account will receive+-- a 'default' cluster when you launch your first container instance.+-- However, you can create your own cluster with a unique name with the+-- 'CreateCluster' action. ----- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateCluster.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateCluster.html AWS API Reference> for CreateCluster. module Network.AWS.ECS.CreateCluster     (-    -- * Request-      CreateCluster-    -- ** Request constructor-    , createCluster-    -- ** Request lenses+    -- * Creating a Request+      createCluster+    , CreateCluster+    -- * Request Lenses     , ccClusterName -    -- * Response-    , CreateClusterResponse-    -- ** Response constructor+    -- * Destructuring the Response     , createClusterResponse-    -- ** Response lenses-    , ccrCluster+    , CreateClusterResponse+    -- * Response Lenses+    , ccrsCluster+    , ccrsStatus     ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.ECS.Types-import qualified GHC.Exts+import           Network.AWS.ECS.Types+import           Network.AWS.ECS.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -newtype CreateCluster = CreateCluster+-- | /See:/ 'createCluster' smart constructor.+newtype CreateCluster = CreateCluster'     { _ccClusterName :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CreateCluster' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CreateCluster' with the minimum fields required to make a request. ----- * 'ccClusterName' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ---createCluster :: CreateCluster-createCluster = CreateCluster+-- * 'ccClusterName'+createCluster+    :: CreateCluster+createCluster =+    CreateCluster'     { _ccClusterName = Nothing     } --- | The name of your cluster. If you do not specify a name for your cluster, you--- will create a cluster named 'default'. Up to 255 letters (uppercase and--- lowercase), numbers, hyphens, and underscores are allowed.+-- | The name of your cluster. If you do not specify a name for your cluster,+-- you will create a cluster named 'default'. Up to 255 letters (uppercase+-- and lowercase), numbers, hyphens, and underscores are allowed. ccClusterName :: Lens' CreateCluster (Maybe Text)-ccClusterName = lens _ccClusterName (\s a -> s { _ccClusterName = a })+ccClusterName = lens _ccClusterName (\ s a -> s{_ccClusterName = a}); -newtype CreateClusterResponse = CreateClusterResponse-    { _ccrCluster :: Maybe Cluster-    } deriving (Eq, Read, Show)+instance AWSRequest CreateCluster where+        type Sv CreateCluster = ECS+        type Rs CreateCluster = CreateClusterResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 CreateClusterResponse' <$>+                   (x .?> "cluster") <*> (pure (fromEnum s))) --- | 'CreateClusterResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'ccrCluster' @::@ 'Maybe' 'Cluster'----createClusterResponse :: CreateClusterResponse-createClusterResponse = CreateClusterResponse-    { _ccrCluster = Nothing-    }+instance ToHeaders CreateCluster where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AmazonEC2ContainerServiceV20141113.CreateCluster"+                       :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)]) --- | The full description of your new cluster.-ccrCluster :: Lens' CreateClusterResponse (Maybe Cluster)-ccrCluster = lens _ccrCluster (\s a -> s { _ccrCluster = a })+instance ToJSON CreateCluster where+        toJSON CreateCluster'{..}+          = object ["clusterName" .= _ccClusterName]  instance ToPath CreateCluster where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CreateCluster where-    toQuery = const mempty--instance ToHeaders CreateCluster+        toQuery = const mempty -instance ToJSON CreateCluster where-    toJSON CreateCluster{..} = object-        [ "clusterName" .= _ccClusterName-        ]+-- | /See:/ 'createClusterResponse' smart constructor.+data CreateClusterResponse = CreateClusterResponse'+    { _ccrsCluster :: !(Maybe Cluster)+    , _ccrsStatus  :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest CreateCluster where-    type Sv CreateCluster = ECS-    type Rs CreateCluster = CreateClusterResponse+-- | Creates a value of 'CreateClusterResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccrsCluster'+--+-- * 'ccrsStatus'+createClusterResponse+    :: Int -- ^ 'ccrsStatus'+    -> CreateClusterResponse+createClusterResponse pStatus_ =+    CreateClusterResponse'+    { _ccrsCluster = Nothing+    , _ccrsStatus = pStatus_+    } -    request  = post "CreateCluster"-    response = jsonResponse+-- | The full description of your new cluster.+ccrsCluster :: Lens' CreateClusterResponse (Maybe Cluster)+ccrsCluster = lens _ccrsCluster (\ s a -> s{_ccrsCluster = a}); -instance FromJSON CreateClusterResponse where-    parseJSON = withObject "CreateClusterResponse" $ \o -> CreateClusterResponse-        <$> o .:? "cluster"+-- | The response status code.+ccrsStatus :: Lens' CreateClusterResponse Int+ccrsStatus = lens _ccrsStatus (\ s a -> s{_ccrsStatus = a});
gen/Network/AWS/ECS/CreateService.hs view
@@ -1,186 +1,205 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.ECS.CreateService--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Runs and maintains a desired number of tasks from a specified task--- definition. If the number of tasks running in a service drops below 'desiredCount', Amazon ECS will spawn another instantiation of the task in the specified--- cluster.+-- Runs and maintains a desired number of tasks from a specified task+-- definition. If the number of tasks running in a service drops below+-- 'desiredCount', Amazon ECS will spawn another instantiation of the task+-- in the specified cluster. ----- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateService.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateService.html AWS API Reference> for CreateService. module Network.AWS.ECS.CreateService     (-    -- * Request-      CreateService-    -- ** Request constructor-    , createService-    -- ** Request lenses-    , cs1ClientToken-    , cs1Cluster-    , cs1DesiredCount-    , cs1LoadBalancers-    , cs1Role-    , cs1ServiceName-    , cs1TaskDefinition+    -- * Creating a Request+      createService+    , CreateService+    -- * Request Lenses+    , cCluster+    , cClientToken+    , cLoadBalancers+    , cRole+    , cServiceName+    , cTaskDefinition+    , cDesiredCount -    -- * Response-    , CreateServiceResponse-    -- ** Response constructor+    -- * Destructuring the Response     , createServiceResponse-    -- ** Response lenses-    , csrService+    , CreateServiceResponse+    -- * Response Lenses+    , csrsService+    , csrsStatus     ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.ECS.Types-import qualified GHC.Exts+import           Network.AWS.ECS.Types+import           Network.AWS.ECS.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data CreateService = CreateService-    { _cs1ClientToken    :: Maybe Text-    , _cs1Cluster        :: Maybe Text-    , _cs1DesiredCount   :: Maybe Int-    , _cs1LoadBalancers  :: List "loadBalancers" LoadBalancer-    , _cs1Role           :: Maybe Text-    , _cs1ServiceName    :: Text-    , _cs1TaskDefinition :: Maybe Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'createService' smart constructor.+data CreateService = CreateService'+    { _cCluster        :: !(Maybe Text)+    , _cClientToken    :: !(Maybe Text)+    , _cLoadBalancers  :: !(Maybe [LoadBalancer])+    , _cRole           :: !(Maybe Text)+    , _cServiceName    :: !Text+    , _cTaskDefinition :: !Text+    , _cDesiredCount   :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CreateService' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CreateService' with the minimum fields required to make a request. ----- * 'cs1ClientToken' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'cs1Cluster' @::@ 'Maybe' 'Text'+-- * 'cCluster' ----- * 'cs1DesiredCount' @::@ 'Maybe' 'Int'+-- * 'cClientToken' ----- * 'cs1LoadBalancers' @::@ ['LoadBalancer']+-- * 'cLoadBalancers' ----- * 'cs1Role' @::@ 'Maybe' 'Text'+-- * 'cRole' ----- * 'cs1ServiceName' @::@ 'Text'+-- * 'cServiceName' ----- * 'cs1TaskDefinition' @::@ 'Maybe' 'Text'+-- * 'cTaskDefinition' ---createService :: Text -- ^ 'cs1ServiceName'-              -> CreateService-createService p1 = CreateService-    { _cs1ServiceName    = p1-    , _cs1Cluster        = Nothing-    , _cs1TaskDefinition = Nothing-    , _cs1LoadBalancers  = mempty-    , _cs1DesiredCount   = Nothing-    , _cs1ClientToken    = Nothing-    , _cs1Role           = Nothing+-- * 'cDesiredCount'+createService+    :: Text -- ^ 'cServiceName'+    -> Text -- ^ 'cTaskDefinition'+    -> Int -- ^ 'cDesiredCount'+    -> CreateService+createService pServiceName_ pTaskDefinition_ pDesiredCount_ =+    CreateService'+    { _cCluster = Nothing+    , _cClientToken = Nothing+    , _cLoadBalancers = Nothing+    , _cRole = Nothing+    , _cServiceName = pServiceName_+    , _cTaskDefinition = pTaskDefinition_+    , _cDesiredCount = pDesiredCount_     } --- | Unique, case-sensitive identifier you provide to ensure the idempotency of--- the request. Up to 32 ASCII characters are allowed.-cs1ClientToken :: Lens' CreateService (Maybe Text)-cs1ClientToken = lens _cs1ClientToken (\s a -> s { _cs1ClientToken = a })---- | The short name or full Amazon Resource Name (ARN) of the cluster that you--- want to run your service on. If you do not specify a cluster, the default--- cluster is assumed.-cs1Cluster :: Lens' CreateService (Maybe Text)-cs1Cluster = lens _cs1Cluster (\s a -> s { _cs1Cluster = a })+-- | The short name or full Amazon Resource Name (ARN) of the cluster that+-- you want to run your service on. If you do not specify a cluster, the+-- default cluster is assumed.+cCluster :: Lens' CreateService (Maybe Text)+cCluster = lens _cCluster (\ s a -> s{_cCluster = a}); --- | The number of instantiations of the specified task definition that you would--- like to place and keep running on your cluster.-cs1DesiredCount :: Lens' CreateService (Maybe Int)-cs1DesiredCount = lens _cs1DesiredCount (\s a -> s { _cs1DesiredCount = a })+-- | Unique, case-sensitive identifier you provide to ensure the idempotency+-- of the request. Up to 32 ASCII characters are allowed.+cClientToken :: Lens' CreateService (Maybe Text)+cClientToken = lens _cClientToken (\ s a -> s{_cClientToken = a});  -- | A list of load balancer objects, containing the load balancer name, the--- container name (as it appears in a container definition), and the container--- port to access from the load balancer.-cs1LoadBalancers :: Lens' CreateService [LoadBalancer]-cs1LoadBalancers = lens _cs1LoadBalancers (\s a -> s { _cs1LoadBalancers = a }) . _List+-- container name (as it appears in a container definition), and the+-- container port to access from the load balancer.+cLoadBalancers :: Lens' CreateService [LoadBalancer]+cLoadBalancers = lens _cLoadBalancers (\ s a -> s{_cLoadBalancers = a}) . _Default . _Coerce; --- | The name or full Amazon Resource Name (ARN) of the IAM role that allows your--- Amazon ECS container agent to make calls to your load balancer on your--- behalf. This parameter is only required if you are using a load balancer with--- your service.-cs1Role :: Lens' CreateService (Maybe Text)-cs1Role = lens _cs1Role (\s a -> s { _cs1Role = a })+-- | The name or full Amazon Resource Name (ARN) of the IAM role that allows+-- your Amazon ECS container agent to make calls to your load balancer on+-- your behalf. This parameter is only required if you are using a load+-- balancer with your service.+cRole :: Lens' CreateService (Maybe Text)+cRole = lens _cRole (\ s a -> s{_cRole = a});  -- | The name of your service. Up to 255 letters (uppercase and lowercase),--- numbers, hyphens, and underscores are allowed.-cs1ServiceName :: Lens' CreateService Text-cs1ServiceName = lens _cs1ServiceName (\s a -> s { _cs1ServiceName = a })+-- numbers, hyphens, and underscores are allowed. Service names must be+-- unique within a cluster, but you can have similarly named services in+-- multiple clusters within a region or across multiple regions.+cServiceName :: Lens' CreateService Text+cServiceName = lens _cServiceName (\ s a -> s{_cServiceName = a}); --- | The 'family' and 'revision' ('family:revision') or full Amazon Resource Name (ARN)--- of the task definition that you want to run in your service.-cs1TaskDefinition :: Lens' CreateService (Maybe Text)-cs1TaskDefinition =-    lens _cs1TaskDefinition (\s a -> s { _cs1TaskDefinition = a })+-- | The 'family' and 'revision' ('family:revision') or full Amazon Resource+-- Name (ARN) of the task definition that you want to run in your service.+-- If a 'revision' is not specified, the latest 'ACTIVE' revision is used.+cTaskDefinition :: Lens' CreateService Text+cTaskDefinition = lens _cTaskDefinition (\ s a -> s{_cTaskDefinition = a}); -newtype CreateServiceResponse = CreateServiceResponse-    { _csrService :: Maybe ContainerService-    } deriving (Eq, Read, Show)+-- | The number of instantiations of the specified task definition that you+-- would like to place and keep running on your cluster.+cDesiredCount :: Lens' CreateService Int+cDesiredCount = lens _cDesiredCount (\ s a -> s{_cDesiredCount = a}); --- | 'CreateServiceResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'csrService' @::@ 'Maybe' 'ContainerService'----createServiceResponse :: CreateServiceResponse-createServiceResponse = CreateServiceResponse-    { _csrService = Nothing-    }+instance AWSRequest CreateService where+        type Sv CreateService = ECS+        type Rs CreateService = CreateServiceResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 CreateServiceResponse' <$>+                   (x .?> "service") <*> (pure (fromEnum s))) --- | The full description of your service following the create call.-csrService :: Lens' CreateServiceResponse (Maybe ContainerService)-csrService = lens _csrService (\s a -> s { _csrService = a })+instance ToHeaders CreateService where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AmazonEC2ContainerServiceV20141113.CreateService"+                       :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)]) +instance ToJSON CreateService where+        toJSON CreateService'{..}+          = object+              ["cluster" .= _cCluster,+               "clientToken" .= _cClientToken,+               "loadBalancers" .= _cLoadBalancers, "role" .= _cRole,+               "serviceName" .= _cServiceName,+               "taskDefinition" .= _cTaskDefinition,+               "desiredCount" .= _cDesiredCount]+ instance ToPath CreateService where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CreateService where-    toQuery = const mempty--instance ToHeaders CreateService+        toQuery = const mempty -instance ToJSON CreateService where-    toJSON CreateService{..} = object-        [ "cluster"        .= _cs1Cluster-        , "serviceName"    .= _cs1ServiceName-        , "taskDefinition" .= _cs1TaskDefinition-        , "loadBalancers"  .= _cs1LoadBalancers-        , "desiredCount"   .= _cs1DesiredCount-        , "clientToken"    .= _cs1ClientToken-        , "role"           .= _cs1Role-        ]+-- | /See:/ 'createServiceResponse' smart constructor.+data CreateServiceResponse = CreateServiceResponse'+    { _csrsService :: !(Maybe ContainerService)+    , _csrsStatus  :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest CreateService where-    type Sv CreateService = ECS-    type Rs CreateService = CreateServiceResponse+-- | Creates a value of 'CreateServiceResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csrsService'+--+-- * 'csrsStatus'+createServiceResponse+    :: Int -- ^ 'csrsStatus'+    -> CreateServiceResponse+createServiceResponse pStatus_ =+    CreateServiceResponse'+    { _csrsService = Nothing+    , _csrsStatus = pStatus_+    } -    request  = post "CreateService"-    response = jsonResponse+-- | The full description of your service following the create call.+csrsService :: Lens' CreateServiceResponse (Maybe ContainerService)+csrsService = lens _csrsService (\ s a -> s{_csrsService = a}); -instance FromJSON CreateServiceResponse where-    parseJSON = withObject "CreateServiceResponse" $ \o -> CreateServiceResponse-        <$> o .:? "service"+-- | The response status code.+csrsStatus :: Lens' CreateServiceResponse Int+csrsStatus = lens _csrsStatus (\ s a -> s{_csrsStatus = a});
gen/Network/AWS/ECS/DeleteCluster.hs view
@@ -1,115 +1,130 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.ECS.DeleteCluster--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the specified cluster. You must deregister all container instances--- from this cluster before you may delete it. You can list the container--- instances in a cluster with 'ListContainerInstances' and deregister them with 'DeregisterContainerInstance'.+-- Deletes the specified cluster. You must deregister all container+-- instances from this cluster before you may delete it. You can list the+-- container instances in a cluster with ListContainerInstances and+-- deregister them with DeregisterContainerInstance. ----- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeleteCluster.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeleteCluster.html AWS API Reference> for DeleteCluster. module Network.AWS.ECS.DeleteCluster     (-    -- * Request-      DeleteCluster-    -- ** Request constructor-    , deleteCluster-    -- ** Request lenses+    -- * Creating a Request+      deleteCluster+    , DeleteCluster+    -- * Request Lenses     , dcCluster -    -- * Response-    , DeleteClusterResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteClusterResponse-    -- ** Response lenses-    , dcrCluster+    , DeleteClusterResponse+    -- * Response Lenses+    , drsCluster+    , drsStatus     ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.ECS.Types-import qualified GHC.Exts+import           Network.AWS.ECS.Types+import           Network.AWS.ECS.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -newtype DeleteCluster = DeleteCluster+-- | /See:/ 'deleteCluster' smart constructor.+newtype DeleteCluster = DeleteCluster'     { _dcCluster :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteCluster' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteCluster' with the minimum fields required to make a request. ----- * 'dcCluster' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---deleteCluster :: Text -- ^ 'dcCluster'-              -> DeleteCluster-deleteCluster p1 = DeleteCluster-    { _dcCluster = p1+-- * 'dcCluster'+deleteCluster+    :: Text -- ^ 'dcCluster'+    -> DeleteCluster+deleteCluster pCluster_ =+    DeleteCluster'+    { _dcCluster = pCluster_     } --- | The short name or full Amazon Resource Name (ARN) of the cluster that you--- want to delete.+-- | The short name or full Amazon Resource Name (ARN) of the cluster that+-- you want to delete. dcCluster :: Lens' DeleteCluster Text-dcCluster = lens _dcCluster (\s a -> s { _dcCluster = a })+dcCluster = lens _dcCluster (\ s a -> s{_dcCluster = a}); -newtype DeleteClusterResponse = DeleteClusterResponse-    { _dcrCluster :: Maybe Cluster-    } deriving (Eq, Read, Show)+instance AWSRequest DeleteCluster where+        type Sv DeleteCluster = ECS+        type Rs DeleteCluster = DeleteClusterResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 DeleteClusterResponse' <$>+                   (x .?> "cluster") <*> (pure (fromEnum s))) --- | 'DeleteClusterResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dcrCluster' @::@ 'Maybe' 'Cluster'----deleteClusterResponse :: DeleteClusterResponse-deleteClusterResponse = DeleteClusterResponse-    { _dcrCluster = Nothing-    }+instance ToHeaders DeleteCluster where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AmazonEC2ContainerServiceV20141113.DeleteCluster"+                       :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)]) --- | The full description of the deleted cluster.-dcrCluster :: Lens' DeleteClusterResponse (Maybe Cluster)-dcrCluster = lens _dcrCluster (\s a -> s { _dcrCluster = a })+instance ToJSON DeleteCluster where+        toJSON DeleteCluster'{..}+          = object ["cluster" .= _dcCluster]  instance ToPath DeleteCluster where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeleteCluster where-    toQuery = const mempty--instance ToHeaders DeleteCluster+        toQuery = const mempty -instance ToJSON DeleteCluster where-    toJSON DeleteCluster{..} = object-        [ "cluster" .= _dcCluster-        ]+-- | /See:/ 'deleteClusterResponse' smart constructor.+data DeleteClusterResponse = DeleteClusterResponse'+    { _drsCluster :: !(Maybe Cluster)+    , _drsStatus  :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DeleteCluster where-    type Sv DeleteCluster = ECS-    type Rs DeleteCluster = DeleteClusterResponse+-- | Creates a value of 'DeleteClusterResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drsCluster'+--+-- * 'drsStatus'+deleteClusterResponse+    :: Int -- ^ 'drsStatus'+    -> DeleteClusterResponse+deleteClusterResponse pStatus_ =+    DeleteClusterResponse'+    { _drsCluster = Nothing+    , _drsStatus = pStatus_+    } -    request  = post "DeleteCluster"-    response = jsonResponse+-- | The full description of the deleted cluster.+drsCluster :: Lens' DeleteClusterResponse (Maybe Cluster)+drsCluster = lens _drsCluster (\ s a -> s{_drsCluster = a}); -instance FromJSON DeleteClusterResponse where-    parseJSON = withObject "DeleteClusterResponse" $ \o -> DeleteClusterResponse-        <$> o .:? "cluster"+-- | The response status code.+drsStatus :: Lens' DeleteClusterResponse Int+drsStatus = lens _drsStatus (\ s a -> s{_drsStatus = a});
gen/Network/AWS/ECS/DeleteService.hs view
@@ -1,121 +1,136 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.ECS.DeleteService--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes a specified service within a cluster.+-- Deletes a specified service within a cluster. ----- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeleteService.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeleteService.html AWS API Reference> for DeleteService. module Network.AWS.ECS.DeleteService     (-    -- * Request-      DeleteService-    -- ** Request constructor-    , deleteService-    -- ** Request lenses+    -- * Creating a Request+      deleteService+    , DeleteService+    -- * Request Lenses     , dsCluster     , dsService -    -- * Response-    , DeleteServiceResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteServiceResponse-    -- ** Response lenses-    , dsrService+    , DeleteServiceResponse+    -- * Response Lenses+    , dsrsService+    , dsrsStatus     ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.ECS.Types-import qualified GHC.Exts+import           Network.AWS.ECS.Types+import           Network.AWS.ECS.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DeleteService = DeleteService-    { _dsCluster :: Maybe Text-    , _dsService :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'deleteService' smart constructor.+data DeleteService = DeleteService'+    { _dsCluster :: !(Maybe Text)+    , _dsService :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteService' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteService' with the minimum fields required to make a request. ----- * 'dsCluster' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dsService' @::@ 'Text'+-- * 'dsCluster' ---deleteService :: Text -- ^ 'dsService'-              -> DeleteService-deleteService p1 = DeleteService-    { _dsService = p1-    , _dsCluster = Nothing+-- * 'dsService'+deleteService+    :: Text -- ^ 'dsService'+    -> DeleteService+deleteService pService_ =+    DeleteService'+    { _dsCluster = Nothing+    , _dsService = pService_     }  -- | The name of the cluster that hosts the service you want to delete. dsCluster :: Lens' DeleteService (Maybe Text)-dsCluster = lens _dsCluster (\s a -> s { _dsCluster = a })+dsCluster = lens _dsCluster (\ s a -> s{_dsCluster = a});  -- | The name of the service you want to delete. dsService :: Lens' DeleteService Text-dsService = lens _dsService (\s a -> s { _dsService = a })+dsService = lens _dsService (\ s a -> s{_dsService = a}); -newtype DeleteServiceResponse = DeleteServiceResponse-    { _dsrService :: Maybe ContainerService-    } deriving (Eq, Read, Show)+instance AWSRequest DeleteService where+        type Sv DeleteService = ECS+        type Rs DeleteService = DeleteServiceResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 DeleteServiceResponse' <$>+                   (x .?> "service") <*> (pure (fromEnum s))) --- | 'DeleteServiceResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dsrService' @::@ 'Maybe' 'ContainerService'----deleteServiceResponse :: DeleteServiceResponse-deleteServiceResponse = DeleteServiceResponse-    { _dsrService = Nothing-    }+instance ToHeaders DeleteService where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AmazonEC2ContainerServiceV20141113.DeleteService"+                       :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)]) -dsrService :: Lens' DeleteServiceResponse (Maybe ContainerService)-dsrService = lens _dsrService (\s a -> s { _dsrService = a })+instance ToJSON DeleteService where+        toJSON DeleteService'{..}+          = object+              ["cluster" .= _dsCluster, "service" .= _dsService]  instance ToPath DeleteService where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeleteService where-    toQuery = const mempty--instance ToHeaders DeleteService+        toQuery = const mempty -instance ToJSON DeleteService where-    toJSON DeleteService{..} = object-        [ "cluster" .= _dsCluster-        , "service" .= _dsService-        ]+-- | /See:/ 'deleteServiceResponse' smart constructor.+data DeleteServiceResponse = DeleteServiceResponse'+    { _dsrsService :: !(Maybe ContainerService)+    , _dsrsStatus  :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DeleteService where-    type Sv DeleteService = ECS-    type Rs DeleteService = DeleteServiceResponse+-- | Creates a value of 'DeleteServiceResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsrsService'+--+-- * 'dsrsStatus'+deleteServiceResponse+    :: Int -- ^ 'dsrsStatus'+    -> DeleteServiceResponse+deleteServiceResponse pStatus_ =+    DeleteServiceResponse'+    { _dsrsService = Nothing+    , _dsrsStatus = pStatus_+    } -    request  = post "DeleteService"-    response = jsonResponse+-- | Undocumented member.+dsrsService :: Lens' DeleteServiceResponse (Maybe ContainerService)+dsrsService = lens _dsrsService (\ s a -> s{_dsrsService = a}); -instance FromJSON DeleteServiceResponse where-    parseJSON = withObject "DeleteServiceResponse" $ \o -> DeleteServiceResponse-        <$> o .:? "service"+-- | The response status code.+dsrsStatus :: Lens' DeleteServiceResponse Int+dsrsStatus = lens _dsrsStatus (\ s a -> s{_dsrsStatus = a});
gen/Network/AWS/ECS/DeregisterContainerInstance.hs view
@@ -1,143 +1,177 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.ECS.DeregisterContainerInstance--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deregisters an Amazon ECS container instance from the specified cluster. This--- instance will no longer be available to run tasks.+-- Deregisters an Amazon ECS container instance from the specified cluster.+-- This instance will no longer be available to run tasks. ----- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeregisterContainerInstance.html>+-- If you intend to use the container instance for some other purpose after+-- deregistration, you should stop all of the tasks running on the+-- container instance before deregistration to avoid any orphaned tasks+-- from consuming resources.+--+-- Deregistering a container instance removes the instance from a cluster,+-- but it does not terminate the EC2 instance; if you are finished using+-- the instance, be sure to terminate it in the Amazon EC2 console to stop+-- billing.+--+-- When you terminate a container instance, it is automatically+-- deregistered from your cluster.+--+-- /See:/ <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeregisterContainerInstance.html AWS API Reference> for DeregisterContainerInstance. module Network.AWS.ECS.DeregisterContainerInstance     (-    -- * Request-      DeregisterContainerInstance-    -- ** Request constructor-    , deregisterContainerInstance-    -- ** Request lenses-    , dci1Cluster-    , dci1ContainerInstance-    , dci1Force+    -- * Creating a Request+      deregisterContainerInstance+    , DeregisterContainerInstance+    -- * Request Lenses+    , derCluster+    , derForce+    , derContainerInstance -    -- * Response-    , DeregisterContainerInstanceResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deregisterContainerInstanceResponse-    -- ** Response lenses-    , dcirContainerInstance+    , DeregisterContainerInstanceResponse+    -- * Response Lenses+    , dcirsContainerInstance+    , dcirsStatus     ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.ECS.Types-import qualified GHC.Exts+import           Network.AWS.ECS.Types+import           Network.AWS.ECS.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DeregisterContainerInstance = DeregisterContainerInstance-    { _dci1Cluster           :: Maybe Text-    , _dci1ContainerInstance :: Text-    , _dci1Force             :: Maybe Bool-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'deregisterContainerInstance' smart constructor.+data DeregisterContainerInstance = DeregisterContainerInstance'+    { _derCluster           :: !(Maybe Text)+    , _derForce             :: !(Maybe Bool)+    , _derContainerInstance :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeregisterContainerInstance' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeregisterContainerInstance' with the minimum fields required to make a request. ----- * 'dci1Cluster' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dci1ContainerInstance' @::@ 'Text'+-- * 'derCluster' ----- * 'dci1Force' @::@ 'Maybe' 'Bool'+-- * 'derForce' ---deregisterContainerInstance :: Text -- ^ 'dci1ContainerInstance'-                            -> DeregisterContainerInstance-deregisterContainerInstance p1 = DeregisterContainerInstance-    { _dci1ContainerInstance = p1-    , _dci1Cluster           = Nothing-    , _dci1Force             = Nothing+-- * 'derContainerInstance'+deregisterContainerInstance+    :: Text -- ^ 'derContainerInstance'+    -> DeregisterContainerInstance+deregisterContainerInstance pContainerInstance_ =+    DeregisterContainerInstance'+    { _derCluster = Nothing+    , _derForce = Nothing+    , _derContainerInstance = pContainerInstance_     } --- | The short name or full Amazon Resource Name (ARN) of the cluster that hosts--- the container instance you want to deregister. If you do not specify a--- cluster, the default cluster is assumed.-dci1Cluster :: Lens' DeregisterContainerInstance (Maybe Text)-dci1Cluster = lens _dci1Cluster (\s a -> s { _dci1Cluster = a })+-- | The short name or full Amazon Resource Name (ARN) of the cluster that+-- hosts the container instance you want to deregister. If you do not+-- specify a cluster, the default cluster is assumed.+derCluster :: Lens' DeregisterContainerInstance (Maybe Text)+derCluster = lens _derCluster (\ s a -> s{_derCluster = a}); --- | The container instance UUID or full Amazon Resource Name (ARN) of the--- container instance you want to deregister. The ARN contains the 'arn:aws:ecs'--- namespace, followed by the region of the container instance, the AWS account--- ID of the container instance owner, the 'container-instance' namespace, and--- then the container instance UUID. For example, arn:aws:ecs:/region/:/aws_account_id/:container-instance//container_instance_UUID/.-dci1ContainerInstance :: Lens' DeregisterContainerInstance Text-dci1ContainerInstance =-    lens _dci1ContainerInstance (\s a -> s { _dci1ContainerInstance = a })+-- | Force the deregistration of the container instance. If you have tasks+-- running on the container instance when you deregister it with the+-- 'force' option, these tasks remain running and they will continue to+-- pass Elastic Load Balancing load balancer health checks until you+-- terminate the instance or the tasks stop through some other means, but+-- they are orphaned (no longer monitored or accounted for by Amazon ECS).+-- If an orphaned task on your container instance is part of an Amazon ECS+-- service, then the service scheduler will start another copy of that task+-- on a different container instance if possible.+derForce :: Lens' DeregisterContainerInstance (Maybe Bool)+derForce = lens _derForce (\ s a -> s{_derForce = a}); --- | Force the deregistration of the container instance. You can use the 'force'--- parameter if you have several tasks running on a container instance and you--- don't want to run 'StopTask' for each task before deregistering the container--- instance.-dci1Force :: Lens' DeregisterContainerInstance (Maybe Bool)-dci1Force = lens _dci1Force (\s a -> s { _dci1Force = a })+-- | The container instance UUID or full Amazon Resource Name (ARN) of the+-- container instance you want to deregister. The ARN contains the+-- 'arn:aws:ecs' namespace, followed by the region of the container+-- instance, the AWS account ID of the container instance owner, the+-- 'container-instance' namespace, and then the container instance UUID.+-- For example,+-- arn:aws:ecs:/region/:/aws_account_id/:container-instance\//container_instance_UUID/.+derContainerInstance :: Lens' DeregisterContainerInstance Text+derContainerInstance = lens _derContainerInstance (\ s a -> s{_derContainerInstance = a}); -newtype DeregisterContainerInstanceResponse = DeregisterContainerInstanceResponse-    { _dcirContainerInstance :: Maybe ContainerInstance-    } deriving (Eq, Read, Show)+instance AWSRequest DeregisterContainerInstance where+        type Sv DeregisterContainerInstance = ECS+        type Rs DeregisterContainerInstance =+             DeregisterContainerInstanceResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 DeregisterContainerInstanceResponse' <$>+                   (x .?> "containerInstance") <*> (pure (fromEnum s))) --- | 'DeregisterContainerInstanceResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dcirContainerInstance' @::@ 'Maybe' 'ContainerInstance'----deregisterContainerInstanceResponse :: DeregisterContainerInstanceResponse-deregisterContainerInstanceResponse = DeregisterContainerInstanceResponse-    { _dcirContainerInstance = Nothing-    }+instance ToHeaders DeregisterContainerInstance where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AmazonEC2ContainerServiceV20141113.DeregisterContainerInstance"+                       :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)]) -dcirContainerInstance :: Lens' DeregisterContainerInstanceResponse (Maybe ContainerInstance)-dcirContainerInstance =-    lens _dcirContainerInstance (\s a -> s { _dcirContainerInstance = a })+instance ToJSON DeregisterContainerInstance where+        toJSON DeregisterContainerInstance'{..}+          = object+              ["cluster" .= _derCluster, "force" .= _derForce,+               "containerInstance" .= _derContainerInstance]  instance ToPath DeregisterContainerInstance where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeregisterContainerInstance where-    toQuery = const mempty--instance ToHeaders DeregisterContainerInstance+        toQuery = const mempty -instance ToJSON DeregisterContainerInstance where-    toJSON DeregisterContainerInstance{..} = object-        [ "cluster"           .= _dci1Cluster-        , "containerInstance" .= _dci1ContainerInstance-        , "force"             .= _dci1Force-        ]+-- | /See:/ 'deregisterContainerInstanceResponse' smart constructor.+data DeregisterContainerInstanceResponse = DeregisterContainerInstanceResponse'+    { _dcirsContainerInstance :: !(Maybe ContainerInstance)+    , _dcirsStatus            :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DeregisterContainerInstance where-    type Sv DeregisterContainerInstance = ECS-    type Rs DeregisterContainerInstance = DeregisterContainerInstanceResponse+-- | Creates a value of 'DeregisterContainerInstanceResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcirsContainerInstance'+--+-- * 'dcirsStatus'+deregisterContainerInstanceResponse+    :: Int -- ^ 'dcirsStatus'+    -> DeregisterContainerInstanceResponse+deregisterContainerInstanceResponse pStatus_ =+    DeregisterContainerInstanceResponse'+    { _dcirsContainerInstance = Nothing+    , _dcirsStatus = pStatus_+    } -    request  = post "DeregisterContainerInstance"-    response = jsonResponse+-- | Undocumented member.+dcirsContainerInstance :: Lens' DeregisterContainerInstanceResponse (Maybe ContainerInstance)+dcirsContainerInstance = lens _dcirsContainerInstance (\ s a -> s{_dcirsContainerInstance = a}); -instance FromJSON DeregisterContainerInstanceResponse where-    parseJSON = withObject "DeregisterContainerInstanceResponse" $ \o -> DeregisterContainerInstanceResponse-        <$> o .:? "containerInstance"+-- | The response status code.+dcirsStatus :: Lens' DeregisterContainerInstanceResponse Int+dcirsStatus = lens _dcirsStatus (\ s a -> s{_dcirsStatus = a});
gen/Network/AWS/ECS/DeregisterTaskDefinition.hs view
@@ -1,118 +1,140 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.ECS.DeregisterTaskDefinition--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | NOT YET IMPLEMENTED.+-- Deregisters the specified task definition by family and revision. Upon+-- deregistration, the task definition is marked as 'INACTIVE'. Existing+-- tasks and services that reference an 'INACTIVE' task definition continue+-- to run without disruption. Existing services that reference an+-- 'INACTIVE' task definition can still scale up or down by modifying the+-- service\'s desired count. ----- Deregisters the specified task definition. You will no longer be able to run--- tasks from this definition after deregistration.+-- You cannot use an 'INACTIVE' task definition to run new tasks or create+-- new services, and you cannot update an existing service to reference an+-- 'INACTIVE' task definition (although there may be up to a 10 minute+-- window following deregistration where these restrictions have not yet+-- taken effect). ----- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeregisterTaskDefinition.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeregisterTaskDefinition.html AWS API Reference> for DeregisterTaskDefinition. module Network.AWS.ECS.DeregisterTaskDefinition     (-    -- * Request-      DeregisterTaskDefinition-    -- ** Request constructor-    , deregisterTaskDefinition-    -- ** Request lenses-    , dtd1TaskDefinition+    -- * Creating a Request+      deregisterTaskDefinition+    , DeregisterTaskDefinition+    -- * Request Lenses+    , derTaskDefinition -    -- * Response-    , DeregisterTaskDefinitionResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deregisterTaskDefinitionResponse-    -- ** Response lenses-    , dtdrTaskDefinition+    , DeregisterTaskDefinitionResponse+    -- * Response Lenses+    , dtdrsTaskDefinition+    , dtdrsStatus     ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.ECS.Types-import qualified GHC.Exts+import           Network.AWS.ECS.Types+import           Network.AWS.ECS.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -newtype DeregisterTaskDefinition = DeregisterTaskDefinition-    { _dtd1TaskDefinition :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+-- | /See:/ 'deregisterTaskDefinition' smart constructor.+newtype DeregisterTaskDefinition = DeregisterTaskDefinition'+    { _derTaskDefinition :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeregisterTaskDefinition' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeregisterTaskDefinition' with the minimum fields required to make a request. ----- * 'dtd1TaskDefinition' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---deregisterTaskDefinition :: Text -- ^ 'dtd1TaskDefinition'-                         -> DeregisterTaskDefinition-deregisterTaskDefinition p1 = DeregisterTaskDefinition-    { _dtd1TaskDefinition = p1+-- * 'derTaskDefinition'+deregisterTaskDefinition+    :: Text -- ^ 'derTaskDefinition'+    -> DeregisterTaskDefinition+deregisterTaskDefinition pTaskDefinition_ =+    DeregisterTaskDefinition'+    { _derTaskDefinition = pTaskDefinition_     } --- | The 'family' and 'revision' ('family:revision') or full Amazon Resource Name (ARN)--- of the task definition that you want to deregister.-dtd1TaskDefinition :: Lens' DeregisterTaskDefinition Text-dtd1TaskDefinition =-    lens _dtd1TaskDefinition (\s a -> s { _dtd1TaskDefinition = a })+-- | The 'family' and 'revision' ('family:revision') or full Amazon Resource+-- Name (ARN) of the task definition that you want to deregister. You must+-- specify a 'revision'.+derTaskDefinition :: Lens' DeregisterTaskDefinition Text+derTaskDefinition = lens _derTaskDefinition (\ s a -> s{_derTaskDefinition = a}); -newtype DeregisterTaskDefinitionResponse = DeregisterTaskDefinitionResponse-    { _dtdrTaskDefinition :: Maybe TaskDefinition-    } deriving (Eq, Read, Show)+instance AWSRequest DeregisterTaskDefinition where+        type Sv DeregisterTaskDefinition = ECS+        type Rs DeregisterTaskDefinition =+             DeregisterTaskDefinitionResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 DeregisterTaskDefinitionResponse' <$>+                   (x .?> "taskDefinition") <*> (pure (fromEnum s))) --- | 'DeregisterTaskDefinitionResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dtdrTaskDefinition' @::@ 'Maybe' 'TaskDefinition'----deregisterTaskDefinitionResponse :: DeregisterTaskDefinitionResponse-deregisterTaskDefinitionResponse = DeregisterTaskDefinitionResponse-    { _dtdrTaskDefinition = Nothing-    }+instance ToHeaders DeregisterTaskDefinition where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AmazonEC2ContainerServiceV20141113.DeregisterTaskDefinition"+                       :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)]) --- | The full description of the deregistered task.-dtdrTaskDefinition :: Lens' DeregisterTaskDefinitionResponse (Maybe TaskDefinition)-dtdrTaskDefinition =-    lens _dtdrTaskDefinition (\s a -> s { _dtdrTaskDefinition = a })+instance ToJSON DeregisterTaskDefinition where+        toJSON DeregisterTaskDefinition'{..}+          = object ["taskDefinition" .= _derTaskDefinition]  instance ToPath DeregisterTaskDefinition where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeregisterTaskDefinition where-    toQuery = const mempty--instance ToHeaders DeregisterTaskDefinition+        toQuery = const mempty -instance ToJSON DeregisterTaskDefinition where-    toJSON DeregisterTaskDefinition{..} = object-        [ "taskDefinition" .= _dtd1TaskDefinition-        ]+-- | /See:/ 'deregisterTaskDefinitionResponse' smart constructor.+data DeregisterTaskDefinitionResponse = DeregisterTaskDefinitionResponse'+    { _dtdrsTaskDefinition :: !(Maybe TaskDefinition)+    , _dtdrsStatus         :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DeregisterTaskDefinition where-    type Sv DeregisterTaskDefinition = ECS-    type Rs DeregisterTaskDefinition = DeregisterTaskDefinitionResponse+-- | Creates a value of 'DeregisterTaskDefinitionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dtdrsTaskDefinition'+--+-- * 'dtdrsStatus'+deregisterTaskDefinitionResponse+    :: Int -- ^ 'dtdrsStatus'+    -> DeregisterTaskDefinitionResponse+deregisterTaskDefinitionResponse pStatus_ =+    DeregisterTaskDefinitionResponse'+    { _dtdrsTaskDefinition = Nothing+    , _dtdrsStatus = pStatus_+    } -    request  = post "DeregisterTaskDefinition"-    response = jsonResponse+-- | The full description of the deregistered task.+dtdrsTaskDefinition :: Lens' DeregisterTaskDefinitionResponse (Maybe TaskDefinition)+dtdrsTaskDefinition = lens _dtdrsTaskDefinition (\ s a -> s{_dtdrsTaskDefinition = a}); -instance FromJSON DeregisterTaskDefinitionResponse where-    parseJSON = withObject "DeregisterTaskDefinitionResponse" $ \o -> DeregisterTaskDefinitionResponse-        <$> o .:? "taskDefinition"+-- | The response status code.+dtdrsStatus :: Lens' DeregisterTaskDefinitionResponse Int+dtdrsStatus = lens _dtdrsStatus (\ s a -> s{_dtdrsStatus = a});
gen/Network/AWS/ECS/DescribeClusters.hs view
@@ -1,128 +1,138 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.ECS.DescribeClusters--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes one or more of your clusters.+-- Describes one or more of your clusters. ----- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeClusters.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeClusters.html AWS API Reference> for DescribeClusters. module Network.AWS.ECS.DescribeClusters     (-    -- * Request-      DescribeClusters-    -- ** Request constructor-    , describeClusters-    -- ** Request lenses+    -- * Creating a Request+      describeClusters+    , DescribeClusters+    -- * Request Lenses     , dcClusters -    -- * Response-    , DescribeClustersResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeClustersResponse-    -- ** Response lenses-    , dcrClusters-    , dcrFailures+    , DescribeClustersResponse+    -- * Response Lenses+    , dcrsFailures+    , dcrsClusters+    , dcrsStatus     ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.ECS.Types-import qualified GHC.Exts--newtype DescribeClusters = DescribeClusters-    { _dcClusters :: List "clusters" Text-    } deriving (Eq, Ord, Read, Show, Monoid, Semigroup)--instance GHC.Exts.IsList DescribeClusters where-    type Item DescribeClusters = Text+import           Network.AWS.ECS.Types+import           Network.AWS.ECS.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -    fromList = DescribeClusters . GHC.Exts.fromList-    toList   = GHC.Exts.toList . _dcClusters+-- | /See:/ 'describeClusters' smart constructor.+newtype DescribeClusters = DescribeClusters'+    { _dcClusters :: Maybe [Text]+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeClusters' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeClusters' with the minimum fields required to make a request. ----- * 'dcClusters' @::@ ['Text']+-- Use one of the following lenses to modify other fields as desired: ---describeClusters :: DescribeClusters-describeClusters = DescribeClusters-    { _dcClusters = mempty+-- * 'dcClusters'+describeClusters+    :: DescribeClusters+describeClusters =+    DescribeClusters'+    { _dcClusters = Nothing     } --- | A space-separated list of cluster names or full cluster Amazon Resource Name--- (ARN) entries. If you do not specify a cluster, the default cluster is--- assumed.+-- | A space-separated list of cluster names or full cluster Amazon Resource+-- Name (ARN) entries. If you do not specify a cluster, the default cluster+-- is assumed. dcClusters :: Lens' DescribeClusters [Text]-dcClusters = lens _dcClusters (\s a -> s { _dcClusters = a }) . _List--data DescribeClustersResponse = DescribeClustersResponse-    { _dcrClusters :: List "clusters" Cluster-    , _dcrFailures :: List "failures" Failure-    } deriving (Eq, Read, Show)+dcClusters = lens _dcClusters (\ s a -> s{_dcClusters = a}) . _Default . _Coerce; --- | 'DescribeClustersResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dcrClusters' @::@ ['Cluster']------ * 'dcrFailures' @::@ ['Failure']----describeClustersResponse :: DescribeClustersResponse-describeClustersResponse = DescribeClustersResponse-    { _dcrClusters = mempty-    , _dcrFailures = mempty-    }+instance AWSRequest DescribeClusters where+        type Sv DescribeClusters = ECS+        type Rs DescribeClusters = DescribeClustersResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 DescribeClustersResponse' <$>+                   (x .?> "failures" .!@ mempty) <*>+                     (x .?> "clusters" .!@ mempty)+                     <*> (pure (fromEnum s))) --- | The list of clusters.-dcrClusters :: Lens' DescribeClustersResponse [Cluster]-dcrClusters = lens _dcrClusters (\s a -> s { _dcrClusters = a }) . _List+instance ToHeaders DescribeClusters where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AmazonEC2ContainerServiceV20141113.DescribeClusters"+                       :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)]) -dcrFailures :: Lens' DescribeClustersResponse [Failure]-dcrFailures = lens _dcrFailures (\s a -> s { _dcrFailures = a }) . _List+instance ToJSON DescribeClusters where+        toJSON DescribeClusters'{..}+          = object ["clusters" .= _dcClusters]  instance ToPath DescribeClusters where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeClusters where-    toQuery = const mempty+        toQuery = const mempty -instance ToHeaders DescribeClusters+-- | /See:/ 'describeClustersResponse' smart constructor.+data DescribeClustersResponse = DescribeClustersResponse'+    { _dcrsFailures :: !(Maybe [Failure])+    , _dcrsClusters :: !(Maybe [Cluster])+    , _dcrsStatus   :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance ToJSON DescribeClusters where-    toJSON DescribeClusters{..} = object-        [ "clusters" .= _dcClusters-        ]+-- | Creates a value of 'DescribeClustersResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcrsFailures'+--+-- * 'dcrsClusters'+--+-- * 'dcrsStatus'+describeClustersResponse+    :: Int -- ^ 'dcrsStatus'+    -> DescribeClustersResponse+describeClustersResponse pStatus_ =+    DescribeClustersResponse'+    { _dcrsFailures = Nothing+    , _dcrsClusters = Nothing+    , _dcrsStatus = pStatus_+    } -instance AWSRequest DescribeClusters where-    type Sv DescribeClusters = ECS-    type Rs DescribeClusters = DescribeClustersResponse+-- | Undocumented member.+dcrsFailures :: Lens' DescribeClustersResponse [Failure]+dcrsFailures = lens _dcrsFailures (\ s a -> s{_dcrsFailures = a}) . _Default . _Coerce; -    request  = post "DescribeClusters"-    response = jsonResponse+-- | The list of clusters.+dcrsClusters :: Lens' DescribeClustersResponse [Cluster]+dcrsClusters = lens _dcrsClusters (\ s a -> s{_dcrsClusters = a}) . _Default . _Coerce; -instance FromJSON DescribeClustersResponse where-    parseJSON = withObject "DescribeClustersResponse" $ \o -> DescribeClustersResponse-        <$> o .:? "clusters" .!= mempty-        <*> o .:? "failures" .!= mempty+-- | The response status code.+dcrsStatus :: Lens' DescribeClustersResponse Int+dcrsStatus = lens _dcrsStatus (\ s a -> s{_dcrsStatus = a});
gen/Network/AWS/ECS/DescribeContainerInstances.hs view
@@ -1,138 +1,153 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.ECS.DescribeContainerInstances--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes Amazon EC2 Container Service container instances. Returns metadata--- about registered and remaining resources on each container instance requested.+-- Describes Amazon EC2 Container Service container instances. Returns+-- metadata about registered and remaining resources on each container+-- instance requested. ----- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeContainerInstances.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeContainerInstances.html AWS API Reference> for DescribeContainerInstances. module Network.AWS.ECS.DescribeContainerInstances     (-    -- * Request-      DescribeContainerInstances-    -- ** Request constructor-    , describeContainerInstances-    -- ** Request lenses+    -- * Creating a Request+      describeContainerInstances+    , DescribeContainerInstances+    -- * Request Lenses     , dciCluster     , dciContainerInstances -    -- * Response-    , DescribeContainerInstancesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeContainerInstancesResponse-    -- ** Response lenses-    , dcirContainerInstances-    , dcirFailures+    , DescribeContainerInstancesResponse+    -- * Response Lenses+    , dcisrsFailures+    , dcisrsContainerInstances+    , dcisrsStatus     ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.ECS.Types-import qualified GHC.Exts+import           Network.AWS.ECS.Types+import           Network.AWS.ECS.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeContainerInstances = DescribeContainerInstances-    { _dciCluster            :: Maybe Text-    , _dciContainerInstances :: List "containerInstances" Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'describeContainerInstances' smart constructor.+data DescribeContainerInstances = DescribeContainerInstances'+    { _dciCluster            :: !(Maybe Text)+    , _dciContainerInstances :: ![Text]+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeContainerInstances' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeContainerInstances' with the minimum fields required to make a request. ----- * 'dciCluster' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dciContainerInstances' @::@ ['Text']+-- * 'dciCluster' ---describeContainerInstances :: DescribeContainerInstances-describeContainerInstances = DescribeContainerInstances-    { _dciCluster            = Nothing+-- * 'dciContainerInstances'+describeContainerInstances+    :: DescribeContainerInstances+describeContainerInstances =+    DescribeContainerInstances'+    { _dciCluster = Nothing     , _dciContainerInstances = mempty     } --- | The short name or full Amazon Resource Name (ARN) of the cluster that hosts--- the container instances you want to describe. If you do not specify a--- cluster, the default cluster is assumed.+-- | The short name or full Amazon Resource Name (ARN) of the cluster that+-- hosts the container instances you want to describe. If you do not+-- specify a cluster, the default cluster is assumed. dciCluster :: Lens' DescribeContainerInstances (Maybe Text)-dciCluster = lens _dciCluster (\s a -> s { _dciCluster = a })+dciCluster = lens _dciCluster (\ s a -> s{_dciCluster = a}); --- | A space-separated list of container instance UUIDs or full Amazon Resource--- Name (ARN) entries.+-- | A space-separated list of container instance UUIDs or full Amazon+-- Resource Name (ARN) entries. dciContainerInstances :: Lens' DescribeContainerInstances [Text]-dciContainerInstances =-    lens _dciContainerInstances (\s a -> s { _dciContainerInstances = a })-        . _List--data DescribeContainerInstancesResponse = DescribeContainerInstancesResponse-    { _dcirContainerInstances :: List "containerInstances" ContainerInstance-    , _dcirFailures           :: List "failures" Failure-    } deriving (Eq, Read, Show)+dciContainerInstances = lens _dciContainerInstances (\ s a -> s{_dciContainerInstances = a}) . _Coerce; --- | 'DescribeContainerInstancesResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dcirContainerInstances' @::@ ['ContainerInstance']------ * 'dcirFailures' @::@ ['Failure']----describeContainerInstancesResponse :: DescribeContainerInstancesResponse-describeContainerInstancesResponse = DescribeContainerInstancesResponse-    { _dcirContainerInstances = mempty-    , _dcirFailures           = mempty-    }+instance AWSRequest DescribeContainerInstances where+        type Sv DescribeContainerInstances = ECS+        type Rs DescribeContainerInstances =+             DescribeContainerInstancesResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 DescribeContainerInstancesResponse' <$>+                   (x .?> "failures" .!@ mempty) <*>+                     (x .?> "containerInstances" .!@ mempty)+                     <*> (pure (fromEnum s))) --- | The list of container instances.-dcirContainerInstances :: Lens' DescribeContainerInstancesResponse [ContainerInstance]-dcirContainerInstances =-    lens _dcirContainerInstances (\s a -> s { _dcirContainerInstances = a })-        . _List+instance ToHeaders DescribeContainerInstances where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AmazonEC2ContainerServiceV20141113.DescribeContainerInstances"+                       :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)]) -dcirFailures :: Lens' DescribeContainerInstancesResponse [Failure]-dcirFailures = lens _dcirFailures (\s a -> s { _dcirFailures = a }) . _List+instance ToJSON DescribeContainerInstances where+        toJSON DescribeContainerInstances'{..}+          = object+              ["cluster" .= _dciCluster,+               "containerInstances" .= _dciContainerInstances]  instance ToPath DescribeContainerInstances where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeContainerInstances where-    toQuery = const mempty+        toQuery = const mempty -instance ToHeaders DescribeContainerInstances+-- | /See:/ 'describeContainerInstancesResponse' smart constructor.+data DescribeContainerInstancesResponse = DescribeContainerInstancesResponse'+    { _dcisrsFailures           :: !(Maybe [Failure])+    , _dcisrsContainerInstances :: !(Maybe [ContainerInstance])+    , _dcisrsStatus             :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance ToJSON DescribeContainerInstances where-    toJSON DescribeContainerInstances{..} = object-        [ "cluster"            .= _dciCluster-        , "containerInstances" .= _dciContainerInstances-        ]+-- | Creates a value of 'DescribeContainerInstancesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcisrsFailures'+--+-- * 'dcisrsContainerInstances'+--+-- * 'dcisrsStatus'+describeContainerInstancesResponse+    :: Int -- ^ 'dcisrsStatus'+    -> DescribeContainerInstancesResponse+describeContainerInstancesResponse pStatus_ =+    DescribeContainerInstancesResponse'+    { _dcisrsFailures = Nothing+    , _dcisrsContainerInstances = Nothing+    , _dcisrsStatus = pStatus_+    } -instance AWSRequest DescribeContainerInstances where-    type Sv DescribeContainerInstances = ECS-    type Rs DescribeContainerInstances = DescribeContainerInstancesResponse+-- | Undocumented member.+dcisrsFailures :: Lens' DescribeContainerInstancesResponse [Failure]+dcisrsFailures = lens _dcisrsFailures (\ s a -> s{_dcisrsFailures = a}) . _Default . _Coerce; -    request  = post "DescribeContainerInstances"-    response = jsonResponse+-- | The list of container instances.+dcisrsContainerInstances :: Lens' DescribeContainerInstancesResponse [ContainerInstance]+dcisrsContainerInstances = lens _dcisrsContainerInstances (\ s a -> s{_dcisrsContainerInstances = a}) . _Default . _Coerce; -instance FromJSON DescribeContainerInstancesResponse where-    parseJSON = withObject "DescribeContainerInstancesResponse" $ \o -> DescribeContainerInstancesResponse-        <$> o .:? "containerInstances" .!= mempty-        <*> o .:? "failures" .!= mempty+-- | The response status code.+dcisrsStatus :: Lens' DescribeContainerInstancesResponse Int+dcisrsStatus = lens _dcisrsStatus (\ s a -> s{_dcisrsStatus = a});
gen/Network/AWS/ECS/DescribeServices.hs view
@@ -1,131 +1,146 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.ECS.DescribeServices--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes the specified services running in your cluster.+-- Describes the specified services running in your cluster. ----- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeServices.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeServices.html AWS API Reference> for DescribeServices. module Network.AWS.ECS.DescribeServices     (-    -- * Request-      DescribeServices-    -- ** Request constructor-    , describeServices-    -- ** Request lenses-    , ds1Cluster-    , ds1Services+    -- * Creating a Request+      describeServices+    , DescribeServices+    -- * Request Lenses+    , dCluster+    , dServices -    -- * Response-    , DescribeServicesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeServicesResponse-    -- ** Response lenses-    , dsrFailures-    , dsrServices+    , DescribeServicesResponse+    -- * Response Lenses+    , dssrsFailures+    , dssrsServices+    , dssrsStatus     ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.ECS.Types-import qualified GHC.Exts+import           Network.AWS.ECS.Types+import           Network.AWS.ECS.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeServices = DescribeServices-    { _ds1Cluster  :: Maybe Text-    , _ds1Services :: List "services" Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'describeServices' smart constructor.+data DescribeServices = DescribeServices'+    { _dCluster  :: !(Maybe Text)+    , _dServices :: ![Text]+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeServices' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeServices' with the minimum fields required to make a request. ----- * 'ds1Cluster' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ds1Services' @::@ ['Text']+-- * 'dCluster' ---describeServices :: DescribeServices-describeServices = DescribeServices-    { _ds1Cluster  = Nothing-    , _ds1Services = mempty+-- * 'dServices'+describeServices+    :: DescribeServices+describeServices =+    DescribeServices'+    { _dCluster = Nothing+    , _dServices = mempty     }  -- | The name of the cluster that hosts the service you want to describe.-ds1Cluster :: Lens' DescribeServices (Maybe Text)-ds1Cluster = lens _ds1Cluster (\s a -> s { _ds1Cluster = a })+dCluster :: Lens' DescribeServices (Maybe Text)+dCluster = lens _dCluster (\ s a -> s{_dCluster = a});  -- | A list of services you want to describe.-ds1Services :: Lens' DescribeServices [Text]-ds1Services = lens _ds1Services (\s a -> s { _ds1Services = a }) . _List--data DescribeServicesResponse = DescribeServicesResponse-    { _dsrFailures :: List "failures" Failure-    , _dsrServices :: List "services" ContainerService-    } deriving (Eq, Read, Show)+dServices :: Lens' DescribeServices [Text]+dServices = lens _dServices (\ s a -> s{_dServices = a}) . _Coerce; --- | 'DescribeServicesResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dsrFailures' @::@ ['Failure']------ * 'dsrServices' @::@ ['ContainerService']----describeServicesResponse :: DescribeServicesResponse-describeServicesResponse = DescribeServicesResponse-    { _dsrServices = mempty-    , _dsrFailures = mempty-    }+instance AWSRequest DescribeServices where+        type Sv DescribeServices = ECS+        type Rs DescribeServices = DescribeServicesResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 DescribeServicesResponse' <$>+                   (x .?> "failures" .!@ mempty) <*>+                     (x .?> "services" .!@ mempty)+                     <*> (pure (fromEnum s))) --- | Any failures associated with the call.-dsrFailures :: Lens' DescribeServicesResponse [Failure]-dsrFailures = lens _dsrFailures (\s a -> s { _dsrFailures = a }) . _List+instance ToHeaders DescribeServices where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AmazonEC2ContainerServiceV20141113.DescribeServices"+                       :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)]) --- | The list of services described.-dsrServices :: Lens' DescribeServicesResponse [ContainerService]-dsrServices = lens _dsrServices (\s a -> s { _dsrServices = a }) . _List+instance ToJSON DescribeServices where+        toJSON DescribeServices'{..}+          = object+              ["cluster" .= _dCluster, "services" .= _dServices]  instance ToPath DescribeServices where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeServices where-    toQuery = const mempty+        toQuery = const mempty -instance ToHeaders DescribeServices+-- | /See:/ 'describeServicesResponse' smart constructor.+data DescribeServicesResponse = DescribeServicesResponse'+    { _dssrsFailures :: !(Maybe [Failure])+    , _dssrsServices :: !(Maybe [ContainerService])+    , _dssrsStatus   :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance ToJSON DescribeServices where-    toJSON DescribeServices{..} = object-        [ "cluster"  .= _ds1Cluster-        , "services" .= _ds1Services-        ]+-- | Creates a value of 'DescribeServicesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dssrsFailures'+--+-- * 'dssrsServices'+--+-- * 'dssrsStatus'+describeServicesResponse+    :: Int -- ^ 'dssrsStatus'+    -> DescribeServicesResponse+describeServicesResponse pStatus_ =+    DescribeServicesResponse'+    { _dssrsFailures = Nothing+    , _dssrsServices = Nothing+    , _dssrsStatus = pStatus_+    } -instance AWSRequest DescribeServices where-    type Sv DescribeServices = ECS-    type Rs DescribeServices = DescribeServicesResponse+-- | Any failures associated with the call.+dssrsFailures :: Lens' DescribeServicesResponse [Failure]+dssrsFailures = lens _dssrsFailures (\ s a -> s{_dssrsFailures = a}) . _Default . _Coerce; -    request  = post "DescribeServices"-    response = jsonResponse+-- | The list of services described.+dssrsServices :: Lens' DescribeServicesResponse [ContainerService]+dssrsServices = lens _dssrsServices (\ s a -> s{_dssrsServices = a}) . _Default . _Coerce; -instance FromJSON DescribeServicesResponse where-    parseJSON = withObject "DescribeServicesResponse" $ \o -> DescribeServicesResponse-        <$> o .:? "failures" .!= mempty-        <*> o .:? "services" .!= mempty+-- | The response status code.+dssrsStatus :: Lens' DescribeServicesResponse Int+dssrsStatus = lens _dssrsStatus (\ s a -> s{_dssrsStatus = a});
gen/Network/AWS/ECS/DescribeTaskDefinition.hs view
@@ -1,118 +1,135 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.ECS.DescribeTaskDefinition--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes a task definition. You can specify a 'family' and 'revision' to find--- information on a specific task definition, or you can simply specify the--- family to find the latest revision in that family.+-- Describes a task definition. You can specify a 'family' and 'revision'+-- to find information on a specific task definition, or you can simply+-- specify the family to find the latest 'ACTIVE' revision in that family. ----- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTaskDefinition.html>+-- You can only describe 'INACTIVE' task definitions while an active task+-- or service references them.+--+-- /See:/ <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTaskDefinition.html AWS API Reference> for DescribeTaskDefinition. module Network.AWS.ECS.DescribeTaskDefinition     (-    -- * Request-      DescribeTaskDefinition-    -- ** Request constructor-    , describeTaskDefinition-    -- ** Request lenses+    -- * Creating a Request+      describeTaskDefinition+    , DescribeTaskDefinition+    -- * Request Lenses     , dtdTaskDefinition -    -- * Response-    , DescribeTaskDefinitionResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeTaskDefinitionResponse-    -- ** Response lenses-    , dtdr1TaskDefinition+    , DescribeTaskDefinitionResponse+    -- * Response Lenses+    , desrsTaskDefinition+    , desrsStatus     ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.ECS.Types-import qualified GHC.Exts+import           Network.AWS.ECS.Types+import           Network.AWS.ECS.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -newtype DescribeTaskDefinition = DescribeTaskDefinition+-- | /See:/ 'describeTaskDefinition' smart constructor.+newtype DescribeTaskDefinition = DescribeTaskDefinition'     { _dtdTaskDefinition :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeTaskDefinition' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeTaskDefinition' with the minimum fields required to make a request. ----- * 'dtdTaskDefinition' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---describeTaskDefinition :: Text -- ^ 'dtdTaskDefinition'-                       -> DescribeTaskDefinition-describeTaskDefinition p1 = DescribeTaskDefinition-    { _dtdTaskDefinition = p1+-- * 'dtdTaskDefinition'+describeTaskDefinition+    :: Text -- ^ 'dtdTaskDefinition'+    -> DescribeTaskDefinition+describeTaskDefinition pTaskDefinition_ =+    DescribeTaskDefinition'+    { _dtdTaskDefinition = pTaskDefinition_     } --- | The 'family' for the latest revision, 'family' and 'revision' ('family:revision') for--- a specific revision in the family, or full Amazon Resource Name (ARN) of the--- task definition that you want to describe.+-- | The 'family' for the latest 'ACTIVE' revision, 'family' and 'revision'+-- ('family:revision') for a specific revision in the family, or full+-- Amazon Resource Name (ARN) of the task definition that you want to+-- describe. dtdTaskDefinition :: Lens' DescribeTaskDefinition Text-dtdTaskDefinition =-    lens _dtdTaskDefinition (\s a -> s { _dtdTaskDefinition = a })+dtdTaskDefinition = lens _dtdTaskDefinition (\ s a -> s{_dtdTaskDefinition = a}); -newtype DescribeTaskDefinitionResponse = DescribeTaskDefinitionResponse-    { _dtdr1TaskDefinition :: Maybe TaskDefinition-    } deriving (Eq, Read, Show)+instance AWSRequest DescribeTaskDefinition where+        type Sv DescribeTaskDefinition = ECS+        type Rs DescribeTaskDefinition =+             DescribeTaskDefinitionResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 DescribeTaskDefinitionResponse' <$>+                   (x .?> "taskDefinition") <*> (pure (fromEnum s))) --- | 'DescribeTaskDefinitionResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dtdr1TaskDefinition' @::@ 'Maybe' 'TaskDefinition'----describeTaskDefinitionResponse :: DescribeTaskDefinitionResponse-describeTaskDefinitionResponse = DescribeTaskDefinitionResponse-    { _dtdr1TaskDefinition = Nothing-    }+instance ToHeaders DescribeTaskDefinition where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AmazonEC2ContainerServiceV20141113.DescribeTaskDefinition"+                       :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)]) --- | The full task definition description.-dtdr1TaskDefinition :: Lens' DescribeTaskDefinitionResponse (Maybe TaskDefinition)-dtdr1TaskDefinition =-    lens _dtdr1TaskDefinition (\s a -> s { _dtdr1TaskDefinition = a })+instance ToJSON DescribeTaskDefinition where+        toJSON DescribeTaskDefinition'{..}+          = object ["taskDefinition" .= _dtdTaskDefinition]  instance ToPath DescribeTaskDefinition where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeTaskDefinition where-    toQuery = const mempty--instance ToHeaders DescribeTaskDefinition+        toQuery = const mempty -instance ToJSON DescribeTaskDefinition where-    toJSON DescribeTaskDefinition{..} = object-        [ "taskDefinition" .= _dtdTaskDefinition-        ]+-- | /See:/ 'describeTaskDefinitionResponse' smart constructor.+data DescribeTaskDefinitionResponse = DescribeTaskDefinitionResponse'+    { _desrsTaskDefinition :: !(Maybe TaskDefinition)+    , _desrsStatus         :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeTaskDefinition where-    type Sv DescribeTaskDefinition = ECS-    type Rs DescribeTaskDefinition = DescribeTaskDefinitionResponse+-- | Creates a value of 'DescribeTaskDefinitionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'desrsTaskDefinition'+--+-- * 'desrsStatus'+describeTaskDefinitionResponse+    :: Int -- ^ 'desrsStatus'+    -> DescribeTaskDefinitionResponse+describeTaskDefinitionResponse pStatus_ =+    DescribeTaskDefinitionResponse'+    { _desrsTaskDefinition = Nothing+    , _desrsStatus = pStatus_+    } -    request  = post "DescribeTaskDefinition"-    response = jsonResponse+-- | The full task definition description.+desrsTaskDefinition :: Lens' DescribeTaskDefinitionResponse (Maybe TaskDefinition)+desrsTaskDefinition = lens _desrsTaskDefinition (\ s a -> s{_desrsTaskDefinition = a}); -instance FromJSON DescribeTaskDefinitionResponse where-    parseJSON = withObject "DescribeTaskDefinitionResponse" $ \o -> DescribeTaskDefinitionResponse-        <$> o .:? "taskDefinition"+-- | The response status code.+desrsStatus :: Lens' DescribeTaskDefinitionResponse Int+desrsStatus = lens _desrsStatus (\ s a -> s{_desrsStatus = a});
gen/Network/AWS/ECS/DescribeTasks.hs view
@@ -1,133 +1,149 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.ECS.DescribeTasks--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes a specified task or tasks.+-- Describes a specified task or tasks. ----- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html AWS API Reference> for DescribeTasks. module Network.AWS.ECS.DescribeTasks     (-    -- * Request-      DescribeTasks-    -- ** Request constructor-    , describeTasks-    -- ** Request lenses+    -- * Creating a Request+      describeTasks+    , DescribeTasks+    -- * Request Lenses     , dtCluster     , dtTasks -    -- * Response-    , DescribeTasksResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeTasksResponse-    -- ** Response lenses-    , dtrFailures-    , dtrTasks+    , DescribeTasksResponse+    -- * Response Lenses+    , dtrsFailures+    , dtrsTasks+    , dtrsStatus     ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.ECS.Types-import qualified GHC.Exts+import           Network.AWS.ECS.Types+import           Network.AWS.ECS.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeTasks = DescribeTasks-    { _dtCluster :: Maybe Text-    , _dtTasks   :: List "tasks" Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'describeTasks' smart constructor.+data DescribeTasks = DescribeTasks'+    { _dtCluster :: !(Maybe Text)+    , _dtTasks   :: ![Text]+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeTasks' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeTasks' with the minimum fields required to make a request. ----- * 'dtCluster' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dtTasks' @::@ ['Text']+-- * 'dtCluster' ---describeTasks :: DescribeTasks-describeTasks = DescribeTasks+-- * 'dtTasks'+describeTasks+    :: DescribeTasks+describeTasks =+    DescribeTasks'     { _dtCluster = Nothing-    , _dtTasks   = mempty+    , _dtTasks = mempty     } --- | The short name or full Amazon Resource Name (ARN) of the cluster that hosts--- the task you want to describe. If you do not specify a cluster, the default--- cluster is assumed.+-- | The short name or full Amazon Resource Name (ARN) of the cluster that+-- hosts the task you want to describe. If you do not specify a cluster,+-- the default cluster is assumed. dtCluster :: Lens' DescribeTasks (Maybe Text)-dtCluster = lens _dtCluster (\s a -> s { _dtCluster = a })+dtCluster = lens _dtCluster (\ s a -> s{_dtCluster = a});  -- | A space-separated list of task UUIDs or full Amazon Resource Name (ARN) -- entries. dtTasks :: Lens' DescribeTasks [Text]-dtTasks = lens _dtTasks (\s a -> s { _dtTasks = a }) . _List--data DescribeTasksResponse = DescribeTasksResponse-    { _dtrFailures :: List "failures" Failure-    , _dtrTasks    :: List "tasks" Task-    } deriving (Eq, Read, Show)+dtTasks = lens _dtTasks (\ s a -> s{_dtTasks = a}) . _Coerce; --- | 'DescribeTasksResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dtrFailures' @::@ ['Failure']------ * 'dtrTasks' @::@ ['Task']----describeTasksResponse :: DescribeTasksResponse-describeTasksResponse = DescribeTasksResponse-    { _dtrTasks    = mempty-    , _dtrFailures = mempty-    }+instance AWSRequest DescribeTasks where+        type Sv DescribeTasks = ECS+        type Rs DescribeTasks = DescribeTasksResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 DescribeTasksResponse' <$>+                   (x .?> "failures" .!@ mempty) <*>+                     (x .?> "tasks" .!@ mempty)+                     <*> (pure (fromEnum s))) -dtrFailures :: Lens' DescribeTasksResponse [Failure]-dtrFailures = lens _dtrFailures (\s a -> s { _dtrFailures = a }) . _List+instance ToHeaders DescribeTasks where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AmazonEC2ContainerServiceV20141113.DescribeTasks"+                       :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)]) --- | The list of tasks.-dtrTasks :: Lens' DescribeTasksResponse [Task]-dtrTasks = lens _dtrTasks (\s a -> s { _dtrTasks = a }) . _List+instance ToJSON DescribeTasks where+        toJSON DescribeTasks'{..}+          = object+              ["cluster" .= _dtCluster, "tasks" .= _dtTasks]  instance ToPath DescribeTasks where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeTasks where-    toQuery = const mempty+        toQuery = const mempty -instance ToHeaders DescribeTasks+-- | /See:/ 'describeTasksResponse' smart constructor.+data DescribeTasksResponse = DescribeTasksResponse'+    { _dtrsFailures :: !(Maybe [Failure])+    , _dtrsTasks    :: !(Maybe [Task])+    , _dtrsStatus   :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance ToJSON DescribeTasks where-    toJSON DescribeTasks{..} = object-        [ "cluster" .= _dtCluster-        , "tasks"   .= _dtTasks-        ]+-- | Creates a value of 'DescribeTasksResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dtrsFailures'+--+-- * 'dtrsTasks'+--+-- * 'dtrsStatus'+describeTasksResponse+    :: Int -- ^ 'dtrsStatus'+    -> DescribeTasksResponse+describeTasksResponse pStatus_ =+    DescribeTasksResponse'+    { _dtrsFailures = Nothing+    , _dtrsTasks = Nothing+    , _dtrsStatus = pStatus_+    } -instance AWSRequest DescribeTasks where-    type Sv DescribeTasks = ECS-    type Rs DescribeTasks = DescribeTasksResponse+-- | Undocumented member.+dtrsFailures :: Lens' DescribeTasksResponse [Failure]+dtrsFailures = lens _dtrsFailures (\ s a -> s{_dtrsFailures = a}) . _Default . _Coerce; -    request  = post "DescribeTasks"-    response = jsonResponse+-- | The list of tasks.+dtrsTasks :: Lens' DescribeTasksResponse [Task]+dtrsTasks = lens _dtrsTasks (\ s a -> s{_dtrsTasks = a}) . _Default . _Coerce; -instance FromJSON DescribeTasksResponse where-    parseJSON = withObject "DescribeTasksResponse" $ \o -> DescribeTasksResponse-        <$> o .:? "failures" .!= mempty-        <*> o .:? "tasks" .!= mempty+-- | The response status code.+dtrsStatus :: Lens' DescribeTasksResponse Int+dtrsStatus = lens _dtrsStatus (\ s a -> s{_dtrsStatus = a});
gen/Network/AWS/ECS/DiscoverPollEndpoint.hs view
@@ -1,131 +1,156 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.ECS.DiscoverPollEndpoint--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | This action is only used by the Amazon EC2 Container Service agent, and it is--- not intended for use outside of the agent.+-- This action is only used by the Amazon EC2 Container Service agent, and+-- it is not intended for use outside of the agent. ----- Returns an endpoint for the Amazon EC2 Container Service agent to poll for--- updates.+-- Returns an endpoint for the Amazon EC2 Container Service agent to poll+-- for updates. ----- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DiscoverPollEndpoint.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DiscoverPollEndpoint.html AWS API Reference> for DiscoverPollEndpoint. module Network.AWS.ECS.DiscoverPollEndpoint     (-    -- * Request-      DiscoverPollEndpoint-    -- ** Request constructor-    , discoverPollEndpoint-    -- ** Request lenses+    -- * Creating a Request+      discoverPollEndpoint+    , DiscoverPollEndpoint+    -- * Request Lenses     , dpeCluster     , dpeContainerInstance -    -- * Response-    , DiscoverPollEndpointResponse-    -- ** Response constructor+    -- * Destructuring the Response     , discoverPollEndpointResponse-    -- ** Response lenses-    , dperEndpoint+    , DiscoverPollEndpointResponse+    -- * Response Lenses+    , dpersTelemetryEndpoint+    , dpersEndpoint+    , dpersStatus     ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.ECS.Types-import qualified GHC.Exts+import           Network.AWS.ECS.Types+import           Network.AWS.ECS.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DiscoverPollEndpoint = DiscoverPollEndpoint-    { _dpeCluster           :: Maybe Text-    , _dpeContainerInstance :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'discoverPollEndpoint' smart constructor.+data DiscoverPollEndpoint = DiscoverPollEndpoint'+    { _dpeCluster           :: !(Maybe Text)+    , _dpeContainerInstance :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DiscoverPollEndpoint' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DiscoverPollEndpoint' with the minimum fields required to make a request. ----- * 'dpeCluster' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dpeContainerInstance' @::@ 'Maybe' 'Text'+-- * 'dpeCluster' ---discoverPollEndpoint :: DiscoverPollEndpoint-discoverPollEndpoint = DiscoverPollEndpoint-    { _dpeContainerInstance = Nothing-    , _dpeCluster           = Nothing+-- * 'dpeContainerInstance'+discoverPollEndpoint+    :: DiscoverPollEndpoint+discoverPollEndpoint =+    DiscoverPollEndpoint'+    { _dpeCluster = Nothing+    , _dpeContainerInstance = Nothing     }  -- | The cluster that the container instance belongs to. dpeCluster :: Lens' DiscoverPollEndpoint (Maybe Text)-dpeCluster = lens _dpeCluster (\s a -> s { _dpeCluster = a })+dpeCluster = lens _dpeCluster (\ s a -> s{_dpeCluster = a});  -- | The container instance UUID or full Amazon Resource Name (ARN) of the--- container instance. The ARN contains the 'arn:aws:ecs' namespace, followed by--- the region of the container instance, the AWS account ID of the container--- instance owner, the 'container-instance' namespace, and then the container--- instance UUID. For example, arn:aws:ecs:/region/:/aws_account_id/:container-instance/--- /container_instance_UUID/.+-- container instance. The ARN contains the 'arn:aws:ecs' namespace,+-- followed by the region of the container instance, the AWS account ID of+-- the container instance owner, the 'container-instance' namespace, and+-- then the container instance UUID. For example,+-- arn:aws:ecs:/region/:/aws_account_id/:container-instance\//container_instance_UUID/. dpeContainerInstance :: Lens' DiscoverPollEndpoint (Maybe Text)-dpeContainerInstance =-    lens _dpeContainerInstance (\s a -> s { _dpeContainerInstance = a })+dpeContainerInstance = lens _dpeContainerInstance (\ s a -> s{_dpeContainerInstance = a}); -newtype DiscoverPollEndpointResponse = DiscoverPollEndpointResponse-    { _dperEndpoint :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)+instance AWSRequest DiscoverPollEndpoint where+        type Sv DiscoverPollEndpoint = ECS+        type Rs DiscoverPollEndpoint =+             DiscoverPollEndpointResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 DiscoverPollEndpointResponse' <$>+                   (x .?> "telemetryEndpoint") <*> (x .?> "endpoint")+                     <*> (pure (fromEnum s))) --- | 'DiscoverPollEndpointResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dperEndpoint' @::@ 'Maybe' 'Text'----discoverPollEndpointResponse :: DiscoverPollEndpointResponse-discoverPollEndpointResponse = DiscoverPollEndpointResponse-    { _dperEndpoint = Nothing-    }+instance ToHeaders DiscoverPollEndpoint where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AmazonEC2ContainerServiceV20141113.DiscoverPollEndpoint"+                       :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)]) --- | The endpoint for the Amazon ECS agent to poll.-dperEndpoint :: Lens' DiscoverPollEndpointResponse (Maybe Text)-dperEndpoint = lens _dperEndpoint (\s a -> s { _dperEndpoint = a })+instance ToJSON DiscoverPollEndpoint where+        toJSON DiscoverPollEndpoint'{..}+          = object+              ["cluster" .= _dpeCluster,+               "containerInstance" .= _dpeContainerInstance]  instance ToPath DiscoverPollEndpoint where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DiscoverPollEndpoint where-    toQuery = const mempty+        toQuery = const mempty -instance ToHeaders DiscoverPollEndpoint+-- | /See:/ 'discoverPollEndpointResponse' smart constructor.+data DiscoverPollEndpointResponse = DiscoverPollEndpointResponse'+    { _dpersTelemetryEndpoint :: !(Maybe Text)+    , _dpersEndpoint          :: !(Maybe Text)+    , _dpersStatus            :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance ToJSON DiscoverPollEndpoint where-    toJSON DiscoverPollEndpoint{..} = object-        [ "containerInstance" .= _dpeContainerInstance-        , "cluster"           .= _dpeCluster-        ]+-- | Creates a value of 'DiscoverPollEndpointResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dpersTelemetryEndpoint'+--+-- * 'dpersEndpoint'+--+-- * 'dpersStatus'+discoverPollEndpointResponse+    :: Int -- ^ 'dpersStatus'+    -> DiscoverPollEndpointResponse+discoverPollEndpointResponse pStatus_ =+    DiscoverPollEndpointResponse'+    { _dpersTelemetryEndpoint = Nothing+    , _dpersEndpoint = Nothing+    , _dpersStatus = pStatus_+    } -instance AWSRequest DiscoverPollEndpoint where-    type Sv DiscoverPollEndpoint = ECS-    type Rs DiscoverPollEndpoint = DiscoverPollEndpointResponse+-- | The telemetry endpoint for the Amazon ECS agent.+dpersTelemetryEndpoint :: Lens' DiscoverPollEndpointResponse (Maybe Text)+dpersTelemetryEndpoint = lens _dpersTelemetryEndpoint (\ s a -> s{_dpersTelemetryEndpoint = a}); -    request  = post "DiscoverPollEndpoint"-    response = jsonResponse+-- | The endpoint for the Amazon ECS agent to poll.+dpersEndpoint :: Lens' DiscoverPollEndpointResponse (Maybe Text)+dpersEndpoint = lens _dpersEndpoint (\ s a -> s{_dpersEndpoint = a}); -instance FromJSON DiscoverPollEndpointResponse where-    parseJSON = withObject "DiscoverPollEndpointResponse" $ \o -> DiscoverPollEndpointResponse-        <$> o .:? "endpoint"+-- | The response status code.+dpersStatus :: Lens' DiscoverPollEndpointResponse Int+dpersStatus = lens _dpersStatus (\ s a -> s{_dpersStatus = a});
gen/Network/AWS/ECS/ListClusters.hs view
@@ -1,144 +1,172 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.ECS.ListClusters--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns a list of existing clusters.+-- Returns a list of existing clusters. ----- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListClusters.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListClusters.html AWS API Reference> for ListClusters.+--+-- This operation returns paginated results. module Network.AWS.ECS.ListClusters     (-    -- * Request-      ListClusters-    -- ** Request constructor-    , listClusters-    -- ** Request lenses-    , lcMaxResults+    -- * Creating a Request+      listClusters+    , ListClusters+    -- * Request Lenses     , lcNextToken+    , lcMaxResults -    -- * Response-    , ListClustersResponse-    -- ** Response constructor+    -- * Destructuring the Response     , listClustersResponse-    -- ** Response lenses-    , lcrClusterArns-    , lcrNextToken+    , ListClustersResponse+    -- * Response Lenses+    , lcrsClusterARNs+    , lcrsNextToken+    , lcrsStatus     ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.ECS.Types-import qualified GHC.Exts+import           Network.AWS.ECS.Types+import           Network.AWS.ECS.Types.Product+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data ListClusters = ListClusters-    { _lcMaxResults :: Maybe Int-    , _lcNextToken  :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'listClusters' smart constructor.+data ListClusters = ListClusters'+    { _lcNextToken  :: !(Maybe Text)+    , _lcMaxResults :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ListClusters' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ListClusters' with the minimum fields required to make a request. ----- * 'lcMaxResults' @::@ 'Maybe' 'Int'+-- Use one of the following lenses to modify other fields as desired: ----- * 'lcNextToken' @::@ 'Maybe' 'Text'+-- * 'lcNextToken' ---listClusters :: ListClusters-listClusters = ListClusters-    { _lcNextToken  = Nothing+-- * 'lcMaxResults'+listClusters+    :: ListClusters+listClusters =+    ListClusters'+    { _lcNextToken = Nothing     , _lcMaxResults = Nothing     } --- | The maximum number of cluster results returned by 'ListClusters' in paginated--- output. When this parameter is used, 'ListClusters' only returns 'maxResults'--- results in a single page along with a 'nextToken' response element. The--- remaining results of the initial request can be seen by sending another 'ListClusters' request with the returned 'nextToken' value. This value can be between 1 and--- 100. If this parameter is not used, then 'ListClusters' returns up to 100--- results and a 'nextToken' value if applicable.-lcMaxResults :: Lens' ListClusters (Maybe Int)-lcMaxResults = lens _lcMaxResults (\s a -> s { _lcMaxResults = a })---- | The 'nextToken' value returned from a previous paginated 'ListClusters' request--- where 'maxResults' was used and the results exceeded the value of that--- parameter. Pagination continues from the end of the previous results that--- returned the 'nextToken' value. This value is 'null' when there are no more--- results to return.+-- | The 'nextToken' value returned from a previous paginated 'ListClusters'+-- request where 'maxResults' was used and the results exceeded the value+-- of that parameter. Pagination continues from the end of the previous+-- results that returned the 'nextToken' value. This value is 'null' when+-- there are no more results to return. lcNextToken :: Lens' ListClusters (Maybe Text)-lcNextToken = lens _lcNextToken (\s a -> s { _lcNextToken = a })+lcNextToken = lens _lcNextToken (\ s a -> s{_lcNextToken = a}); -data ListClustersResponse = ListClustersResponse-    { _lcrClusterArns :: List "clusterArns" Text-    , _lcrNextToken   :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+-- | The maximum number of cluster results returned by 'ListClusters' in+-- paginated output. When this parameter is used, 'ListClusters' only+-- returns 'maxResults' results in a single page along with a 'nextToken'+-- response element. The remaining results of the initial request can be+-- seen by sending another 'ListClusters' request with the returned+-- 'nextToken' value. This value can be between 1 and 100. If this+-- parameter is not used, then 'ListClusters' returns up to 100 results and+-- a 'nextToken' value if applicable.+lcMaxResults :: Lens' ListClusters (Maybe Int)+lcMaxResults = lens _lcMaxResults (\ s a -> s{_lcMaxResults = a}); --- | 'ListClustersResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'lcrClusterArns' @::@ ['Text']------ * 'lcrNextToken' @::@ 'Maybe' 'Text'----listClustersResponse :: ListClustersResponse-listClustersResponse = ListClustersResponse-    { _lcrClusterArns = mempty-    , _lcrNextToken   = Nothing-    }+instance AWSPager ListClusters where+        page rq rs+          | stop (rs ^. lcrsNextToken) = Nothing+          | stop (rs ^. lcrsClusterARNs) = Nothing+          | otherwise =+            Just $ rq & lcNextToken .~ rs ^. lcrsNextToken --- | The list of full Amazon Resource Name (ARN) entries for each cluster--- associated with your account.-lcrClusterArns :: Lens' ListClustersResponse [Text]-lcrClusterArns = lens _lcrClusterArns (\s a -> s { _lcrClusterArns = a }) . _List+instance AWSRequest ListClusters where+        type Sv ListClusters = ECS+        type Rs ListClusters = ListClustersResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 ListClustersResponse' <$>+                   (x .?> "clusterArns" .!@ mempty) <*>+                     (x .?> "nextToken")+                     <*> (pure (fromEnum s))) --- | The 'nextToken' value to include in a future 'ListClusters' request. When the--- results of a 'ListClusters' request exceed 'maxResults', this value can be used--- to retrieve the next page of results. This value is 'null' when there are no--- more results to return.-lcrNextToken :: Lens' ListClustersResponse (Maybe Text)-lcrNextToken = lens _lcrNextToken (\s a -> s { _lcrNextToken = a })+instance ToHeaders ListClusters where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AmazonEC2ContainerServiceV20141113.ListClusters" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)]) +instance ToJSON ListClusters where+        toJSON ListClusters'{..}+          = object+              ["nextToken" .= _lcNextToken,+               "maxResults" .= _lcMaxResults]+ instance ToPath ListClusters where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ListClusters where-    toQuery = const mempty+        toQuery = const mempty -instance ToHeaders ListClusters+-- | /See:/ 'listClustersResponse' smart constructor.+data ListClustersResponse = ListClustersResponse'+    { _lcrsClusterARNs :: !(Maybe [Text])+    , _lcrsNextToken   :: !(Maybe Text)+    , _lcrsStatus      :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance ToJSON ListClusters where-    toJSON ListClusters{..} = object-        [ "nextToken"  .= _lcNextToken-        , "maxResults" .= _lcMaxResults-        ]+-- | Creates a value of 'ListClustersResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lcrsClusterARNs'+--+-- * 'lcrsNextToken'+--+-- * 'lcrsStatus'+listClustersResponse+    :: Int -- ^ 'lcrsStatus'+    -> ListClustersResponse+listClustersResponse pStatus_ =+    ListClustersResponse'+    { _lcrsClusterARNs = Nothing+    , _lcrsNextToken = Nothing+    , _lcrsStatus = pStatus_+    } -instance AWSRequest ListClusters where-    type Sv ListClusters = ECS-    type Rs ListClusters = ListClustersResponse+-- | The list of full Amazon Resource Name (ARN) entries for each cluster+-- associated with your account.+lcrsClusterARNs :: Lens' ListClustersResponse [Text]+lcrsClusterARNs = lens _lcrsClusterARNs (\ s a -> s{_lcrsClusterARNs = a}) . _Default . _Coerce; -    request  = post "ListClusters"-    response = jsonResponse+-- | The 'nextToken' value to include in a future 'ListClusters' request.+-- When the results of a 'ListClusters' request exceed 'maxResults', this+-- value can be used to retrieve the next page of results. This value is+-- 'null' when there are no more results to return.+lcrsNextToken :: Lens' ListClustersResponse (Maybe Text)+lcrsNextToken = lens _lcrsNextToken (\ s a -> s{_lcrsNextToken = a}); -instance FromJSON ListClustersResponse where-    parseJSON = withObject "ListClustersResponse" $ \o -> ListClustersResponse-        <$> o .:? "clusterArns" .!= mempty-        <*> o .:? "nextToken"+-- | The response status code.+lcrsStatus :: Lens' ListClustersResponse Int+lcrsStatus = lens _lcrsStatus (\ s a -> s{_lcrsStatus = a});
gen/Network/AWS/ECS/ListContainerInstances.hs view
@@ -1,160 +1,186 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.ECS.ListContainerInstances--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns a list of container instances in a specified cluster.+-- Returns a list of container instances in a specified cluster. ----- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListContainerInstances.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListContainerInstances.html AWS API Reference> for ListContainerInstances.+--+-- This operation returns paginated results. module Network.AWS.ECS.ListContainerInstances     (-    -- * Request-      ListContainerInstances-    -- ** Request constructor-    , listContainerInstances-    -- ** Request lenses+    -- * Creating a Request+      listContainerInstances+    , ListContainerInstances+    -- * Request Lenses     , lciCluster-    , lciMaxResults     , lciNextToken+    , lciMaxResults -    -- * Response-    , ListContainerInstancesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , listContainerInstancesResponse-    -- ** Response lenses-    , lcirContainerInstanceArns-    , lcirNextToken+    , ListContainerInstancesResponse+    -- * Response Lenses+    , lcirsContainerInstanceARNs+    , lcirsNextToken+    , lcirsStatus     ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.ECS.Types-import qualified GHC.Exts+import           Network.AWS.ECS.Types+import           Network.AWS.ECS.Types.Product+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data ListContainerInstances = ListContainerInstances-    { _lciCluster    :: Maybe Text-    , _lciMaxResults :: Maybe Int-    , _lciNextToken  :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'listContainerInstances' smart constructor.+data ListContainerInstances = ListContainerInstances'+    { _lciCluster    :: !(Maybe Text)+    , _lciNextToken  :: !(Maybe Text)+    , _lciMaxResults :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ListContainerInstances' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ListContainerInstances' with the minimum fields required to make a request. ----- * 'lciCluster' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'lciMaxResults' @::@ 'Maybe' 'Int'+-- * 'lciCluster' ----- * 'lciNextToken' @::@ 'Maybe' 'Text'+-- * 'lciNextToken' ---listContainerInstances :: ListContainerInstances-listContainerInstances = ListContainerInstances-    { _lciCluster    = Nothing-    , _lciNextToken  = Nothing+-- * 'lciMaxResults'+listContainerInstances+    :: ListContainerInstances+listContainerInstances =+    ListContainerInstances'+    { _lciCluster = Nothing+    , _lciNextToken = Nothing     , _lciMaxResults = Nothing     } --- | The short name or full Amazon Resource Name (ARN) of the cluster that hosts--- the container instances you want to list. If you do not specify a cluster,--- the default cluster is assumed..+-- | The short name or full Amazon Resource Name (ARN) of the cluster that+-- hosts the container instances you want to list. If you do not specify a+-- cluster, the default cluster is assumed.. lciCluster :: Lens' ListContainerInstances (Maybe Text)-lciCluster = lens _lciCluster (\s a -> s { _lciCluster = a })---- | The maximum number of container instance results returned by 'ListContainerInstances' in paginated output. When this parameter is used, 'ListContainerInstances'--- only returns 'maxResults' results in a single page along with a 'nextToken'--- response element. The remaining results of the initial request can be seen by--- sending another 'ListContainerInstances' request with the returned 'nextToken'--- value. This value can be between 1 and 100. If this parameter is not used,--- then 'ListContainerInstances' returns up to 100 results and a 'nextToken' value--- if applicable.-lciMaxResults :: Lens' ListContainerInstances (Maybe Int)-lciMaxResults = lens _lciMaxResults (\s a -> s { _lciMaxResults = a })+lciCluster = lens _lciCluster (\ s a -> s{_lciCluster = a}); --- | The 'nextToken' value returned from a previous paginated 'ListContainerInstances'--- request where 'maxResults' was used and the results exceeded the value of that--- parameter. Pagination continues from the end of the previous results that--- returned the 'nextToken' value. This value is 'null' when there are no more--- results to return.+-- | The 'nextToken' value returned from a previous paginated+-- 'ListContainerInstances' request where 'maxResults' was used and the+-- results exceeded the value of that parameter. Pagination continues from+-- the end of the previous results that returned the 'nextToken' value.+-- This value is 'null' when there are no more results to return. lciNextToken :: Lens' ListContainerInstances (Maybe Text)-lciNextToken = lens _lciNextToken (\s a -> s { _lciNextToken = a })+lciNextToken = lens _lciNextToken (\ s a -> s{_lciNextToken = a}); -data ListContainerInstancesResponse = ListContainerInstancesResponse-    { _lcirContainerInstanceArns :: List "containerInstanceArns" Text-    , _lcirNextToken             :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+-- | The maximum number of container instance results returned by+-- 'ListContainerInstances' in paginated output. When this parameter is+-- used, 'ListContainerInstances' only returns 'maxResults' results in a+-- single page along with a 'nextToken' response element. The remaining+-- results of the initial request can be seen by sending another+-- 'ListContainerInstances' request with the returned 'nextToken' value.+-- This value can be between 1 and 100. If this parameter is not used, then+-- 'ListContainerInstances' returns up to 100 results and a 'nextToken'+-- value if applicable.+lciMaxResults :: Lens' ListContainerInstances (Maybe Int)+lciMaxResults = lens _lciMaxResults (\ s a -> s{_lciMaxResults = a}); --- | 'ListContainerInstancesResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'lcirContainerInstanceArns' @::@ ['Text']------ * 'lcirNextToken' @::@ 'Maybe' 'Text'----listContainerInstancesResponse :: ListContainerInstancesResponse-listContainerInstancesResponse = ListContainerInstancesResponse-    { _lcirContainerInstanceArns = mempty-    , _lcirNextToken             = Nothing-    }+instance AWSPager ListContainerInstances where+        page rq rs+          | stop (rs ^. lcirsNextToken) = Nothing+          | stop (rs ^. lcirsContainerInstanceARNs) = Nothing+          | otherwise =+            Just $ rq & lciNextToken .~ rs ^. lcirsNextToken --- | The list of container instance full Amazon Resource Name (ARN) entries for--- each container instance associated with the specified cluster.-lcirContainerInstanceArns :: Lens' ListContainerInstancesResponse [Text]-lcirContainerInstanceArns =-    lens _lcirContainerInstanceArns-        (\s a -> s { _lcirContainerInstanceArns = a })-            . _List+instance AWSRequest ListContainerInstances where+        type Sv ListContainerInstances = ECS+        type Rs ListContainerInstances =+             ListContainerInstancesResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 ListContainerInstancesResponse' <$>+                   (x .?> "containerInstanceArns" .!@ mempty) <*>+                     (x .?> "nextToken")+                     <*> (pure (fromEnum s))) --- | The 'nextToken' value to include in a future 'ListContainerInstances' request.--- When the results of a 'ListContainerInstances' request exceed 'maxResults', this--- value can be used to retrieve the next page of results. This value is 'null'--- when there are no more results to return.-lcirNextToken :: Lens' ListContainerInstancesResponse (Maybe Text)-lcirNextToken = lens _lcirNextToken (\s a -> s { _lcirNextToken = a })+instance ToHeaders ListContainerInstances where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AmazonEC2ContainerServiceV20141113.ListContainerInstances"+                       :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)]) +instance ToJSON ListContainerInstances where+        toJSON ListContainerInstances'{..}+          = object+              ["cluster" .= _lciCluster,+               "nextToken" .= _lciNextToken,+               "maxResults" .= _lciMaxResults]+ instance ToPath ListContainerInstances where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ListContainerInstances where-    toQuery = const mempty+        toQuery = const mempty -instance ToHeaders ListContainerInstances+-- | /See:/ 'listContainerInstancesResponse' smart constructor.+data ListContainerInstancesResponse = ListContainerInstancesResponse'+    { _lcirsContainerInstanceARNs :: !(Maybe [Text])+    , _lcirsNextToken             :: !(Maybe Text)+    , _lcirsStatus                :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance ToJSON ListContainerInstances where-    toJSON ListContainerInstances{..} = object-        [ "cluster"    .= _lciCluster-        , "nextToken"  .= _lciNextToken-        , "maxResults" .= _lciMaxResults-        ]+-- | Creates a value of 'ListContainerInstancesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lcirsContainerInstanceARNs'+--+-- * 'lcirsNextToken'+--+-- * 'lcirsStatus'+listContainerInstancesResponse+    :: Int -- ^ 'lcirsStatus'+    -> ListContainerInstancesResponse+listContainerInstancesResponse pStatus_ =+    ListContainerInstancesResponse'+    { _lcirsContainerInstanceARNs = Nothing+    , _lcirsNextToken = Nothing+    , _lcirsStatus = pStatus_+    } -instance AWSRequest ListContainerInstances where-    type Sv ListContainerInstances = ECS-    type Rs ListContainerInstances = ListContainerInstancesResponse+-- | The list of container instance full Amazon Resource Name (ARN) entries+-- for each container instance associated with the specified cluster.+lcirsContainerInstanceARNs :: Lens' ListContainerInstancesResponse [Text]+lcirsContainerInstanceARNs = lens _lcirsContainerInstanceARNs (\ s a -> s{_lcirsContainerInstanceARNs = a}) . _Default . _Coerce; -    request  = post "ListContainerInstances"-    response = jsonResponse+-- | The 'nextToken' value to include in a future 'ListContainerInstances'+-- request. When the results of a 'ListContainerInstances' request exceed+-- 'maxResults', this value can be used to retrieve the next page of+-- results. This value is 'null' when there are no more results to return.+lcirsNextToken :: Lens' ListContainerInstancesResponse (Maybe Text)+lcirsNextToken = lens _lcirsNextToken (\ s a -> s{_lcirsNextToken = a}); -instance FromJSON ListContainerInstancesResponse where-    parseJSON = withObject "ListContainerInstancesResponse" $ \o -> ListContainerInstancesResponse-        <$> o .:? "containerInstanceArns" .!= mempty-        <*> o .:? "nextToken"+-- | The response status code.+lcirsStatus :: Lens' ListContainerInstancesResponse Int+lcirsStatus = lens _lcirsStatus (\ s a -> s{_lcirsStatus = a});
gen/Network/AWS/ECS/ListServices.hs view
@@ -1,155 +1,184 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.ECS.ListServices--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Lists the services that are running in a specified cluster.+-- Lists the services that are running in a specified cluster. ----- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListServices.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListServices.html AWS API Reference> for ListServices.+--+-- This operation returns paginated results. module Network.AWS.ECS.ListServices     (-    -- * Request-      ListServices-    -- ** Request constructor-    , listServices-    -- ** Request lenses+    -- * Creating a Request+      listServices+    , ListServices+    -- * Request Lenses     , lsCluster-    , lsMaxResults     , lsNextToken+    , lsMaxResults -    -- * Response-    , ListServicesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , listServicesResponse-    -- ** Response lenses-    , lsrNextToken-    , lsrServiceArns+    , ListServicesResponse+    -- * Response Lenses+    , lsrsServiceARNs+    , lsrsNextToken+    , lsrsStatus     ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.ECS.Types-import qualified GHC.Exts+import           Network.AWS.ECS.Types+import           Network.AWS.ECS.Types.Product+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data ListServices = ListServices-    { _lsCluster    :: Maybe Text-    , _lsMaxResults :: Maybe Int-    , _lsNextToken  :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'listServices' smart constructor.+data ListServices = ListServices'+    { _lsCluster    :: !(Maybe Text)+    , _lsNextToken  :: !(Maybe Text)+    , _lsMaxResults :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ListServices' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ListServices' with the minimum fields required to make a request. ----- * 'lsCluster' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'lsMaxResults' @::@ 'Maybe' 'Int'+-- * 'lsCluster' ----- * 'lsNextToken' @::@ 'Maybe' 'Text'+-- * 'lsNextToken' ---listServices :: ListServices-listServices = ListServices-    { _lsCluster    = Nothing-    , _lsNextToken  = Nothing+-- * 'lsMaxResults'+listServices+    :: ListServices+listServices =+    ListServices'+    { _lsCluster = Nothing+    , _lsNextToken = Nothing     , _lsMaxResults = Nothing     } --- | The short name or full Amazon Resource Name (ARN) of the cluster that hosts--- the services you want to list. If you do not specify a cluster, the default--- cluster is assumed..+-- | The short name or full Amazon Resource Name (ARN) of the cluster that+-- hosts the services you want to list. If you do not specify a cluster,+-- the default cluster is assumed.. lsCluster :: Lens' ListServices (Maybe Text)-lsCluster = lens _lsCluster (\s a -> s { _lsCluster = a })---- | The maximum number of container instance results returned by 'ListServices' in--- paginated output. When this parameter is used, 'ListServices' only returns 'maxResults' results in a single page along with a 'nextToken' response element. The--- remaining results of the initial request can be seen by sending another 'ListServices' request with the returned 'nextToken' value. This value can be between 1 and--- 100. If this parameter is not used, then 'ListServices' returns up to 100--- results and a 'nextToken' value if applicable.-lsMaxResults :: Lens' ListServices (Maybe Int)-lsMaxResults = lens _lsMaxResults (\s a -> s { _lsMaxResults = a })+lsCluster = lens _lsCluster (\ s a -> s{_lsCluster = a}); --- | The 'nextToken' value returned from a previous paginated 'ListServices' request--- where 'maxResults' was used and the results exceeded the value of that--- parameter. Pagination continues from the end of the previous results that--- returned the 'nextToken' value. This value is 'null' when there are no more--- results to return.+-- | The 'nextToken' value returned from a previous paginated 'ListServices'+-- request where 'maxResults' was used and the results exceeded the value+-- of that parameter. Pagination continues from the end of the previous+-- results that returned the 'nextToken' value. This value is 'null' when+-- there are no more results to return. lsNextToken :: Lens' ListServices (Maybe Text)-lsNextToken = lens _lsNextToken (\s a -> s { _lsNextToken = a })+lsNextToken = lens _lsNextToken (\ s a -> s{_lsNextToken = a}); -data ListServicesResponse = ListServicesResponse-    { _lsrNextToken   :: Maybe Text-    , _lsrServiceArns :: List "serviceArns" Text-    } deriving (Eq, Ord, Read, Show)+-- | The maximum number of container instance results returned by+-- 'ListServices' in paginated output. When this parameter is used,+-- 'ListServices' only returns 'maxResults' results in a single page along+-- with a 'nextToken' response element. The remaining results of the+-- initial request can be seen by sending another 'ListServices' request+-- with the returned 'nextToken' value. This value can be between 1 and+-- 100. If this parameter is not used, then 'ListServices' returns up to+-- 100 results and a 'nextToken' value if applicable.+lsMaxResults :: Lens' ListServices (Maybe Int)+lsMaxResults = lens _lsMaxResults (\ s a -> s{_lsMaxResults = a}); --- | 'ListServicesResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'lsrNextToken' @::@ 'Maybe' 'Text'------ * 'lsrServiceArns' @::@ ['Text']----listServicesResponse :: ListServicesResponse-listServicesResponse = ListServicesResponse-    { _lsrServiceArns = mempty-    , _lsrNextToken   = Nothing-    }+instance AWSPager ListServices where+        page rq rs+          | stop (rs ^. lsrsNextToken) = Nothing+          | stop (rs ^. lsrsServiceARNs) = Nothing+          | otherwise =+            Just $ rq & lsNextToken .~ rs ^. lsrsNextToken --- | The 'nextToken' value to include in a future 'ListServices' request. When the--- results of a 'ListServices' request exceed 'maxResults', this value can be used--- to retrieve the next page of results. This value is 'null' when there are no--- more results to return.-lsrNextToken :: Lens' ListServicesResponse (Maybe Text)-lsrNextToken = lens _lsrNextToken (\s a -> s { _lsrNextToken = a })+instance AWSRequest ListServices where+        type Sv ListServices = ECS+        type Rs ListServices = ListServicesResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 ListServicesResponse' <$>+                   (x .?> "serviceArns" .!@ mempty) <*>+                     (x .?> "nextToken")+                     <*> (pure (fromEnum s))) --- | The list of full Amazon Resource Name (ARN) entries for each service--- associated with the specified cluster.-lsrServiceArns :: Lens' ListServicesResponse [Text]-lsrServiceArns = lens _lsrServiceArns (\s a -> s { _lsrServiceArns = a }) . _List+instance ToHeaders ListServices where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AmazonEC2ContainerServiceV20141113.ListServices" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)]) +instance ToJSON ListServices where+        toJSON ListServices'{..}+          = object+              ["cluster" .= _lsCluster,+               "nextToken" .= _lsNextToken,+               "maxResults" .= _lsMaxResults]+ instance ToPath ListServices where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ListServices where-    toQuery = const mempty+        toQuery = const mempty -instance ToHeaders ListServices+-- | /See:/ 'listServicesResponse' smart constructor.+data ListServicesResponse = ListServicesResponse'+    { _lsrsServiceARNs :: !(Maybe [Text])+    , _lsrsNextToken   :: !(Maybe Text)+    , _lsrsStatus      :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance ToJSON ListServices where-    toJSON ListServices{..} = object-        [ "cluster"    .= _lsCluster-        , "nextToken"  .= _lsNextToken-        , "maxResults" .= _lsMaxResults-        ]+-- | Creates a value of 'ListServicesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lsrsServiceARNs'+--+-- * 'lsrsNextToken'+--+-- * 'lsrsStatus'+listServicesResponse+    :: Int -- ^ 'lsrsStatus'+    -> ListServicesResponse+listServicesResponse pStatus_ =+    ListServicesResponse'+    { _lsrsServiceARNs = Nothing+    , _lsrsNextToken = Nothing+    , _lsrsStatus = pStatus_+    } -instance AWSRequest ListServices where-    type Sv ListServices = ECS-    type Rs ListServices = ListServicesResponse+-- | The list of full Amazon Resource Name (ARN) entries for each service+-- associated with the specified cluster.+lsrsServiceARNs :: Lens' ListServicesResponse [Text]+lsrsServiceARNs = lens _lsrsServiceARNs (\ s a -> s{_lsrsServiceARNs = a}) . _Default . _Coerce; -    request  = post "ListServices"-    response = jsonResponse+-- | The 'nextToken' value to include in a future 'ListServices' request.+-- When the results of a 'ListServices' request exceed 'maxResults', this+-- value can be used to retrieve the next page of results. This value is+-- 'null' when there are no more results to return.+lsrsNextToken :: Lens' ListServicesResponse (Maybe Text)+lsrsNextToken = lens _lsrsNextToken (\ s a -> s{_lsrsNextToken = a}); -instance FromJSON ListServicesResponse where-    parseJSON = withObject "ListServicesResponse" $ \o -> ListServicesResponse-        <$> o .:? "nextToken"-        <*> o .:? "serviceArns" .!= mempty+-- | The response status code.+lsrsStatus :: Lens' ListServicesResponse Int+lsrsStatus = lens _lsrsStatus (\ s a -> s{_lsrsStatus = a});
gen/Network/AWS/ECS/ListTaskDefinitionFamilies.hs view
@@ -1,151 +1,190 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.ECS.ListTaskDefinitionFamilies--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns a list of task definition families that are registered to your--- account. You can filter the results with the 'familyPrefix' parameter.+-- Returns a list of task definition families that are registered to your+-- account (which may include task definition families that no longer have+-- any 'ACTIVE' task definitions). You can filter the results with the+-- 'familyPrefix' parameter. ----- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListTaskDefinitionFamilies.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListTaskDefinitionFamilies.html AWS API Reference> for ListTaskDefinitionFamilies.+--+-- This operation returns paginated results. module Network.AWS.ECS.ListTaskDefinitionFamilies     (-    -- * Request-      ListTaskDefinitionFamilies-    -- ** Request constructor-    , listTaskDefinitionFamilies-    -- ** Request lenses+    -- * Creating a Request+      listTaskDefinitionFamilies+    , ListTaskDefinitionFamilies+    -- * Request Lenses     , ltdfFamilyPrefix-    , ltdfMaxResults     , ltdfNextToken+    , ltdfMaxResults -    -- * Response-    , ListTaskDefinitionFamiliesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , listTaskDefinitionFamiliesResponse-    -- ** Response lenses-    , ltdfrFamilies-    , ltdfrNextToken+    , ListTaskDefinitionFamiliesResponse+    -- * Response Lenses+    , ltdfrsFamilies+    , ltdfrsNextToken+    , ltdfrsStatus     ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.ECS.Types-import qualified GHC.Exts+import           Network.AWS.ECS.Types+import           Network.AWS.ECS.Types.Product+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data ListTaskDefinitionFamilies = ListTaskDefinitionFamilies-    { _ltdfFamilyPrefix :: Maybe Text-    , _ltdfMaxResults   :: Maybe Int-    , _ltdfNextToken    :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'listTaskDefinitionFamilies' smart constructor.+data ListTaskDefinitionFamilies = ListTaskDefinitionFamilies'+    { _ltdfFamilyPrefix :: !(Maybe Text)+    , _ltdfNextToken    :: !(Maybe Text)+    , _ltdfMaxResults   :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ListTaskDefinitionFamilies' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ListTaskDefinitionFamilies' with the minimum fields required to make a request. ----- * 'ltdfFamilyPrefix' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ltdfMaxResults' @::@ 'Maybe' 'Int'+-- * 'ltdfFamilyPrefix' ----- * 'ltdfNextToken' @::@ 'Maybe' 'Text'+-- * 'ltdfNextToken' ---listTaskDefinitionFamilies :: ListTaskDefinitionFamilies-listTaskDefinitionFamilies = ListTaskDefinitionFamilies+-- * 'ltdfMaxResults'+listTaskDefinitionFamilies+    :: ListTaskDefinitionFamilies+listTaskDefinitionFamilies =+    ListTaskDefinitionFamilies'     { _ltdfFamilyPrefix = Nothing-    , _ltdfNextToken    = Nothing-    , _ltdfMaxResults   = Nothing+    , _ltdfNextToken = Nothing+    , _ltdfMaxResults = Nothing     } --- | The 'familyPrefix' is a string that is used to filter the results of 'ListTaskDefinitionFamilies'. If you specify a 'familyPrefix', only task definition family names that begin--- with the 'familyPrefix' string are returned.+-- | The 'familyPrefix' is a string that is used to filter the results of+-- 'ListTaskDefinitionFamilies'. If you specify a 'familyPrefix', only task+-- definition family names that begin with the 'familyPrefix' string are+-- returned. ltdfFamilyPrefix :: Lens' ListTaskDefinitionFamilies (Maybe Text)-ltdfFamilyPrefix = lens _ltdfFamilyPrefix (\s a -> s { _ltdfFamilyPrefix = a })---- | The maximum number of task definition family results returned by 'ListTaskDefinitionFamilies' in paginated output. When this parameter is used, 'ListTaskDefinitions' only--- returns 'maxResults' results in a single page along with a 'nextToken' response--- element. The remaining results of the initial request can be seen by sending--- another 'ListTaskDefinitionFamilies' request with the returned 'nextToken' value.--- This value can be between 1 and 100. If this parameter is not used, then 'ListTaskDefinitionFamilies' returns up to 100 results and a 'nextToken' value if applicable.-ltdfMaxResults :: Lens' ListTaskDefinitionFamilies (Maybe Int)-ltdfMaxResults = lens _ltdfMaxResults (\s a -> s { _ltdfMaxResults = a })+ltdfFamilyPrefix = lens _ltdfFamilyPrefix (\ s a -> s{_ltdfFamilyPrefix = a}); --- | The 'nextToken' value returned from a previous paginated 'ListTaskDefinitionFamilies' request where 'maxResults' was used and the results exceeded the value of that--- parameter. Pagination continues from the end of the previous results that--- returned the 'nextToken' value. This value is 'null' when there are no more--- results to return.+-- | The 'nextToken' value returned from a previous paginated+-- 'ListTaskDefinitionFamilies' request where 'maxResults' was used and the+-- results exceeded the value of that parameter. Pagination continues from+-- the end of the previous results that returned the 'nextToken' value.+-- This value is 'null' when there are no more results to return. ltdfNextToken :: Lens' ListTaskDefinitionFamilies (Maybe Text)-ltdfNextToken = lens _ltdfNextToken (\s a -> s { _ltdfNextToken = a })+ltdfNextToken = lens _ltdfNextToken (\ s a -> s{_ltdfNextToken = a}); -data ListTaskDefinitionFamiliesResponse = ListTaskDefinitionFamiliesResponse-    { _ltdfrFamilies  :: List "families" Text-    , _ltdfrNextToken :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+-- | The maximum number of task definition family results returned by+-- 'ListTaskDefinitionFamilies' in paginated output. When this parameter is+-- used, 'ListTaskDefinitions' only returns 'maxResults' results in a+-- single page along with a 'nextToken' response element. The remaining+-- results of the initial request can be seen by sending another+-- 'ListTaskDefinitionFamilies' request with the returned 'nextToken'+-- value. This value can be between 1 and 100. If this parameter is not+-- used, then 'ListTaskDefinitionFamilies' returns up to 100 results and a+-- 'nextToken' value if applicable.+ltdfMaxResults :: Lens' ListTaskDefinitionFamilies (Maybe Int)+ltdfMaxResults = lens _ltdfMaxResults (\ s a -> s{_ltdfMaxResults = a}); --- | 'ListTaskDefinitionFamiliesResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'ltdfrFamilies' @::@ ['Text']------ * 'ltdfrNextToken' @::@ 'Maybe' 'Text'----listTaskDefinitionFamiliesResponse :: ListTaskDefinitionFamiliesResponse-listTaskDefinitionFamiliesResponse = ListTaskDefinitionFamiliesResponse-    { _ltdfrFamilies  = mempty-    , _ltdfrNextToken = Nothing-    }+instance AWSPager ListTaskDefinitionFamilies where+        page rq rs+          | stop (rs ^. ltdfrsNextToken) = Nothing+          | stop (rs ^. ltdfrsFamilies) = Nothing+          | otherwise =+            Just $ rq & ltdfNextToken .~ rs ^. ltdfrsNextToken --- | The list of task definition family names that match the 'ListTaskDefinitionFamilies' request.-ltdfrFamilies :: Lens' ListTaskDefinitionFamiliesResponse [Text]-ltdfrFamilies = lens _ltdfrFamilies (\s a -> s { _ltdfrFamilies = a }) . _List+instance AWSRequest ListTaskDefinitionFamilies where+        type Sv ListTaskDefinitionFamilies = ECS+        type Rs ListTaskDefinitionFamilies =+             ListTaskDefinitionFamiliesResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 ListTaskDefinitionFamiliesResponse' <$>+                   (x .?> "families" .!@ mempty) <*> (x .?> "nextToken")+                     <*> (pure (fromEnum s))) --- | The 'nextToken' value to include in a future 'ListTaskDefinitionFamilies'--- request. When the results of a 'ListTaskDefinitionFamilies' request exceed 'maxResults', this value can be used to retrieve the next page of results. This value is 'null' when there are no more results to return.-ltdfrNextToken :: Lens' ListTaskDefinitionFamiliesResponse (Maybe Text)-ltdfrNextToken = lens _ltdfrNextToken (\s a -> s { _ltdfrNextToken = a })+instance ToHeaders ListTaskDefinitionFamilies where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AmazonEC2ContainerServiceV20141113.ListTaskDefinitionFamilies"+                       :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)]) +instance ToJSON ListTaskDefinitionFamilies where+        toJSON ListTaskDefinitionFamilies'{..}+          = object+              ["familyPrefix" .= _ltdfFamilyPrefix,+               "nextToken" .= _ltdfNextToken,+               "maxResults" .= _ltdfMaxResults]+ instance ToPath ListTaskDefinitionFamilies where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ListTaskDefinitionFamilies where-    toQuery = const mempty+        toQuery = const mempty -instance ToHeaders ListTaskDefinitionFamilies+-- | /See:/ 'listTaskDefinitionFamiliesResponse' smart constructor.+data ListTaskDefinitionFamiliesResponse = ListTaskDefinitionFamiliesResponse'+    { _ltdfrsFamilies  :: !(Maybe [Text])+    , _ltdfrsNextToken :: !(Maybe Text)+    , _ltdfrsStatus    :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance ToJSON ListTaskDefinitionFamilies where-    toJSON ListTaskDefinitionFamilies{..} = object-        [ "familyPrefix" .= _ltdfFamilyPrefix-        , "nextToken"    .= _ltdfNextToken-        , "maxResults"   .= _ltdfMaxResults-        ]+-- | Creates a value of 'ListTaskDefinitionFamiliesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ltdfrsFamilies'+--+-- * 'ltdfrsNextToken'+--+-- * 'ltdfrsStatus'+listTaskDefinitionFamiliesResponse+    :: Int -- ^ 'ltdfrsStatus'+    -> ListTaskDefinitionFamiliesResponse+listTaskDefinitionFamiliesResponse pStatus_ =+    ListTaskDefinitionFamiliesResponse'+    { _ltdfrsFamilies = Nothing+    , _ltdfrsNextToken = Nothing+    , _ltdfrsStatus = pStatus_+    } -instance AWSRequest ListTaskDefinitionFamilies where-    type Sv ListTaskDefinitionFamilies = ECS-    type Rs ListTaskDefinitionFamilies = ListTaskDefinitionFamiliesResponse+-- | The list of task definition family names that match the+-- 'ListTaskDefinitionFamilies' request.+ltdfrsFamilies :: Lens' ListTaskDefinitionFamiliesResponse [Text]+ltdfrsFamilies = lens _ltdfrsFamilies (\ s a -> s{_ltdfrsFamilies = a}) . _Default . _Coerce; -    request  = post "ListTaskDefinitionFamilies"-    response = jsonResponse+-- | The 'nextToken' value to include in a future+-- 'ListTaskDefinitionFamilies' request. When the results of a+-- 'ListTaskDefinitionFamilies' request exceed 'maxResults', this value can+-- be used to retrieve the next page of results. This value is 'null' when+-- there are no more results to return.+ltdfrsNextToken :: Lens' ListTaskDefinitionFamiliesResponse (Maybe Text)+ltdfrsNextToken = lens _ltdfrsNextToken (\ s a -> s{_ltdfrsNextToken = a}); -instance FromJSON ListTaskDefinitionFamiliesResponse where-    parseJSON = withObject "ListTaskDefinitionFamiliesResponse" $ \o -> ListTaskDefinitionFamiliesResponse-        <$> o .:? "families" .!= mempty-        <*> o .:? "nextToken"+-- | The response status code.+ltdfrsStatus :: Lens' ListTaskDefinitionFamiliesResponse Int+ltdfrsStatus = lens _ltdfrsStatus (\ s a -> s{_ltdfrsStatus = a});
gen/Network/AWS/ECS/ListTaskDefinitions.hs view
@@ -1,158 +1,217 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.ECS.ListTaskDefinitions--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns a list of task definitions that are registered to your account. You--- can filter the results by family name with the 'familyPrefix' parameter.+-- Returns a list of task definitions that are registered to your account.+-- You can filter the results by family name with the 'familyPrefix'+-- parameter or by status with the 'status' parameter. ----- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListTaskDefinitions.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListTaskDefinitions.html AWS API Reference> for ListTaskDefinitions.+--+-- This operation returns paginated results. module Network.AWS.ECS.ListTaskDefinitions     (-    -- * Request-      ListTaskDefinitions-    -- ** Request constructor-    , listTaskDefinitions-    -- ** Request lenses+    -- * Creating a Request+      listTaskDefinitions+    , ListTaskDefinitions+    -- * Request Lenses+    , ltdStatus     , ltdFamilyPrefix-    , ltdMaxResults     , ltdNextToken+    , ltdSort+    , ltdMaxResults -    -- * Response-    , ListTaskDefinitionsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , listTaskDefinitionsResponse-    -- ** Response lenses-    , ltdrNextToken-    , ltdrTaskDefinitionArns+    , ListTaskDefinitionsResponse+    -- * Response Lenses+    , ltdrsTaskDefinitionARNs+    , ltdrsNextToken+    , ltdrsStatus     ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.ECS.Types-import qualified GHC.Exts+import           Network.AWS.ECS.Types+import           Network.AWS.ECS.Types.Product+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data ListTaskDefinitions = ListTaskDefinitions-    { _ltdFamilyPrefix :: Maybe Text-    , _ltdMaxResults   :: Maybe Int-    , _ltdNextToken    :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'listTaskDefinitions' smart constructor.+data ListTaskDefinitions = ListTaskDefinitions'+    { _ltdStatus       :: !(Maybe TaskDefinitionStatus)+    , _ltdFamilyPrefix :: !(Maybe Text)+    , _ltdNextToken    :: !(Maybe Text)+    , _ltdSort         :: !(Maybe SortOrder)+    , _ltdMaxResults   :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ListTaskDefinitions' constructor.+-- | Creates a value of 'ListTaskDefinitions' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'ltdFamilyPrefix' @::@ 'Maybe' 'Text'+-- * 'ltdStatus' ----- * 'ltdMaxResults' @::@ 'Maybe' 'Int'+-- * 'ltdFamilyPrefix' ----- * 'ltdNextToken' @::@ 'Maybe' 'Text'+-- * 'ltdNextToken' ---listTaskDefinitions :: ListTaskDefinitions-listTaskDefinitions = ListTaskDefinitions-    { _ltdFamilyPrefix = Nothing-    , _ltdNextToken    = Nothing-    , _ltdMaxResults   = Nothing+-- * 'ltdSort'+--+-- * 'ltdMaxResults'+listTaskDefinitions+    :: ListTaskDefinitions+listTaskDefinitions =+    ListTaskDefinitions'+    { _ltdStatus = Nothing+    , _ltdFamilyPrefix = Nothing+    , _ltdNextToken = Nothing+    , _ltdSort = Nothing+    , _ltdMaxResults = Nothing     } --- | The full family name that you want to filter the 'ListTaskDefinitions' results--- with. Specifying a 'familyPrefix' will limit the listed task definitions to--- task definition revisions that belong to that family.-ltdFamilyPrefix :: Lens' ListTaskDefinitions (Maybe Text)-ltdFamilyPrefix = lens _ltdFamilyPrefix (\s a -> s { _ltdFamilyPrefix = a })+-- | The task definition status that you want to filter the+-- 'ListTaskDefinitions' results with. By default, only 'ACTIVE' task+-- definitions are listed. By setting this parameter to 'INACTIVE', you can+-- view task definitions that are 'INACTIVE' as long as an active task or+-- service still references them. If you paginate the resulting output, be+-- sure to keep the 'status' value constant in each subsequent request.+ltdStatus :: Lens' ListTaskDefinitions (Maybe TaskDefinitionStatus)+ltdStatus = lens _ltdStatus (\ s a -> s{_ltdStatus = a}); --- | The maximum number of task definition results returned by 'ListTaskDefinitions'--- in paginated output. When this parameter is used, 'ListTaskDefinitions' only--- returns 'maxResults' results in a single page along with a 'nextToken' response--- element. The remaining results of the initial request can be seen by sending--- another 'ListTaskDefinitions' request with the returned 'nextToken' value. This--- value can be between 1 and 100. If this parameter is not used, then 'ListTaskDefinitions' returns up to 100 results and a 'nextToken' value if applicable.-ltdMaxResults :: Lens' ListTaskDefinitions (Maybe Int)-ltdMaxResults = lens _ltdMaxResults (\s a -> s { _ltdMaxResults = a })+-- | The full family name that you want to filter the 'ListTaskDefinitions'+-- results with. Specifying a 'familyPrefix' will limit the listed task+-- definitions to task definition revisions that belong to that family.+ltdFamilyPrefix :: Lens' ListTaskDefinitions (Maybe Text)+ltdFamilyPrefix = lens _ltdFamilyPrefix (\ s a -> s{_ltdFamilyPrefix = a}); --- | The 'nextToken' value returned from a previous paginated 'ListTaskDefinitions'--- request where 'maxResults' was used and the results exceeded the value of that--- parameter. Pagination continues from the end of the previous results that--- returned the 'nextToken' value. This value is 'null' when there are no more--- results to return.+-- | The 'nextToken' value returned from a previous paginated+-- 'ListTaskDefinitions' request where 'maxResults' was used and the+-- results exceeded the value of that parameter. Pagination continues from+-- the end of the previous results that returned the 'nextToken' value.+-- This value is 'null' when there are no more results to return. ltdNextToken :: Lens' ListTaskDefinitions (Maybe Text)-ltdNextToken = lens _ltdNextToken (\s a -> s { _ltdNextToken = a })+ltdNextToken = lens _ltdNextToken (\ s a -> s{_ltdNextToken = a}); -data ListTaskDefinitionsResponse = ListTaskDefinitionsResponse-    { _ltdrNextToken          :: Maybe Text-    , _ltdrTaskDefinitionArns :: List "taskDefinitionArns" Text-    } deriving (Eq, Ord, Read, Show)+-- | The order in which to sort the results. Valid values are 'ASC' and+-- 'DESC'. By default ('ASC'), task definitions are listed+-- lexicographically by family name and in ascending numerical order by+-- revision so that the newest task definitions in a family are listed+-- last. Setting this parameter to 'DESC' reverses the sort order on family+-- name and revision so that the newest task definitions in a family are+-- listed first.+ltdSort :: Lens' ListTaskDefinitions (Maybe SortOrder)+ltdSort = lens _ltdSort (\ s a -> s{_ltdSort = a}); --- | 'ListTaskDefinitionsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'ltdrNextToken' @::@ 'Maybe' 'Text'------ * 'ltdrTaskDefinitionArns' @::@ ['Text']----listTaskDefinitionsResponse :: ListTaskDefinitionsResponse-listTaskDefinitionsResponse = ListTaskDefinitionsResponse-    { _ltdrTaskDefinitionArns = mempty-    , _ltdrNextToken          = Nothing-    }+-- | The maximum number of task definition results returned by+-- 'ListTaskDefinitions' in paginated output. When this parameter is used,+-- 'ListTaskDefinitions' only returns 'maxResults' results in a single page+-- along with a 'nextToken' response element. The remaining results of the+-- initial request can be seen by sending another 'ListTaskDefinitions'+-- request with the returned 'nextToken' value. This value can be between 1+-- and 100. If this parameter is not used, then 'ListTaskDefinitions'+-- returns up to 100 results and a 'nextToken' value if applicable.+ltdMaxResults :: Lens' ListTaskDefinitions (Maybe Int)+ltdMaxResults = lens _ltdMaxResults (\ s a -> s{_ltdMaxResults = a}); --- | The 'nextToken' value to include in a future 'ListTaskDefinitions' request. When--- the results of a 'ListTaskDefinitions' request exceed 'maxResults', this value--- can be used to retrieve the next page of results. This value is 'null' when--- there are no more results to return.-ltdrNextToken :: Lens' ListTaskDefinitionsResponse (Maybe Text)-ltdrNextToken = lens _ltdrNextToken (\s a -> s { _ltdrNextToken = a })+instance AWSPager ListTaskDefinitions where+        page rq rs+          | stop (rs ^. ltdrsNextToken) = Nothing+          | stop (rs ^. ltdrsTaskDefinitionARNs) = Nothing+          | otherwise =+            Just $ rq & ltdNextToken .~ rs ^. ltdrsNextToken --- | The list of task definition Amazon Resource Name (ARN) entries for the 'ListTaskDefintions' request.-ltdrTaskDefinitionArns :: Lens' ListTaskDefinitionsResponse [Text]-ltdrTaskDefinitionArns =-    lens _ltdrTaskDefinitionArns (\s a -> s { _ltdrTaskDefinitionArns = a })-        . _List+instance AWSRequest ListTaskDefinitions where+        type Sv ListTaskDefinitions = ECS+        type Rs ListTaskDefinitions =+             ListTaskDefinitionsResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 ListTaskDefinitionsResponse' <$>+                   (x .?> "taskDefinitionArns" .!@ mempty) <*>+                     (x .?> "nextToken")+                     <*> (pure (fromEnum s))) +instance ToHeaders ListTaskDefinitions where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AmazonEC2ContainerServiceV20141113.ListTaskDefinitions"+                       :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON ListTaskDefinitions where+        toJSON ListTaskDefinitions'{..}+          = object+              ["status" .= _ltdStatus,+               "familyPrefix" .= _ltdFamilyPrefix,+               "nextToken" .= _ltdNextToken, "sort" .= _ltdSort,+               "maxResults" .= _ltdMaxResults]+ instance ToPath ListTaskDefinitions where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ListTaskDefinitions where-    toQuery = const mempty+        toQuery = const mempty -instance ToHeaders ListTaskDefinitions+-- | /See:/ 'listTaskDefinitionsResponse' smart constructor.+data ListTaskDefinitionsResponse = ListTaskDefinitionsResponse'+    { _ltdrsTaskDefinitionARNs :: !(Maybe [Text])+    , _ltdrsNextToken          :: !(Maybe Text)+    , _ltdrsStatus             :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance ToJSON ListTaskDefinitions where-    toJSON ListTaskDefinitions{..} = object-        [ "familyPrefix" .= _ltdFamilyPrefix-        , "nextToken"    .= _ltdNextToken-        , "maxResults"   .= _ltdMaxResults-        ]+-- | Creates a value of 'ListTaskDefinitionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ltdrsTaskDefinitionARNs'+--+-- * 'ltdrsNextToken'+--+-- * 'ltdrsStatus'+listTaskDefinitionsResponse+    :: Int -- ^ 'ltdrsStatus'+    -> ListTaskDefinitionsResponse+listTaskDefinitionsResponse pStatus_ =+    ListTaskDefinitionsResponse'+    { _ltdrsTaskDefinitionARNs = Nothing+    , _ltdrsNextToken = Nothing+    , _ltdrsStatus = pStatus_+    } -instance AWSRequest ListTaskDefinitions where-    type Sv ListTaskDefinitions = ECS-    type Rs ListTaskDefinitions = ListTaskDefinitionsResponse+-- | The list of task definition Amazon Resource Name (ARN) entries for the+-- 'ListTaskDefintions' request.+ltdrsTaskDefinitionARNs :: Lens' ListTaskDefinitionsResponse [Text]+ltdrsTaskDefinitionARNs = lens _ltdrsTaskDefinitionARNs (\ s a -> s{_ltdrsTaskDefinitionARNs = a}) . _Default . _Coerce; -    request  = post "ListTaskDefinitions"-    response = jsonResponse+-- | The 'nextToken' value to include in a future 'ListTaskDefinitions'+-- request. When the results of a 'ListTaskDefinitions' request exceed+-- 'maxResults', this value can be used to retrieve the next page of+-- results. This value is 'null' when there are no more results to return.+ltdrsNextToken :: Lens' ListTaskDefinitionsResponse (Maybe Text)+ltdrsNextToken = lens _ltdrsNextToken (\ s a -> s{_ltdrsNextToken = a}); -instance FromJSON ListTaskDefinitionsResponse where-    parseJSON = withObject "ListTaskDefinitionsResponse" $ \o -> ListTaskDefinitionsResponse-        <$> o .:? "nextToken"-        <*> o .:? "taskDefinitionArns" .!= mempty+-- | The response status code.+ltdrsStatus :: Lens' ListTaskDefinitionsResponse Int+ltdrsStatus = lens _ltdrsStatus (\ s a -> s{_ltdrsStatus = a});
gen/Network/AWS/ECS/ListTasks.hs view
@@ -1,206 +1,248 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.ECS.ListTasks--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns a list of tasks for a specified cluster. You can filter the results--- by family name or by a particular container instance with the 'family' and 'containerInstance' parameters.+-- Returns a list of tasks for a specified cluster. You can filter the+-- results by family name, by a particular container instance, or by the+-- desired status of the task with the 'family', 'containerInstance', and+-- 'desiredStatus' parameters. ----- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListTasks.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListTasks.html AWS API Reference> for ListTasks.+--+-- This operation returns paginated results. module Network.AWS.ECS.ListTasks     (-    -- * Request-      ListTasks-    -- ** Request constructor-    , listTasks-    -- ** Request lenses+    -- * Creating a Request+      listTasks+    , ListTasks+    -- * Request Lenses+    , ltDesiredStatus     , ltCluster-    , ltContainerInstance     , ltFamily-    , ltMaxResults     , ltNextToken-    , ltServiceName     , ltStartedBy+    , ltServiceName+    , ltContainerInstance+    , ltMaxResults -    -- * Response-    , ListTasksResponse-    -- ** Response constructor+    -- * Destructuring the Response     , listTasksResponse-    -- ** Response lenses-    , ltrNextToken-    , ltrTaskArns+    , ListTasksResponse+    -- * Response Lenses+    , ltrsNextToken+    , ltrsTaskARNs+    , ltrsStatus     ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.ECS.Types-import qualified GHC.Exts+import           Network.AWS.ECS.Types+import           Network.AWS.ECS.Types.Product+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data ListTasks = ListTasks-    { _ltCluster           :: Maybe Text-    , _ltContainerInstance :: Maybe Text-    , _ltFamily            :: Maybe Text-    , _ltMaxResults        :: Maybe Int-    , _ltNextToken         :: Maybe Text-    , _ltServiceName       :: Maybe Text-    , _ltStartedBy         :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'listTasks' smart constructor.+data ListTasks = ListTasks'+    { _ltDesiredStatus     :: !(Maybe DesiredStatus)+    , _ltCluster           :: !(Maybe Text)+    , _ltFamily            :: !(Maybe Text)+    , _ltNextToken         :: !(Maybe Text)+    , _ltStartedBy         :: !(Maybe Text)+    , _ltServiceName       :: !(Maybe Text)+    , _ltContainerInstance :: !(Maybe Text)+    , _ltMaxResults        :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ListTasks' constructor.+-- | Creates a value of 'ListTasks' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'ltCluster' @::@ 'Maybe' 'Text'+-- * 'ltDesiredStatus' ----- * 'ltContainerInstance' @::@ 'Maybe' 'Text'+-- * 'ltCluster' ----- * 'ltFamily' @::@ 'Maybe' 'Text'+-- * 'ltFamily' ----- * 'ltMaxResults' @::@ 'Maybe' 'Int'+-- * 'ltNextToken' ----- * 'ltNextToken' @::@ 'Maybe' 'Text'+-- * 'ltStartedBy' ----- * 'ltServiceName' @::@ 'Maybe' 'Text'+-- * 'ltServiceName' ----- * 'ltStartedBy' @::@ 'Maybe' 'Text'+-- * 'ltContainerInstance' ---listTasks :: ListTasks-listTasks = ListTasks-    { _ltCluster           = Nothing+-- * 'ltMaxResults'+listTasks+    :: ListTasks+listTasks =+    ListTasks'+    { _ltDesiredStatus = Nothing+    , _ltCluster = Nothing+    , _ltFamily = Nothing+    , _ltNextToken = Nothing+    , _ltStartedBy = Nothing+    , _ltServiceName = Nothing     , _ltContainerInstance = Nothing-    , _ltFamily            = Nothing-    , _ltNextToken         = Nothing-    , _ltMaxResults        = Nothing-    , _ltStartedBy         = Nothing-    , _ltServiceName       = Nothing+    , _ltMaxResults = Nothing     } --- | The short name or full Amazon Resource Name (ARN) of the cluster that hosts--- the tasks you want to list. If you do not specify a cluster, the default--- cluster is assumed..-ltCluster :: Lens' ListTasks (Maybe Text)-ltCluster = lens _ltCluster (\s a -> s { _ltCluster = a })+-- | The task status that you want to filter the 'ListTasks' results with.+-- Specifying a 'desiredStatus' of 'STOPPED' will limit the results to+-- tasks that are in the 'STOPPED' status, which can be useful for+-- debugging tasks that are not starting properly or have died or finished.+-- The default status filter is 'RUNNING'.+ltDesiredStatus :: Lens' ListTasks (Maybe DesiredStatus)+ltDesiredStatus = lens _ltDesiredStatus (\ s a -> s{_ltDesiredStatus = a}); --- | The container instance UUID or full Amazon Resource Name (ARN) of the--- container instance that you want to filter the 'ListTasks' results with.--- Specifying a 'containerInstance' will limit the results to tasks that belong to--- that container instance.-ltContainerInstance :: Lens' ListTasks (Maybe Text)-ltContainerInstance =-    lens _ltContainerInstance (\s a -> s { _ltContainerInstance = a })+-- | The short name or full Amazon Resource Name (ARN) of the cluster that+-- hosts the tasks you want to list. If you do not specify a cluster, the+-- default cluster is assumed..+ltCluster :: Lens' ListTasks (Maybe Text)+ltCluster = lens _ltCluster (\ s a -> s{_ltCluster = a}); --- | The name of the family that you want to filter the 'ListTasks' results with.--- Specifying a 'family' will limit the results to tasks that belong to that--- family.+-- | The name of the family that you want to filter the 'ListTasks' results+-- with. Specifying a 'family' will limit the results to tasks that belong+-- to that family. ltFamily :: Lens' ListTasks (Maybe Text)-ltFamily = lens _ltFamily (\s a -> s { _ltFamily = a })---- | The maximum number of task results returned by 'ListTasks' in paginated output.--- When this parameter is used, 'ListTasks' only returns 'maxResults' results in a--- single page along with a 'nextToken' response element. The remaining results of--- the initial request can be seen by sending another 'ListTasks' request with the--- returned 'nextToken' value. This value can be between 1 and 100. If this--- parameter is not used, then 'ListTasks' returns up to 100 results and a 'nextToken' value if applicable.-ltMaxResults :: Lens' ListTasks (Maybe Int)-ltMaxResults = lens _ltMaxResults (\s a -> s { _ltMaxResults = a })+ltFamily = lens _ltFamily (\ s a -> s{_ltFamily = a}); --- | The 'nextToken' value returned from a previous paginated 'ListTasks' request--- where 'maxResults' was used and the results exceeded the value of that--- parameter. Pagination continues from the end of the previous results that--- returned the 'nextToken' value. This value is 'null' when there are no more--- results to return.+-- | The 'nextToken' value returned from a previous paginated 'ListTasks'+-- request where 'maxResults' was used and the results exceeded the value+-- of that parameter. Pagination continues from the end of the previous+-- results that returned the 'nextToken' value. This value is 'null' when+-- there are no more results to return. ltNextToken :: Lens' ListTasks (Maybe Text)-ltNextToken = lens _ltNextToken (\s a -> s { _ltNextToken = a })+ltNextToken = lens _ltNextToken (\ s a -> s{_ltNextToken = a}); --- | The name of the service that you want to filter the 'ListTasks' results with.--- Specifying a 'serviceName' will limit the results to tasks that belong to that--- service.+-- | The 'startedBy' value that you want to filter the task results with.+-- Specifying a 'startedBy' value will limit the results to tasks that were+-- started with that value.+ltStartedBy :: Lens' ListTasks (Maybe Text)+ltStartedBy = lens _ltStartedBy (\ s a -> s{_ltStartedBy = a});++-- | The name of the service that you want to filter the 'ListTasks' results+-- with. Specifying a 'serviceName' will limit the results to tasks that+-- belong to that service. ltServiceName :: Lens' ListTasks (Maybe Text)-ltServiceName = lens _ltServiceName (\s a -> s { _ltServiceName = a })+ltServiceName = lens _ltServiceName (\ s a -> s{_ltServiceName = a}); --- | The 'startedBy' value that you want to filter the task results with. Specifying--- a 'startedBy' value will limit the results to tasks that were started with that--- value.-ltStartedBy :: Lens' ListTasks (Maybe Text)-ltStartedBy = lens _ltStartedBy (\s a -> s { _ltStartedBy = a })+-- | The container instance UUID or full Amazon Resource Name (ARN) of the+-- container instance that you want to filter the 'ListTasks' results with.+-- Specifying a 'containerInstance' will limit the results to tasks that+-- belong to that container instance.+ltContainerInstance :: Lens' ListTasks (Maybe Text)+ltContainerInstance = lens _ltContainerInstance (\ s a -> s{_ltContainerInstance = a}); -data ListTasksResponse = ListTasksResponse-    { _ltrNextToken :: Maybe Text-    , _ltrTaskArns  :: List "taskArns" Text-    } deriving (Eq, Ord, Read, Show)+-- | The maximum number of task results returned by 'ListTasks' in paginated+-- output. When this parameter is used, 'ListTasks' only returns+-- 'maxResults' results in a single page along with a 'nextToken' response+-- element. The remaining results of the initial request can be seen by+-- sending another 'ListTasks' request with the returned 'nextToken' value.+-- This value can be between 1 and 100. If this parameter is not used, then+-- 'ListTasks' returns up to 100 results and a 'nextToken' value if+-- applicable.+ltMaxResults :: Lens' ListTasks (Maybe Int)+ltMaxResults = lens _ltMaxResults (\ s a -> s{_ltMaxResults = a}); --- | 'ListTasksResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'ltrNextToken' @::@ 'Maybe' 'Text'------ * 'ltrTaskArns' @::@ ['Text']----listTasksResponse :: ListTasksResponse-listTasksResponse = ListTasksResponse-    { _ltrTaskArns  = mempty-    , _ltrNextToken = Nothing-    }+instance AWSPager ListTasks where+        page rq rs+          | stop (rs ^. ltrsNextToken) = Nothing+          | stop (rs ^. ltrsTaskARNs) = Nothing+          | otherwise =+            Just $ rq & ltNextToken .~ rs ^. ltrsNextToken --- | The 'nextToken' value to include in a future 'ListTasks' request. When the--- results of a 'ListTasks' request exceed 'maxResults', this value can be used to--- retrieve the next page of results. This value is 'null' when there are no more--- results to return.-ltrNextToken :: Lens' ListTasksResponse (Maybe Text)-ltrNextToken = lens _ltrNextToken (\s a -> s { _ltrNextToken = a })+instance AWSRequest ListTasks where+        type Sv ListTasks = ECS+        type Rs ListTasks = ListTasksResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 ListTasksResponse' <$>+                   (x .?> "nextToken") <*> (x .?> "taskArns" .!@ mempty)+                     <*> (pure (fromEnum s))) --- | The list of task Amazon Resource Name (ARN) entries for the 'ListTasks' request.-ltrTaskArns :: Lens' ListTasksResponse [Text]-ltrTaskArns = lens _ltrTaskArns (\s a -> s { _ltrTaskArns = a }) . _List+instance ToHeaders ListTasks where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AmazonEC2ContainerServiceV20141113.ListTasks" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)]) +instance ToJSON ListTasks where+        toJSON ListTasks'{..}+          = object+              ["desiredStatus" .= _ltDesiredStatus,+               "cluster" .= _ltCluster, "family" .= _ltFamily,+               "nextToken" .= _ltNextToken,+               "startedBy" .= _ltStartedBy,+               "serviceName" .= _ltServiceName,+               "containerInstance" .= _ltContainerInstance,+               "maxResults" .= _ltMaxResults]+ instance ToPath ListTasks where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ListTasks where-    toQuery = const mempty+        toQuery = const mempty -instance ToHeaders ListTasks+-- | /See:/ 'listTasksResponse' smart constructor.+data ListTasksResponse = ListTasksResponse'+    { _ltrsNextToken :: !(Maybe Text)+    , _ltrsTaskARNs  :: !(Maybe [Text])+    , _ltrsStatus    :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance ToJSON ListTasks where-    toJSON ListTasks{..} = object-        [ "cluster"           .= _ltCluster-        , "containerInstance" .= _ltContainerInstance-        , "family"            .= _ltFamily-        , "nextToken"         .= _ltNextToken-        , "maxResults"        .= _ltMaxResults-        , "startedBy"         .= _ltStartedBy-        , "serviceName"       .= _ltServiceName-        ]+-- | Creates a value of 'ListTasksResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ltrsNextToken'+--+-- * 'ltrsTaskARNs'+--+-- * 'ltrsStatus'+listTasksResponse+    :: Int -- ^ 'ltrsStatus'+    -> ListTasksResponse+listTasksResponse pStatus_ =+    ListTasksResponse'+    { _ltrsNextToken = Nothing+    , _ltrsTaskARNs = Nothing+    , _ltrsStatus = pStatus_+    } -instance AWSRequest ListTasks where-    type Sv ListTasks = ECS-    type Rs ListTasks = ListTasksResponse+-- | The 'nextToken' value to include in a future 'ListTasks' request. When+-- the results of a 'ListTasks' request exceed 'maxResults', this value can+-- be used to retrieve the next page of results. This value is 'null' when+-- there are no more results to return.+ltrsNextToken :: Lens' ListTasksResponse (Maybe Text)+ltrsNextToken = lens _ltrsNextToken (\ s a -> s{_ltrsNextToken = a}); -    request  = post "ListTasks"-    response = jsonResponse+-- | The list of task Amazon Resource Name (ARN) entries for the 'ListTasks'+-- request.+ltrsTaskARNs :: Lens' ListTasksResponse [Text]+ltrsTaskARNs = lens _ltrsTaskARNs (\ s a -> s{_ltrsTaskARNs = a}) . _Default . _Coerce; -instance FromJSON ListTasksResponse where-    parseJSON = withObject "ListTasksResponse" $ \o -> ListTasksResponse-        <$> o .:? "nextToken"-        <*> o .:? "taskArns" .!= mempty+-- | The response status code.+ltrsStatus :: Lens' ListTasksResponse Int+ltrsStatus = lens _ltrsStatus (\ s a -> s{_ltrsStatus = a});
gen/Network/AWS/ECS/RegisterContainerInstance.hs view
@@ -1,159 +1,193 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.ECS.RegisterContainerInstance--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | This action is only used by the Amazon EC2 Container Service agent, and it is--- not intended for use outside of the agent.+-- This action is only used by the Amazon EC2 Container Service agent, and+-- it is not intended for use outside of the agent. ----- Registers an Amazon EC2 instance into the specified cluster. This instance--- will become available to place containers on.+-- Registers an Amazon EC2 instance into the specified cluster. This+-- instance will become available to place containers on. ----- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RegisterContainerInstance.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RegisterContainerInstance.html AWS API Reference> for RegisterContainerInstance. module Network.AWS.ECS.RegisterContainerInstance     (-    -- * Request-      RegisterContainerInstance-    -- ** Request constructor-    , registerContainerInstance-    -- ** Request lenses+    -- * Creating a Request+      registerContainerInstance+    , RegisterContainerInstance+    -- * Request Lenses+    , rciInstanceIdentityDocumentSignature     , rciCluster     , rciInstanceIdentityDocument-    , rciInstanceIdentityDocumentSignature-    , rciTotalResources+    , rciContainerInstanceARN     , rciVersionInfo+    , rciTotalResources -    -- * Response-    , RegisterContainerInstanceResponse-    -- ** Response constructor+    -- * Destructuring the Response     , registerContainerInstanceResponse-    -- ** Response lenses-    , rcirContainerInstance+    , RegisterContainerInstanceResponse+    -- * Response Lenses+    , rcirsContainerInstance+    , rcirsStatus     ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.ECS.Types-import qualified GHC.Exts+import           Network.AWS.ECS.Types+import           Network.AWS.ECS.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data RegisterContainerInstance = RegisterContainerInstance-    { _rciCluster                           :: Maybe Text-    , _rciInstanceIdentityDocument          :: Maybe Text-    , _rciInstanceIdentityDocumentSignature :: Maybe Text-    , _rciTotalResources                    :: List "totalResources" Resource-    , _rciVersionInfo                       :: Maybe VersionInfo-    } deriving (Eq, Read, Show)+-- | /See:/ 'registerContainerInstance' smart constructor.+data RegisterContainerInstance = RegisterContainerInstance'+    { _rciInstanceIdentityDocumentSignature :: !(Maybe Text)+    , _rciCluster                           :: !(Maybe Text)+    , _rciInstanceIdentityDocument          :: !(Maybe Text)+    , _rciContainerInstanceARN              :: !(Maybe Text)+    , _rciVersionInfo                       :: !(Maybe VersionInfo)+    , _rciTotalResources                    :: !(Maybe [Resource])+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'RegisterContainerInstance' constructor.+-- | Creates a value of 'RegisterContainerInstance' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'rciCluster' @::@ 'Maybe' 'Text'+-- * 'rciInstanceIdentityDocumentSignature' ----- * 'rciInstanceIdentityDocument' @::@ 'Maybe' 'Text'+-- * 'rciCluster' ----- * 'rciInstanceIdentityDocumentSignature' @::@ 'Maybe' 'Text'+-- * 'rciInstanceIdentityDocument' ----- * 'rciTotalResources' @::@ ['Resource']+-- * 'rciContainerInstanceARN' ----- * 'rciVersionInfo' @::@ 'Maybe' 'VersionInfo'+-- * 'rciVersionInfo' ---registerContainerInstance :: RegisterContainerInstance-registerContainerInstance = RegisterContainerInstance-    { _rciCluster                           = Nothing-    , _rciInstanceIdentityDocument          = Nothing-    , _rciInstanceIdentityDocumentSignature = Nothing-    , _rciTotalResources                    = mempty-    , _rciVersionInfo                       = Nothing+-- * 'rciTotalResources'+registerContainerInstance+    :: RegisterContainerInstance+registerContainerInstance =+    RegisterContainerInstance'+    { _rciInstanceIdentityDocumentSignature = Nothing+    , _rciCluster = Nothing+    , _rciInstanceIdentityDocument = Nothing+    , _rciContainerInstanceARN = Nothing+    , _rciVersionInfo = Nothing+    , _rciTotalResources = Nothing     } --- | The short name or full Amazon Resource Name (ARN) of the cluster that you--- want to register your container instance with. If you do not specify a--- cluster, the default cluster is assumed..+-- | The instance identity document signature for the Amazon EC2 instance to+-- register. This signature can be found by running the following command+-- from the instance:+-- 'curl http:\/\/169.254.169.254\/latest\/dynamic\/instance-identity\/signature\/'+rciInstanceIdentityDocumentSignature :: Lens' RegisterContainerInstance (Maybe Text)+rciInstanceIdentityDocumentSignature = lens _rciInstanceIdentityDocumentSignature (\ s a -> s{_rciInstanceIdentityDocumentSignature = a});++-- | The short name or full Amazon Resource Name (ARN) of the cluster that+-- you want to register your container instance with. If you do not specify+-- a cluster, the default cluster is assumed.. rciCluster :: Lens' RegisterContainerInstance (Maybe Text)-rciCluster = lens _rciCluster (\s a -> s { _rciCluster = a })+rciCluster = lens _rciCluster (\ s a -> s{_rciCluster = a}); +-- | The instance identity document for the Amazon EC2 instance to register.+-- This document can be found by running the following command from the+-- instance:+-- 'curl http:\/\/169.254.169.254\/latest\/dynamic\/instance-identity\/document\/' rciInstanceIdentityDocument :: Lens' RegisterContainerInstance (Maybe Text)-rciInstanceIdentityDocument =-    lens _rciInstanceIdentityDocument-        (\s a -> s { _rciInstanceIdentityDocument = a })--rciInstanceIdentityDocumentSignature :: Lens' RegisterContainerInstance (Maybe Text)-rciInstanceIdentityDocumentSignature =-    lens _rciInstanceIdentityDocumentSignature-        (\s a -> s { _rciInstanceIdentityDocumentSignature = a })+rciInstanceIdentityDocument = lens _rciInstanceIdentityDocument (\ s a -> s{_rciInstanceIdentityDocument = a}); -rciTotalResources :: Lens' RegisterContainerInstance [Resource]-rciTotalResources =-    lens _rciTotalResources (\s a -> s { _rciTotalResources = a })-        . _List+-- | The Amazon Resource Name (ARN) of the container instance (if it was+-- previously registered).+rciContainerInstanceARN :: Lens' RegisterContainerInstance (Maybe Text)+rciContainerInstanceARN = lens _rciContainerInstanceARN (\ s a -> s{_rciContainerInstanceARN = a}); +-- | The version information for the Amazon ECS container agent and Docker+-- daemon running on the container instance. rciVersionInfo :: Lens' RegisterContainerInstance (Maybe VersionInfo)-rciVersionInfo = lens _rciVersionInfo (\s a -> s { _rciVersionInfo = a })+rciVersionInfo = lens _rciVersionInfo (\ s a -> s{_rciVersionInfo = a}); -newtype RegisterContainerInstanceResponse = RegisterContainerInstanceResponse-    { _rcirContainerInstance :: Maybe ContainerInstance-    } deriving (Eq, Read, Show)+-- | The resources available on the instance.+rciTotalResources :: Lens' RegisterContainerInstance [Resource]+rciTotalResources = lens _rciTotalResources (\ s a -> s{_rciTotalResources = a}) . _Default . _Coerce; --- | 'RegisterContainerInstanceResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'rcirContainerInstance' @::@ 'Maybe' 'ContainerInstance'----registerContainerInstanceResponse :: RegisterContainerInstanceResponse-registerContainerInstanceResponse = RegisterContainerInstanceResponse-    { _rcirContainerInstance = Nothing-    }+instance AWSRequest RegisterContainerInstance where+        type Sv RegisterContainerInstance = ECS+        type Rs RegisterContainerInstance =+             RegisterContainerInstanceResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 RegisterContainerInstanceResponse' <$>+                   (x .?> "containerInstance") <*> (pure (fromEnum s))) -rcirContainerInstance :: Lens' RegisterContainerInstanceResponse (Maybe ContainerInstance)-rcirContainerInstance =-    lens _rcirContainerInstance (\s a -> s { _rcirContainerInstance = a })+instance ToHeaders RegisterContainerInstance where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AmazonEC2ContainerServiceV20141113.RegisterContainerInstance"+                       :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)]) +instance ToJSON RegisterContainerInstance where+        toJSON RegisterContainerInstance'{..}+          = object+              ["instanceIdentityDocumentSignature" .=+                 _rciInstanceIdentityDocumentSignature,+               "cluster" .= _rciCluster,+               "instanceIdentityDocument" .=+                 _rciInstanceIdentityDocument,+               "containerInstanceArn" .= _rciContainerInstanceARN,+               "versionInfo" .= _rciVersionInfo,+               "totalResources" .= _rciTotalResources]+ instance ToPath RegisterContainerInstance where-    toPath = const "/"+        toPath = const "/"  instance ToQuery RegisterContainerInstance where-    toQuery = const mempty--instance ToHeaders RegisterContainerInstance+        toQuery = const mempty -instance ToJSON RegisterContainerInstance where-    toJSON RegisterContainerInstance{..} = object-        [ "cluster"                           .= _rciCluster-        , "instanceIdentityDocument"          .= _rciInstanceIdentityDocument-        , "instanceIdentityDocumentSignature" .= _rciInstanceIdentityDocumentSignature-        , "totalResources"                    .= _rciTotalResources-        , "versionInfo"                       .= _rciVersionInfo-        ]+-- | /See:/ 'registerContainerInstanceResponse' smart constructor.+data RegisterContainerInstanceResponse = RegisterContainerInstanceResponse'+    { _rcirsContainerInstance :: !(Maybe ContainerInstance)+    , _rcirsStatus            :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest RegisterContainerInstance where-    type Sv RegisterContainerInstance = ECS-    type Rs RegisterContainerInstance = RegisterContainerInstanceResponse+-- | Creates a value of 'RegisterContainerInstanceResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcirsContainerInstance'+--+-- * 'rcirsStatus'+registerContainerInstanceResponse+    :: Int -- ^ 'rcirsStatus'+    -> RegisterContainerInstanceResponse+registerContainerInstanceResponse pStatus_ =+    RegisterContainerInstanceResponse'+    { _rcirsContainerInstance = Nothing+    , _rcirsStatus = pStatus_+    } -    request  = post "RegisterContainerInstance"-    response = jsonResponse+-- | Undocumented member.+rcirsContainerInstance :: Lens' RegisterContainerInstanceResponse (Maybe ContainerInstance)+rcirsContainerInstance = lens _rcirsContainerInstance (\ s a -> s{_rcirsContainerInstance = a}); -instance FromJSON RegisterContainerInstanceResponse where-    parseJSON = withObject "RegisterContainerInstanceResponse" $ \o -> RegisterContainerInstanceResponse-        <$> o .:? "containerInstance"+-- | The response status code.+rcirsStatus :: Lens' RegisterContainerInstanceResponse Int+rcirsStatus = lens _rcirsStatus (\ s a -> s{_rcirsStatus = a});
gen/Network/AWS/ECS/RegisterTaskDefinition.hs view
@@ -1,141 +1,158 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.ECS.RegisterTaskDefinition--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Registers a new task definition from the supplied 'family' and 'containerDefinitions'. Optionally, you can add data volumes to your containers with the 'volumes'--- parameter. For more information on task definition parameters and defaults,--- see <http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html Amazon ECS Task Definitions> in the /Amazon EC2 Container Service DeveloperGuide/.+-- Registers a new task definition from the supplied 'family' and+-- 'containerDefinitions'. Optionally, you can add data volumes to your+-- containers with the 'volumes' parameter. For more information on task+-- definition parameters and defaults, see+-- <http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html Amazon ECS Task Definitions>+-- in the /Amazon EC2 Container Service Developer Guide/. ----- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RegisterTaskDefinition.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RegisterTaskDefinition.html AWS API Reference> for RegisterTaskDefinition. module Network.AWS.ECS.RegisterTaskDefinition     (-    -- * Request-      RegisterTaskDefinition-    -- ** Request constructor-    , registerTaskDefinition-    -- ** Request lenses-    , rtdContainerDefinitions-    , rtdFamily+    -- * Creating a Request+      registerTaskDefinition+    , RegisterTaskDefinition+    -- * Request Lenses     , rtdVolumes+    , rtdFamily+    , rtdContainerDefinitions -    -- * Response-    , RegisterTaskDefinitionResponse-    -- ** Response constructor+    -- * Destructuring the Response     , registerTaskDefinitionResponse-    -- ** Response lenses-    , rtdrTaskDefinition+    , RegisterTaskDefinitionResponse+    -- * Response Lenses+    , rtdrsTaskDefinition+    , rtdrsStatus     ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.ECS.Types-import qualified GHC.Exts+import           Network.AWS.ECS.Types+import           Network.AWS.ECS.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data RegisterTaskDefinition = RegisterTaskDefinition-    { _rtdContainerDefinitions :: List "containerDefinitions" ContainerDefinition-    , _rtdFamily               :: Text-    , _rtdVolumes              :: List "volumes" Volume-    } deriving (Eq, Read, Show)+-- | /See:/ 'registerTaskDefinition' smart constructor.+data RegisterTaskDefinition = RegisterTaskDefinition'+    { _rtdVolumes              :: !(Maybe [Volume])+    , _rtdFamily               :: !Text+    , _rtdContainerDefinitions :: ![ContainerDefinition]+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'RegisterTaskDefinition' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'RegisterTaskDefinition' with the minimum fields required to make a request. ----- * 'rtdContainerDefinitions' @::@ ['ContainerDefinition']+-- Use one of the following lenses to modify other fields as desired: ----- * 'rtdFamily' @::@ 'Text'+-- * 'rtdVolumes' ----- * 'rtdVolumes' @::@ ['Volume']+-- * 'rtdFamily' ---registerTaskDefinition :: Text -- ^ 'rtdFamily'-                       -> RegisterTaskDefinition-registerTaskDefinition p1 = RegisterTaskDefinition-    { _rtdFamily               = p1+-- * 'rtdContainerDefinitions'+registerTaskDefinition+    :: Text -- ^ 'rtdFamily'+    -> RegisterTaskDefinition+registerTaskDefinition pFamily_ =+    RegisterTaskDefinition'+    { _rtdVolumes = Nothing+    , _rtdFamily = pFamily_     , _rtdContainerDefinitions = mempty-    , _rtdVolumes              = mempty     } --- | A list of container definitions in JSON format that describe the different--- containers that make up your task.-rtdContainerDefinitions :: Lens' RegisterTaskDefinition [ContainerDefinition]-rtdContainerDefinitions =-    lens _rtdContainerDefinitions (\s a -> s { _rtdContainerDefinitions = a })-        . _List+-- | A list of volume definitions in JSON format that containers in your task+-- may use.+rtdVolumes :: Lens' RegisterTaskDefinition [Volume]+rtdVolumes = lens _rtdVolumes (\ s a -> s{_rtdVolumes = a}) . _Default . _Coerce; --- | You must specify a 'family' for a task definition, which allows you to track--- multiple versions of the same task definition. You can think of the 'family' as--- a name for your task definition. Up to 255 letters (uppercase and lowercase),--- numbers, hyphens, and underscores are allowed.+-- | You must specify a 'family' for a task definition, which allows you to+-- track multiple versions of the same task definition. You can think of+-- the 'family' as a name for your task definition. Up to 255 letters+-- (uppercase and lowercase), numbers, hyphens, and underscores are+-- allowed. rtdFamily :: Lens' RegisterTaskDefinition Text-rtdFamily = lens _rtdFamily (\s a -> s { _rtdFamily = a })+rtdFamily = lens _rtdFamily (\ s a -> s{_rtdFamily = a}); --- | A list of volume definitions in JSON format that containers in your task may--- use.-rtdVolumes :: Lens' RegisterTaskDefinition [Volume]-rtdVolumes = lens _rtdVolumes (\s a -> s { _rtdVolumes = a }) . _List+-- | A list of container definitions in JSON format that describe the+-- different containers that make up your task.+rtdContainerDefinitions :: Lens' RegisterTaskDefinition [ContainerDefinition]+rtdContainerDefinitions = lens _rtdContainerDefinitions (\ s a -> s{_rtdContainerDefinitions = a}) . _Coerce; -newtype RegisterTaskDefinitionResponse = RegisterTaskDefinitionResponse-    { _rtdrTaskDefinition :: Maybe TaskDefinition-    } deriving (Eq, Read, Show)+instance AWSRequest RegisterTaskDefinition where+        type Sv RegisterTaskDefinition = ECS+        type Rs RegisterTaskDefinition =+             RegisterTaskDefinitionResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 RegisterTaskDefinitionResponse' <$>+                   (x .?> "taskDefinition") <*> (pure (fromEnum s))) --- | 'RegisterTaskDefinitionResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'rtdrTaskDefinition' @::@ 'Maybe' 'TaskDefinition'----registerTaskDefinitionResponse :: RegisterTaskDefinitionResponse-registerTaskDefinitionResponse = RegisterTaskDefinitionResponse-    { _rtdrTaskDefinition = Nothing-    }+instance ToHeaders RegisterTaskDefinition where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AmazonEC2ContainerServiceV20141113.RegisterTaskDefinition"+                       :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)]) -rtdrTaskDefinition :: Lens' RegisterTaskDefinitionResponse (Maybe TaskDefinition)-rtdrTaskDefinition =-    lens _rtdrTaskDefinition (\s a -> s { _rtdrTaskDefinition = a })+instance ToJSON RegisterTaskDefinition where+        toJSON RegisterTaskDefinition'{..}+          = object+              ["volumes" .= _rtdVolumes, "family" .= _rtdFamily,+               "containerDefinitions" .= _rtdContainerDefinitions]  instance ToPath RegisterTaskDefinition where-    toPath = const "/"+        toPath = const "/"  instance ToQuery RegisterTaskDefinition where-    toQuery = const mempty--instance ToHeaders RegisterTaskDefinition+        toQuery = const mempty -instance ToJSON RegisterTaskDefinition where-    toJSON RegisterTaskDefinition{..} = object-        [ "family"               .= _rtdFamily-        , "containerDefinitions" .= _rtdContainerDefinitions-        , "volumes"              .= _rtdVolumes-        ]+-- | /See:/ 'registerTaskDefinitionResponse' smart constructor.+data RegisterTaskDefinitionResponse = RegisterTaskDefinitionResponse'+    { _rtdrsTaskDefinition :: !(Maybe TaskDefinition)+    , _rtdrsStatus         :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest RegisterTaskDefinition where-    type Sv RegisterTaskDefinition = ECS-    type Rs RegisterTaskDefinition = RegisterTaskDefinitionResponse+-- | Creates a value of 'RegisterTaskDefinitionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rtdrsTaskDefinition'+--+-- * 'rtdrsStatus'+registerTaskDefinitionResponse+    :: Int -- ^ 'rtdrsStatus'+    -> RegisterTaskDefinitionResponse+registerTaskDefinitionResponse pStatus_ =+    RegisterTaskDefinitionResponse'+    { _rtdrsTaskDefinition = Nothing+    , _rtdrsStatus = pStatus_+    } -    request  = post "RegisterTaskDefinition"-    response = jsonResponse+-- | Undocumented member.+rtdrsTaskDefinition :: Lens' RegisterTaskDefinitionResponse (Maybe TaskDefinition)+rtdrsTaskDefinition = lens _rtdrsTaskDefinition (\ s a -> s{_rtdrsTaskDefinition = a}); -instance FromJSON RegisterTaskDefinitionResponse where-    parseJSON = withObject "RegisterTaskDefinitionResponse" $ \o -> RegisterTaskDefinitionResponse-        <$> o .:? "taskDefinition"+-- | The response status code.+rtdrsStatus :: Lens' RegisterTaskDefinitionResponse Int+rtdrsStatus = lens _rtdrsStatus (\ s a -> s{_rtdrsStatus = a});
gen/Network/AWS/ECS/RunTask.hs view
@@ -1,187 +1,205 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.ECS.RunTask--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Start a task using random placement and the default Amazon ECS scheduler. If--- you want to use your own scheduler or place a task on a specific container--- instance, use 'StartTask' instead.+-- Start a task using random placement and the default Amazon ECS+-- scheduler. If you want to use your own scheduler or place a task on a+-- specific container instance, use 'StartTask' instead. -- -- The 'count' parameter is limited to 10 tasks per call. ----------- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html AWS API Reference> for RunTask. module Network.AWS.ECS.RunTask     (-    -- * Request-      RunTask-    -- ** Request constructor-    , runTask-    -- ** Request lenses+    -- * Creating a Request+      runTask+    , RunTask+    -- * Request Lenses+    , rtOverrides     , rtCluster     , rtCount-    , rtOverrides     , rtStartedBy     , rtTaskDefinition -    -- * Response-    , RunTaskResponse-    -- ** Response constructor+    -- * Destructuring the Response     , runTaskResponse-    -- ** Response lenses-    , rtrFailures-    , rtrTasks+    , RunTaskResponse+    -- * Response Lenses+    , rtrsFailures+    , rtrsTasks+    , rtrsStatus     ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.ECS.Types-import qualified GHC.Exts+import           Network.AWS.ECS.Types+import           Network.AWS.ECS.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data RunTask = RunTask-    { _rtCluster        :: Maybe Text-    , _rtCount          :: Maybe Int-    , _rtOverrides      :: Maybe TaskOverride-    , _rtStartedBy      :: Maybe Text-    , _rtTaskDefinition :: Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'runTask' smart constructor.+data RunTask = RunTask'+    { _rtOverrides      :: !(Maybe TaskOverride)+    , _rtCluster        :: !(Maybe Text)+    , _rtCount          :: !(Maybe Int)+    , _rtStartedBy      :: !(Maybe Text)+    , _rtTaskDefinition :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'RunTask' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'RunTask' with the minimum fields required to make a request. ----- * 'rtCluster' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'rtCount' @::@ 'Maybe' 'Int'+-- * 'rtOverrides' ----- * 'rtOverrides' @::@ 'Maybe' 'TaskOverride'+-- * 'rtCluster' ----- * 'rtStartedBy' @::@ 'Maybe' 'Text'+-- * 'rtCount' ----- * 'rtTaskDefinition' @::@ 'Text'+-- * 'rtStartedBy' ---runTask :: Text -- ^ 'rtTaskDefinition'-        -> RunTask-runTask p1 = RunTask-    { _rtTaskDefinition = p1-    , _rtCluster        = Nothing-    , _rtOverrides      = Nothing-    , _rtCount          = Nothing-    , _rtStartedBy      = Nothing+-- * 'rtTaskDefinition'+runTask+    :: Text -- ^ 'rtTaskDefinition'+    -> RunTask+runTask pTaskDefinition_ =+    RunTask'+    { _rtOverrides = Nothing+    , _rtCluster = Nothing+    , _rtCount = Nothing+    , _rtStartedBy = Nothing+    , _rtTaskDefinition = pTaskDefinition_     } --- | The short name or full Amazon Resource Name (ARN) of the cluster that you--- want to run your task on. If you do not specify a cluster, the default--- cluster is assumed..+-- | A list of container overrides in JSON format that specify the name of a+-- container in the specified task definition and the overrides it should+-- receive. You can override the default command for a container (that is+-- specified in the task definition or Docker image) with a 'command'+-- override. You can also override existing environment variables (that are+-- specified in the task definition or Docker image) on a container or add+-- new environment variables to it with an 'environment' override.+--+-- A total of 8192 characters are allowed for overrides. This limit+-- includes the JSON formatting characters of the override structure.+rtOverrides :: Lens' RunTask (Maybe TaskOverride)+rtOverrides = lens _rtOverrides (\ s a -> s{_rtOverrides = a});++-- | The short name or full Amazon Resource Name (ARN) of the cluster that+-- you want to run your task on. If you do not specify a cluster, the+-- default cluster is assumed.. rtCluster :: Lens' RunTask (Maybe Text)-rtCluster = lens _rtCluster (\s a -> s { _rtCluster = a })+rtCluster = lens _rtCluster (\ s a -> s{_rtCluster = a}); --- | The number of instantiations of the specified task that you would like to--- place on your cluster.+-- | The number of instantiations of the specified task that you would like+-- to place on your cluster. -- -- The 'count' parameter is limited to 10 tasks per call.------ rtCount :: Lens' RunTask (Maybe Int)-rtCount = lens _rtCount (\s a -> s { _rtCount = a })---- | A list of container overrides in JSON format that specify the name of a--- container in the specified task definition and the command it should run--- instead of its default. A total of 8192 characters are allowed for overrides.--- This limit includes the JSON formatting characters of the override structure.-rtOverrides :: Lens' RunTask (Maybe TaskOverride)-rtOverrides = lens _rtOverrides (\s a -> s { _rtOverrides = a })+rtCount = lens _rtCount (\ s a -> s{_rtCount = a});  -- | An optional tag specified when a task is started. For example if you--- automatically trigger a task to run a batch process job, you could apply a--- unique identifier for that job to your task with the 'startedBy' parameter. You--- can then identify which tasks belong to that job by filtering the results of--- a 'ListTasks' call with the 'startedBy' value.+-- automatically trigger a task to run a batch process job, you could apply+-- a unique identifier for that job to your task with the 'startedBy'+-- parameter. You can then identify which tasks belong to that job by+-- filtering the results of a ListTasks call with the 'startedBy' value. ----- If a task is started by an Amazon ECS service, then the 'startedBy' parameter--- contains the deployment ID of the service that starts it.+-- If a task is started by an Amazon ECS service, then the 'startedBy'+-- parameter contains the deployment ID of the service that starts it. rtStartedBy :: Lens' RunTask (Maybe Text)-rtStartedBy = lens _rtStartedBy (\s a -> s { _rtStartedBy = a })+rtStartedBy = lens _rtStartedBy (\ s a -> s{_rtStartedBy = a}); --- | The 'family' and 'revision' ('family:revision') or full Amazon Resource Name (ARN)--- of the task definition that you want to run.+-- | The 'family' and 'revision' ('family:revision') or full Amazon Resource+-- Name (ARN) of the task definition that you want to run. If a 'revision'+-- is not specified, the latest 'ACTIVE' revision is used. rtTaskDefinition :: Lens' RunTask Text-rtTaskDefinition = lens _rtTaskDefinition (\s a -> s { _rtTaskDefinition = a })+rtTaskDefinition = lens _rtTaskDefinition (\ s a -> s{_rtTaskDefinition = a}); -data RunTaskResponse = RunTaskResponse-    { _rtrFailures :: List "failures" Failure-    , _rtrTasks    :: List "tasks" Task-    } deriving (Eq, Read, Show)+instance AWSRequest RunTask where+        type Sv RunTask = ECS+        type Rs RunTask = RunTaskResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 RunTaskResponse' <$>+                   (x .?> "failures" .!@ mempty) <*>+                     (x .?> "tasks" .!@ mempty)+                     <*> (pure (fromEnum s))) --- | 'RunTaskResponse' constructor.+instance ToHeaders RunTask where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AmazonEC2ContainerServiceV20141113.RunTask" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON RunTask where+        toJSON RunTask'{..}+          = object+              ["overrides" .= _rtOverrides,+               "cluster" .= _rtCluster, "count" .= _rtCount,+               "startedBy" .= _rtStartedBy,+               "taskDefinition" .= _rtTaskDefinition]++instance ToPath RunTask where+        toPath = const "/"++instance ToQuery RunTask where+        toQuery = const mempty++-- | /See:/ 'runTaskResponse' smart constructor.+data RunTaskResponse = RunTaskResponse'+    { _rtrsFailures :: !(Maybe [Failure])+    , _rtrsTasks    :: !(Maybe [Task])+    , _rtrsStatus   :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RunTaskResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'rtrFailures' @::@ ['Failure']+-- * 'rtrsFailures' ----- * 'rtrTasks' @::@ ['Task']+-- * 'rtrsTasks' ---runTaskResponse :: RunTaskResponse-runTaskResponse = RunTaskResponse-    { _rtrTasks    = mempty-    , _rtrFailures = mempty+-- * 'rtrsStatus'+runTaskResponse+    :: Int -- ^ 'rtrsStatus'+    -> RunTaskResponse+runTaskResponse pStatus_ =+    RunTaskResponse'+    { _rtrsFailures = Nothing+    , _rtrsTasks = Nothing+    , _rtrsStatus = pStatus_     }  -- | Any failed tasks from your 'RunTask' action are listed here.-rtrFailures :: Lens' RunTaskResponse [Failure]-rtrFailures = lens _rtrFailures (\s a -> s { _rtrFailures = a }) . _List+rtrsFailures :: Lens' RunTaskResponse [Failure]+rtrsFailures = lens _rtrsFailures (\ s a -> s{_rtrsFailures = a}) . _Default . _Coerce;  -- | A full description of the tasks that were run. Each task that was -- successfully placed on your cluster will be described here.-rtrTasks :: Lens' RunTaskResponse [Task]-rtrTasks = lens _rtrTasks (\s a -> s { _rtrTasks = a }) . _List--instance ToPath RunTask where-    toPath = const "/"--instance ToQuery RunTask where-    toQuery = const mempty--instance ToHeaders RunTask--instance ToJSON RunTask where-    toJSON RunTask{..} = object-        [ "cluster"        .= _rtCluster-        , "taskDefinition" .= _rtTaskDefinition-        , "overrides"      .= _rtOverrides-        , "count"          .= _rtCount-        , "startedBy"      .= _rtStartedBy-        ]--instance AWSRequest RunTask where-    type Sv RunTask = ECS-    type Rs RunTask = RunTaskResponse--    request  = post "RunTask"-    response = jsonResponse+rtrsTasks :: Lens' RunTaskResponse [Task]+rtrsTasks = lens _rtrsTasks (\ s a -> s{_rtrsTasks = a}) . _Default . _Coerce; -instance FromJSON RunTaskResponse where-    parseJSON = withObject "RunTaskResponse" $ \o -> RunTaskResponse-        <$> o .:? "failures" .!= mempty-        <*> o .:? "tasks" .!= mempty+-- | The response status code.+rtrsStatus :: Lens' RunTaskResponse Int+rtrsStatus = lens _rtrsStatus (\ s a -> s{_rtrsStatus = a});
gen/Network/AWS/ECS/StartTask.hs view
@@ -1,190 +1,205 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.ECS.StartTask--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Starts a new task from the specified task definition on the specified--- container instance or instances. If you want to use the default Amazon ECS--- scheduler to place your task, use 'RunTask' instead.+-- Starts a new task from the specified task definition on the specified+-- container instance or instances. If you want to use the default Amazon+-- ECS scheduler to place your task, use 'RunTask' instead. -- -- The list of container instances to start tasks on is limited to 10. ----------- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_StartTask.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_StartTask.html AWS API Reference> for StartTask. module Network.AWS.ECS.StartTask     (-    -- * Request-      StartTask-    -- ** Request constructor-    , startTask-    -- ** Request lenses-    , st1Cluster-    , st1ContainerInstances-    , st1Overrides-    , st1StartedBy-    , st1TaskDefinition+    -- * Creating a Request+      startTask+    , StartTask+    -- * Request Lenses+    , sOverrides+    , sCluster+    , sStartedBy+    , sTaskDefinition+    , sContainerInstances -    -- * Response-    , StartTaskResponse-    -- ** Response constructor+    -- * Destructuring the Response     , startTaskResponse-    -- ** Response lenses-    , strFailures-    , strTasks+    , StartTaskResponse+    -- * Response Lenses+    , strsFailures+    , strsTasks+    , strsStatus     ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.ECS.Types-import qualified GHC.Exts+import           Network.AWS.ECS.Types+import           Network.AWS.ECS.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data StartTask = StartTask-    { _st1Cluster            :: Maybe Text-    , _st1ContainerInstances :: List "containerInstances" Text-    , _st1Overrides          :: Maybe TaskOverride-    , _st1StartedBy          :: Maybe Text-    , _st1TaskDefinition     :: Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'startTask' smart constructor.+data StartTask = StartTask'+    { _sOverrides          :: !(Maybe TaskOverride)+    , _sCluster            :: !(Maybe Text)+    , _sStartedBy          :: !(Maybe Text)+    , _sTaskDefinition     :: !Text+    , _sContainerInstances :: ![Text]+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'StartTask' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'StartTask' with the minimum fields required to make a request. ----- * 'st1Cluster' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'st1ContainerInstances' @::@ ['Text']+-- * 'sOverrides' ----- * 'st1Overrides' @::@ 'Maybe' 'TaskOverride'+-- * 'sCluster' ----- * 'st1StartedBy' @::@ 'Maybe' 'Text'+-- * 'sStartedBy' ----- * 'st1TaskDefinition' @::@ 'Text'+-- * 'sTaskDefinition' ---startTask :: Text -- ^ 'st1TaskDefinition'-          -> StartTask-startTask p1 = StartTask-    { _st1TaskDefinition     = p1-    , _st1Cluster            = Nothing-    , _st1Overrides          = Nothing-    , _st1ContainerInstances = mempty-    , _st1StartedBy          = Nothing+-- * 'sContainerInstances'+startTask+    :: Text -- ^ 'sTaskDefinition'+    -> StartTask+startTask pTaskDefinition_ =+    StartTask'+    { _sOverrides = Nothing+    , _sCluster = Nothing+    , _sStartedBy = Nothing+    , _sTaskDefinition = pTaskDefinition_+    , _sContainerInstances = mempty     } --- | The short name or full Amazon Resource Name (ARN) of the cluster that you--- want to start your task on. If you do not specify a cluster, the default--- cluster is assumed..-st1Cluster :: Lens' StartTask (Maybe Text)-st1Cluster = lens _st1Cluster (\s a -> s { _st1Cluster = a })---- | The container instance UUIDs or full Amazon Resource Name (ARN) entries for--- the container instances on which you would like to place your task.------ The list of container instances to start tasks on is limited to 10.---+-- | A list of container overrides in JSON format that specify the name of a+-- container in the specified task definition and the overrides it should+-- receive. You can override the default command for a container (that is+-- specified in the task definition or Docker image) with a 'command'+-- override. You can also override existing environment variables (that are+-- specified in the task definition or Docker image) on a container or add+-- new environment variables to it with an 'environment' override. ---st1ContainerInstances :: Lens' StartTask [Text]-st1ContainerInstances =-    lens _st1ContainerInstances (\s a -> s { _st1ContainerInstances = a })-        . _List+-- A total of 8192 characters are allowed for overrides. This limit+-- includes the JSON formatting characters of the override structure.+sOverrides :: Lens' StartTask (Maybe TaskOverride)+sOverrides = lens _sOverrides (\ s a -> s{_sOverrides = a}); --- | A list of container overrides in JSON format that specify the name of a--- container in the specified task definition and the command it should run--- instead of its default. A total of 8192 characters are allowed for overrides.--- This limit includes the JSON formatting characters of the override structure.-st1Overrides :: Lens' StartTask (Maybe TaskOverride)-st1Overrides = lens _st1Overrides (\s a -> s { _st1Overrides = a })+-- | The short name or full Amazon Resource Name (ARN) of the cluster that+-- you want to start your task on. If you do not specify a cluster, the+-- default cluster is assumed..+sCluster :: Lens' StartTask (Maybe Text)+sCluster = lens _sCluster (\ s a -> s{_sCluster = a});  -- | An optional tag specified when a task is started. For example if you--- automatically trigger a task to run a batch process job, you could apply a--- unique identifier for that job to your task with the 'startedBy' parameter. You--- can then identify which tasks belong to that job by filtering the results of--- a 'ListTasks' call with the 'startedBy' value.+-- automatically trigger a task to run a batch process job, you could apply+-- a unique identifier for that job to your task with the 'startedBy'+-- parameter. You can then identify which tasks belong to that job by+-- filtering the results of a ListTasks call with the 'startedBy' value. ----- If a task is started by an Amazon ECS service, then the 'startedBy' parameter--- contains the deployment ID of the service that starts it.-st1StartedBy :: Lens' StartTask (Maybe Text)-st1StartedBy = lens _st1StartedBy (\s a -> s { _st1StartedBy = a })---- | The 'family' and 'revision' ('family:revision') or full Amazon Resource Name (ARN)--- of the task definition that you want to start.-st1TaskDefinition :: Lens' StartTask Text-st1TaskDefinition =-    lens _st1TaskDefinition (\s a -> s { _st1TaskDefinition = a })+-- If a task is started by an Amazon ECS service, then the 'startedBy'+-- parameter contains the deployment ID of the service that starts it.+sStartedBy :: Lens' StartTask (Maybe Text)+sStartedBy = lens _sStartedBy (\ s a -> s{_sStartedBy = a}); -data StartTaskResponse = StartTaskResponse-    { _strFailures :: List "failures" Failure-    , _strTasks    :: List "tasks" Task-    } deriving (Eq, Read, Show)+-- | The 'family' and 'revision' ('family:revision') or full Amazon Resource+-- Name (ARN) of the task definition that you want to start. If a+-- 'revision' is not specified, the latest 'ACTIVE' revision is used.+sTaskDefinition :: Lens' StartTask Text+sTaskDefinition = lens _sTaskDefinition (\ s a -> s{_sTaskDefinition = a}); --- | 'StartTaskResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'strFailures' @::@ ['Failure']------ * 'strTasks' @::@ ['Task']+-- | The container instance UUIDs or full Amazon Resource Name (ARN) entries+-- for the container instances on which you would like to place your task. ---startTaskResponse :: StartTaskResponse-startTaskResponse = StartTaskResponse-    { _strTasks    = mempty-    , _strFailures = mempty-    }+-- The list of container instances to start tasks on is limited to 10.+sContainerInstances :: Lens' StartTask [Text]+sContainerInstances = lens _sContainerInstances (\ s a -> s{_sContainerInstances = a}) . _Coerce; --- | Any failed tasks from your 'StartTask' action are listed here.-strFailures :: Lens' StartTaskResponse [Failure]-strFailures = lens _strFailures (\s a -> s { _strFailures = a }) . _List+instance AWSRequest StartTask where+        type Sv StartTask = ECS+        type Rs StartTask = StartTaskResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 StartTaskResponse' <$>+                   (x .?> "failures" .!@ mempty) <*>+                     (x .?> "tasks" .!@ mempty)+                     <*> (pure (fromEnum s))) --- | A full description of the tasks that were started. Each task that was--- successfully placed on your container instances will be described here.-strTasks :: Lens' StartTaskResponse [Task]-strTasks = lens _strTasks (\s a -> s { _strTasks = a }) . _List+instance ToHeaders StartTask where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AmazonEC2ContainerServiceV20141113.StartTask" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)]) +instance ToJSON StartTask where+        toJSON StartTask'{..}+          = object+              ["overrides" .= _sOverrides, "cluster" .= _sCluster,+               "startedBy" .= _sStartedBy,+               "taskDefinition" .= _sTaskDefinition,+               "containerInstances" .= _sContainerInstances]+ instance ToPath StartTask where-    toPath = const "/"+        toPath = const "/"  instance ToQuery StartTask where-    toQuery = const mempty+        toQuery = const mempty -instance ToHeaders StartTask+-- | /See:/ 'startTaskResponse' smart constructor.+data StartTaskResponse = StartTaskResponse'+    { _strsFailures :: !(Maybe [Failure])+    , _strsTasks    :: !(Maybe [Task])+    , _strsStatus   :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance ToJSON StartTask where-    toJSON StartTask{..} = object-        [ "cluster"            .= _st1Cluster-        , "taskDefinition"     .= _st1TaskDefinition-        , "overrides"          .= _st1Overrides-        , "containerInstances" .= _st1ContainerInstances-        , "startedBy"          .= _st1StartedBy-        ]+-- | Creates a value of 'StartTaskResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'strsFailures'+--+-- * 'strsTasks'+--+-- * 'strsStatus'+startTaskResponse+    :: Int -- ^ 'strsStatus'+    -> StartTaskResponse+startTaskResponse pStatus_ =+    StartTaskResponse'+    { _strsFailures = Nothing+    , _strsTasks = Nothing+    , _strsStatus = pStatus_+    } -instance AWSRequest StartTask where-    type Sv StartTask = ECS-    type Rs StartTask = StartTaskResponse+-- | Any failed tasks from your 'StartTask' action are listed here.+strsFailures :: Lens' StartTaskResponse [Failure]+strsFailures = lens _strsFailures (\ s a -> s{_strsFailures = a}) . _Default . _Coerce; -    request  = post "StartTask"-    response = jsonResponse+-- | A full description of the tasks that were started. Each task that was+-- successfully placed on your container instances will be described here.+strsTasks :: Lens' StartTaskResponse [Task]+strsTasks = lens _strsTasks (\ s a -> s{_strsTasks = a}) . _Default . _Coerce; -instance FromJSON StartTaskResponse where-    parseJSON = withObject "StartTaskResponse" $ \o -> StartTaskResponse-        <$> o .:? "failures" .!= mempty-        <*> o .:? "tasks" .!= mempty+-- | The response status code.+strsStatus :: Lens' StartTaskResponse Int+strsStatus = lens _strsStatus (\ s a -> s{_strsStatus = a});
gen/Network/AWS/ECS/StopTask.hs view
@@ -1,124 +1,138 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.ECS.StopTask--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Stops a running task.+-- Stops a running task. ----- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_StopTask.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_StopTask.html AWS API Reference> for StopTask. module Network.AWS.ECS.StopTask     (-    -- * Request-      StopTask-    -- ** Request constructor-    , stopTask-    -- ** Request lenses+    -- * Creating a Request+      stopTask+    , StopTask+    -- * Request Lenses     , stCluster     , stTask -    -- * Response-    , StopTaskResponse-    -- ** Response constructor+    -- * Destructuring the Response     , stopTaskResponse-    -- ** Response lenses-    , strTask+    , StopTaskResponse+    -- * Response Lenses+    , srsTask+    , srsStatus     ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.ECS.Types-import qualified GHC.Exts+import           Network.AWS.ECS.Types+import           Network.AWS.ECS.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data StopTask = StopTask-    { _stCluster :: Maybe Text-    , _stTask    :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'stopTask' smart constructor.+data StopTask = StopTask'+    { _stCluster :: !(Maybe Text)+    , _stTask    :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'StopTask' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'StopTask' with the minimum fields required to make a request. ----- * 'stCluster' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'stTask' @::@ 'Text'+-- * 'stCluster' ---stopTask :: Text -- ^ 'stTask'-         -> StopTask-stopTask p1 = StopTask-    { _stTask    = p1-    , _stCluster = Nothing+-- * 'stTask'+stopTask+    :: Text -- ^ 'stTask'+    -> StopTask+stopTask pTask_ =+    StopTask'+    { _stCluster = Nothing+    , _stTask = pTask_     } --- | The short name or full Amazon Resource Name (ARN) of the cluster that hosts--- the task you want to stop. If you do not specify a cluster, the default--- cluster is assumed..+-- | The short name or full Amazon Resource Name (ARN) of the cluster that+-- hosts the task you want to stop. If you do not specify a cluster, the+-- default cluster is assumed.. stCluster :: Lens' StopTask (Maybe Text)-stCluster = lens _stCluster (\s a -> s { _stCluster = a })+stCluster = lens _stCluster (\ s a -> s{_stCluster = a}); --- | The task UUIDs or full Amazon Resource Name (ARN) entry of the task you would--- like to stop.+-- | The task UUIDs or full Amazon Resource Name (ARN) entry of the task you+-- would like to stop. stTask :: Lens' StopTask Text-stTask = lens _stTask (\s a -> s { _stTask = a })+stTask = lens _stTask (\ s a -> s{_stTask = a}); -newtype StopTaskResponse = StopTaskResponse-    { _strTask :: Maybe Task-    } deriving (Eq, Read, Show)+instance AWSRequest StopTask where+        type Sv StopTask = ECS+        type Rs StopTask = StopTaskResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 StopTaskResponse' <$>+                   (x .?> "task") <*> (pure (fromEnum s))) --- | 'StopTaskResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'strTask' @::@ 'Maybe' 'Task'----stopTaskResponse :: StopTaskResponse-stopTaskResponse = StopTaskResponse-    { _strTask = Nothing-    }+instance ToHeaders StopTask where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AmazonEC2ContainerServiceV20141113.StopTask" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)]) -strTask :: Lens' StopTaskResponse (Maybe Task)-strTask = lens _strTask (\s a -> s { _strTask = a })+instance ToJSON StopTask where+        toJSON StopTask'{..}+          = object ["cluster" .= _stCluster, "task" .= _stTask]  instance ToPath StopTask where-    toPath = const "/"+        toPath = const "/"  instance ToQuery StopTask where-    toQuery = const mempty--instance ToHeaders StopTask+        toQuery = const mempty -instance ToJSON StopTask where-    toJSON StopTask{..} = object-        [ "cluster" .= _stCluster-        , "task"    .= _stTask-        ]+-- | /See:/ 'stopTaskResponse' smart constructor.+data StopTaskResponse = StopTaskResponse'+    { _srsTask   :: !(Maybe Task)+    , _srsStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest StopTask where-    type Sv StopTask = ECS-    type Rs StopTask = StopTaskResponse+-- | Creates a value of 'StopTaskResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'srsTask'+--+-- * 'srsStatus'+stopTaskResponse+    :: Int -- ^ 'srsStatus'+    -> StopTaskResponse+stopTaskResponse pStatus_ =+    StopTaskResponse'+    { _srsTask = Nothing+    , _srsStatus = pStatus_+    } -    request  = post "StopTask"-    response = jsonResponse+-- | Undocumented member.+srsTask :: Lens' StopTaskResponse (Maybe Task)+srsTask = lens _srsTask (\ s a -> s{_srsTask = a}); -instance FromJSON StopTaskResponse where-    parseJSON = withObject "StopTaskResponse" $ \o -> StopTaskResponse-        <$> o .:? "task"+-- | The response status code.+srsStatus :: Lens' StopTaskResponse Int+srsStatus = lens _srsStatus (\ s a -> s{_srsStatus = a});
gen/Network/AWS/ECS/SubmitContainerStateChange.hs view
@@ -1,180 +1,190 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.ECS.SubmitContainerStateChange--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | This action is only used by the Amazon EC2 Container Service agent, and it is--- not intended for use outside of the agent.+-- This action is only used by the Amazon EC2 Container Service agent, and+-- it is not intended for use outside of the agent. -- -- Sent to acknowledge that a container changed states. ----- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_SubmitContainerStateChange.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_SubmitContainerStateChange.html AWS API Reference> for SubmitContainerStateChange. module Network.AWS.ECS.SubmitContainerStateChange     (-    -- * Request-      SubmitContainerStateChange-    -- ** Request constructor-    , submitContainerStateChange-    -- ** Request lenses+    -- * Creating a Request+      submitContainerStateChange+    , SubmitContainerStateChange+    -- * Request Lenses+    , scscNetworkBindings+    , scscStatus     , scscCluster     , scscContainerName-    , scscExitCode-    , scscNetworkBindings     , scscReason-    , scscStatus+    , scscExitCode     , scscTask -    -- * Response-    , SubmitContainerStateChangeResponse-    -- ** Response constructor+    -- * Destructuring the Response     , submitContainerStateChangeResponse-    -- ** Response lenses-    , scscrAcknowledgment+    , SubmitContainerStateChangeResponse+    -- * Response Lenses+    , scscrsAcknowledgment+    , scscrsStatus     ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.ECS.Types-import qualified GHC.Exts+import           Network.AWS.ECS.Types+import           Network.AWS.ECS.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data SubmitContainerStateChange = SubmitContainerStateChange-    { _scscCluster         :: Maybe Text-    , _scscContainerName   :: Maybe Text-    , _scscExitCode        :: Maybe Int-    , _scscNetworkBindings :: List "networkBindings" NetworkBinding-    , _scscReason          :: Maybe Text-    , _scscStatus          :: Maybe Text-    , _scscTask            :: Maybe Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'submitContainerStateChange' smart constructor.+data SubmitContainerStateChange = SubmitContainerStateChange'+    { _scscNetworkBindings :: !(Maybe [NetworkBinding])+    , _scscStatus          :: !(Maybe Text)+    , _scscCluster         :: !(Maybe Text)+    , _scscContainerName   :: !(Maybe Text)+    , _scscReason          :: !(Maybe Text)+    , _scscExitCode        :: !(Maybe Int)+    , _scscTask            :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'SubmitContainerStateChange' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'SubmitContainerStateChange' with the minimum fields required to make a request. ----- * 'scscCluster' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'scscContainerName' @::@ 'Maybe' 'Text'+-- * 'scscNetworkBindings' ----- * 'scscExitCode' @::@ 'Maybe' 'Int'+-- * 'scscStatus' ----- * 'scscNetworkBindings' @::@ ['NetworkBinding']+-- * 'scscCluster' ----- * 'scscReason' @::@ 'Maybe' 'Text'+-- * 'scscContainerName' ----- * 'scscStatus' @::@ 'Maybe' 'Text'+-- * 'scscReason' ----- * 'scscTask' @::@ 'Maybe' 'Text'+-- * 'scscExitCode' ---submitContainerStateChange :: SubmitContainerStateChange-submitContainerStateChange = SubmitContainerStateChange-    { _scscCluster         = Nothing-    , _scscTask            = Nothing-    , _scscContainerName   = Nothing-    , _scscStatus          = Nothing-    , _scscExitCode        = Nothing-    , _scscReason          = Nothing-    , _scscNetworkBindings = mempty+-- * 'scscTask'+submitContainerStateChange+    :: SubmitContainerStateChange+submitContainerStateChange =+    SubmitContainerStateChange'+    { _scscNetworkBindings = Nothing+    , _scscStatus = Nothing+    , _scscCluster = Nothing+    , _scscContainerName = Nothing+    , _scscReason = Nothing+    , _scscExitCode = Nothing+    , _scscTask = Nothing     } --- | The short name or full Amazon Resource Name (ARN) of the cluster that hosts--- the container.+-- | The network bindings of the container.+scscNetworkBindings :: Lens' SubmitContainerStateChange [NetworkBinding]+scscNetworkBindings = lens _scscNetworkBindings (\ s a -> s{_scscNetworkBindings = a}) . _Default . _Coerce;++-- | The status of the state change request.+scscStatus :: Lens' SubmitContainerStateChange (Maybe Text)+scscStatus = lens _scscStatus (\ s a -> s{_scscStatus = a});++-- | The short name or full Amazon Resource Name (ARN) of the cluster that+-- hosts the container. scscCluster :: Lens' SubmitContainerStateChange (Maybe Text)-scscCluster = lens _scscCluster (\s a -> s { _scscCluster = a })+scscCluster = lens _scscCluster (\ s a -> s{_scscCluster = a});  -- | The name of the container. scscContainerName :: Lens' SubmitContainerStateChange (Maybe Text)-scscContainerName =-    lens _scscContainerName (\s a -> s { _scscContainerName = a })---- | The exit code returned for the state change request.-scscExitCode :: Lens' SubmitContainerStateChange (Maybe Int)-scscExitCode = lens _scscExitCode (\s a -> s { _scscExitCode = a })---- | The network bindings of the container.-scscNetworkBindings :: Lens' SubmitContainerStateChange [NetworkBinding]-scscNetworkBindings =-    lens _scscNetworkBindings (\s a -> s { _scscNetworkBindings = a })-        . _List+scscContainerName = lens _scscContainerName (\ s a -> s{_scscContainerName = a});  -- | The reason for the state change request. scscReason :: Lens' SubmitContainerStateChange (Maybe Text)-scscReason = lens _scscReason (\s a -> s { _scscReason = a })+scscReason = lens _scscReason (\ s a -> s{_scscReason = a}); --- | The status of the state change request.-scscStatus :: Lens' SubmitContainerStateChange (Maybe Text)-scscStatus = lens _scscStatus (\s a -> s { _scscStatus = a })+-- | The exit code returned for the state change request.+scscExitCode :: Lens' SubmitContainerStateChange (Maybe Int)+scscExitCode = lens _scscExitCode (\ s a -> s{_scscExitCode = a}); --- | The task UUID or full Amazon Resource Name (ARN) of the task that hosts the--- container.+-- | The task UUID or full Amazon Resource Name (ARN) of the task that hosts+-- the container. scscTask :: Lens' SubmitContainerStateChange (Maybe Text)-scscTask = lens _scscTask (\s a -> s { _scscTask = a })+scscTask = lens _scscTask (\ s a -> s{_scscTask = a}); -newtype SubmitContainerStateChangeResponse = SubmitContainerStateChangeResponse-    { _scscrAcknowledgment :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)+instance AWSRequest SubmitContainerStateChange where+        type Sv SubmitContainerStateChange = ECS+        type Rs SubmitContainerStateChange =+             SubmitContainerStateChangeResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 SubmitContainerStateChangeResponse' <$>+                   (x .?> "acknowledgment") <*> (pure (fromEnum s))) --- | 'SubmitContainerStateChangeResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'scscrAcknowledgment' @::@ 'Maybe' 'Text'----submitContainerStateChangeResponse :: SubmitContainerStateChangeResponse-submitContainerStateChangeResponse = SubmitContainerStateChangeResponse-    { _scscrAcknowledgment = Nothing-    }+instance ToHeaders SubmitContainerStateChange where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AmazonEC2ContainerServiceV20141113.SubmitContainerStateChange"+                       :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)]) --- | Acknowledgement of the state change.-scscrAcknowledgment :: Lens' SubmitContainerStateChangeResponse (Maybe Text)-scscrAcknowledgment =-    lens _scscrAcknowledgment (\s a -> s { _scscrAcknowledgment = a })+instance ToJSON SubmitContainerStateChange where+        toJSON SubmitContainerStateChange'{..}+          = object+              ["networkBindings" .= _scscNetworkBindings,+               "status" .= _scscStatus, "cluster" .= _scscCluster,+               "containerName" .= _scscContainerName,+               "reason" .= _scscReason, "exitCode" .= _scscExitCode,+               "task" .= _scscTask]  instance ToPath SubmitContainerStateChange where-    toPath = const "/"+        toPath = const "/"  instance ToQuery SubmitContainerStateChange where-    toQuery = const mempty--instance ToHeaders SubmitContainerStateChange+        toQuery = const mempty -instance ToJSON SubmitContainerStateChange where-    toJSON SubmitContainerStateChange{..} = object-        [ "cluster"         .= _scscCluster-        , "task"            .= _scscTask-        , "containerName"   .= _scscContainerName-        , "status"          .= _scscStatus-        , "exitCode"        .= _scscExitCode-        , "reason"          .= _scscReason-        , "networkBindings" .= _scscNetworkBindings-        ]+-- | /See:/ 'submitContainerStateChangeResponse' smart constructor.+data SubmitContainerStateChangeResponse = SubmitContainerStateChangeResponse'+    { _scscrsAcknowledgment :: !(Maybe Text)+    , _scscrsStatus         :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest SubmitContainerStateChange where-    type Sv SubmitContainerStateChange = ECS-    type Rs SubmitContainerStateChange = SubmitContainerStateChangeResponse+-- | Creates a value of 'SubmitContainerStateChangeResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scscrsAcknowledgment'+--+-- * 'scscrsStatus'+submitContainerStateChangeResponse+    :: Int -- ^ 'scscrsStatus'+    -> SubmitContainerStateChangeResponse+submitContainerStateChangeResponse pStatus_ =+    SubmitContainerStateChangeResponse'+    { _scscrsAcknowledgment = Nothing+    , _scscrsStatus = pStatus_+    } -    request  = post "SubmitContainerStateChange"-    response = jsonResponse+-- | Acknowledgement of the state change.+scscrsAcknowledgment :: Lens' SubmitContainerStateChangeResponse (Maybe Text)+scscrsAcknowledgment = lens _scscrsAcknowledgment (\ s a -> s{_scscrsAcknowledgment = a}); -instance FromJSON SubmitContainerStateChangeResponse where-    parseJSON = withObject "SubmitContainerStateChangeResponse" $ \o -> SubmitContainerStateChangeResponse-        <$> o .:? "acknowledgment"+-- | The response status code.+scscrsStatus :: Lens' SubmitContainerStateChangeResponse Int+scscrsStatus = lens _scscrsStatus (\ s a -> s{_scscrsStatus = a});
gen/Network/AWS/ECS/SubmitTaskStateChange.hs view
@@ -1,147 +1,160 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.ECS.SubmitTaskStateChange--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | This action is only used by the Amazon EC2 Container Service agent, and it is--- not intended for use outside of the agent.+-- This action is only used by the Amazon EC2 Container Service agent, and+-- it is not intended for use outside of the agent. -- -- Sent to acknowledge that a task changed states. ----- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_SubmitTaskStateChange.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_SubmitTaskStateChange.html AWS API Reference> for SubmitTaskStateChange. module Network.AWS.ECS.SubmitTaskStateChange     (-    -- * Request-      SubmitTaskStateChange-    -- ** Request constructor-    , submitTaskStateChange-    -- ** Request lenses+    -- * Creating a Request+      submitTaskStateChange+    , SubmitTaskStateChange+    -- * Request Lenses+    , stscStatus     , stscCluster     , stscReason-    , stscStatus     , stscTask -    -- * Response-    , SubmitTaskStateChangeResponse-    -- ** Response constructor+    -- * Destructuring the Response     , submitTaskStateChangeResponse-    -- ** Response lenses-    , stscrAcknowledgment+    , SubmitTaskStateChangeResponse+    -- * Response Lenses+    , stscrsAcknowledgment+    , stscrsStatus     ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.ECS.Types-import qualified GHC.Exts+import           Network.AWS.ECS.Types+import           Network.AWS.ECS.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data SubmitTaskStateChange = SubmitTaskStateChange-    { _stscCluster :: Maybe Text-    , _stscReason  :: Maybe Text-    , _stscStatus  :: Maybe Text-    , _stscTask    :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'submitTaskStateChange' smart constructor.+data SubmitTaskStateChange = SubmitTaskStateChange'+    { _stscStatus  :: !(Maybe Text)+    , _stscCluster :: !(Maybe Text)+    , _stscReason  :: !(Maybe Text)+    , _stscTask    :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'SubmitTaskStateChange' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'SubmitTaskStateChange' with the minimum fields required to make a request. ----- * 'stscCluster' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'stscReason' @::@ 'Maybe' 'Text'+-- * 'stscStatus' ----- * 'stscStatus' @::@ 'Maybe' 'Text'+-- * 'stscCluster' ----- * 'stscTask' @::@ 'Maybe' 'Text'+-- * 'stscReason' ---submitTaskStateChange :: SubmitTaskStateChange-submitTaskStateChange = SubmitTaskStateChange-    { _stscCluster = Nothing-    , _stscTask    = Nothing-    , _stscStatus  = Nothing-    , _stscReason  = Nothing+-- * 'stscTask'+submitTaskStateChange+    :: SubmitTaskStateChange+submitTaskStateChange =+    SubmitTaskStateChange'+    { _stscStatus = Nothing+    , _stscCluster = Nothing+    , _stscReason = Nothing+    , _stscTask = Nothing     } --- | The short name or full Amazon Resource Name (ARN) of the cluster that hosts--- the task.+-- | The status of the state change request.+stscStatus :: Lens' SubmitTaskStateChange (Maybe Text)+stscStatus = lens _stscStatus (\ s a -> s{_stscStatus = a});++-- | The short name or full Amazon Resource Name (ARN) of the cluster that+-- hosts the task. stscCluster :: Lens' SubmitTaskStateChange (Maybe Text)-stscCluster = lens _stscCluster (\s a -> s { _stscCluster = a })+stscCluster = lens _stscCluster (\ s a -> s{_stscCluster = a});  -- | The reason for the state change request. stscReason :: Lens' SubmitTaskStateChange (Maybe Text)-stscReason = lens _stscReason (\s a -> s { _stscReason = a })---- | The status of the state change request.-stscStatus :: Lens' SubmitTaskStateChange (Maybe Text)-stscStatus = lens _stscStatus (\s a -> s { _stscStatus = a })+stscReason = lens _stscReason (\ s a -> s{_stscReason = a}); --- | The task UUID or full Amazon Resource Name (ARN) of the task in the state--- change request.+-- | The task UUID or full Amazon Resource Name (ARN) of the task in the+-- state change request. stscTask :: Lens' SubmitTaskStateChange (Maybe Text)-stscTask = lens _stscTask (\s a -> s { _stscTask = a })+stscTask = lens _stscTask (\ s a -> s{_stscTask = a}); -newtype SubmitTaskStateChangeResponse = SubmitTaskStateChangeResponse-    { _stscrAcknowledgment :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)+instance AWSRequest SubmitTaskStateChange where+        type Sv SubmitTaskStateChange = ECS+        type Rs SubmitTaskStateChange =+             SubmitTaskStateChangeResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 SubmitTaskStateChangeResponse' <$>+                   (x .?> "acknowledgment") <*> (pure (fromEnum s))) --- | 'SubmitTaskStateChangeResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'stscrAcknowledgment' @::@ 'Maybe' 'Text'----submitTaskStateChangeResponse :: SubmitTaskStateChangeResponse-submitTaskStateChangeResponse = SubmitTaskStateChangeResponse-    { _stscrAcknowledgment = Nothing-    }+instance ToHeaders SubmitTaskStateChange where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AmazonEC2ContainerServiceV20141113.SubmitTaskStateChange"+                       :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)]) --- | Acknowledgement of the state change.-stscrAcknowledgment :: Lens' SubmitTaskStateChangeResponse (Maybe Text)-stscrAcknowledgment =-    lens _stscrAcknowledgment (\s a -> s { _stscrAcknowledgment = a })+instance ToJSON SubmitTaskStateChange where+        toJSON SubmitTaskStateChange'{..}+          = object+              ["status" .= _stscStatus, "cluster" .= _stscCluster,+               "reason" .= _stscReason, "task" .= _stscTask]  instance ToPath SubmitTaskStateChange where-    toPath = const "/"+        toPath = const "/"  instance ToQuery SubmitTaskStateChange where-    toQuery = const mempty--instance ToHeaders SubmitTaskStateChange+        toQuery = const mempty -instance ToJSON SubmitTaskStateChange where-    toJSON SubmitTaskStateChange{..} = object-        [ "cluster" .= _stscCluster-        , "task"    .= _stscTask-        , "status"  .= _stscStatus-        , "reason"  .= _stscReason-        ]+-- | /See:/ 'submitTaskStateChangeResponse' smart constructor.+data SubmitTaskStateChangeResponse = SubmitTaskStateChangeResponse'+    { _stscrsAcknowledgment :: !(Maybe Text)+    , _stscrsStatus         :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest SubmitTaskStateChange where-    type Sv SubmitTaskStateChange = ECS-    type Rs SubmitTaskStateChange = SubmitTaskStateChangeResponse+-- | Creates a value of 'SubmitTaskStateChangeResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'stscrsAcknowledgment'+--+-- * 'stscrsStatus'+submitTaskStateChangeResponse+    :: Int -- ^ 'stscrsStatus'+    -> SubmitTaskStateChangeResponse+submitTaskStateChangeResponse pStatus_ =+    SubmitTaskStateChangeResponse'+    { _stscrsAcknowledgment = Nothing+    , _stscrsStatus = pStatus_+    } -    request  = post "SubmitTaskStateChange"-    response = jsonResponse+-- | Acknowledgement of the state change.+stscrsAcknowledgment :: Lens' SubmitTaskStateChangeResponse (Maybe Text)+stscrsAcknowledgment = lens _stscrsAcknowledgment (\ s a -> s{_stscrsAcknowledgment = a}); -instance FromJSON SubmitTaskStateChangeResponse where-    parseJSON = withObject "SubmitTaskStateChangeResponse" $ \o -> SubmitTaskStateChangeResponse-        <$> o .:? "acknowledgment"+-- | The response status code.+stscrsStatus :: Lens' SubmitTaskStateChangeResponse Int+stscrsStatus = lens _stscrsStatus (\ s a -> s{_stscrsStatus = a});
gen/Network/AWS/ECS/Types.hs view
@@ -1,1795 +1,355 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}-{-# LANGUAGE ViewPatterns                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.ECS.Types--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.--module Network.AWS.ECS.Types-    (-    -- * Service-      ECS-    -- ** Error-    , JSONError--    -- * NetworkBinding-    , NetworkBinding-    , networkBinding-    , nbBindIP-    , nbContainerPort-    , nbHostPort--    -- * ContainerService-    , ContainerService-    , containerService-    , csClusterArn-    , csDeployments-    , csDesiredCount-    , csEvents-    , csLoadBalancers-    , csPendingCount-    , csRoleArn-    , csRunningCount-    , csServiceArn-    , csServiceName-    , csStatus-    , csTaskDefinition--    -- * Cluster-    , Cluster-    , cluster-    , cClusterArn-    , cClusterName-    , cPendingTasksCount-    , cRegisteredContainerInstancesCount-    , cRunningTasksCount-    , cStatus--    -- * Volume-    , Volume-    , volume-    , vHost-    , vName--    -- * ContainerOverride-    , ContainerOverride-    , containerOverride-    , coCommand-    , coName--    -- * KeyValuePair-    , KeyValuePair-    , keyValuePair-    , kvpName-    , kvpValue--    -- * VolumeFrom-    , VolumeFrom-    , volumeFrom-    , vfReadOnly-    , vfSourceContainer--    -- * TaskOverride-    , TaskOverride-    , taskOverride-    , toContainerOverrides--    -- * HostVolumeProperties-    , HostVolumeProperties-    , hostVolumeProperties-    , hvpSourcePath--    -- * VersionInfo-    , VersionInfo-    , versionInfo-    , viAgentHash-    , viAgentVersion-    , viDockerVersion--    -- * Container-    , Container-    , container-    , cContainerArn-    , cExitCode-    , cLastStatus-    , cName-    , cNetworkBindings-    , cReason-    , cTaskArn--    -- * LoadBalancer-    , LoadBalancer-    , loadBalancer-    , lbContainerName-    , lbContainerPort-    , lbLoadBalancerName--    -- * ContainerDefinition-    , ContainerDefinition-    , containerDefinition-    , cdCommand-    , cdCpu-    , cdEntryPoint-    , cdEnvironment-    , cdEssential-    , cdImage-    , cdLinks-    , cdMemory-    , cdMountPoints-    , cdName-    , cdPortMappings-    , cdVolumesFrom--    -- * Resource-    , Resource-    , resource-    , rDoubleValue-    , rIntegerValue-    , rLongValue-    , rName-    , rStringSetValue-    , rType--    -- * Task-    , Task-    , task-    , tClusterArn-    , tContainerInstanceArn-    , tContainers-    , tDesiredStatus-    , tLastStatus-    , tOverrides-    , tStartedBy-    , tTaskArn-    , tTaskDefinitionArn--    -- * PortMapping-    , PortMapping-    , portMapping-    , pmContainerPort-    , pmHostPort--    -- * TaskDefinition-    , TaskDefinition-    , taskDefinition-    , tdContainerDefinitions-    , tdFamily-    , tdRevision-    , tdTaskDefinitionArn-    , tdVolumes--    -- * Failure-    , Failure-    , failure-    , fArn-    , fReason--    -- * ContainerInstance-    , ContainerInstance-    , containerInstance-    , ciAgentConnected-    , ciContainerInstanceArn-    , ciEc2InstanceId-    , ciPendingTasksCount-    , ciRegisteredResources-    , ciRemainingResources-    , ciRunningTasksCount-    , ciStatus--    -- * ServiceEvent-    , ServiceEvent-    , serviceEvent-    , seCreatedAt-    , seId-    , seMessage--    -- * Deployment-    , Deployment-    , deployment-    , dCreatedAt-    , dDesiredCount-    , dId-    , dPendingCount-    , dRunningCount-    , dStatus-    , dTaskDefinition-    , dUpdatedAt--    -- * MountPoint-    , MountPoint-    , mountPoint-    , mpContainerPath-    , mpReadOnly-    , mpSourceVolume-    ) where--import Network.AWS.Prelude-import Network.AWS.Signing-import qualified GHC.Exts---- | Version @2014-11-13@ of the Amazon EC2 Container Service service.-data ECS--instance AWSService ECS where-    type Sg ECS = V4-    type Er ECS = JSONError--    service = service'-      where-        service' :: Service ECS-        service' = Service-            { _svcAbbrev       = "ECS"-            , _svcPrefix       = "ecs"-            , _svcVersion      = "2014-11-13"-            , _svcTargetPrefix = Just "AmazonEC2ContainerServiceV20141113"-            , _svcJSONVersion  = Just "1.1"-            , _svcHandle       = handle-            , _svcRetry        = retry-            }--        handle :: Status-               -> Maybe (LazyByteString -> ServiceError JSONError)-        handle = jsonError statusSuccess service'--        retry :: Retry ECS-        retry = Exponential-            { _retryBase     = 0.05-            , _retryGrowth   = 2-            , _retryAttempts = 5-            , _retryCheck    = check-            }--        check :: Status-              -> JSONError-              -> Bool-        check (statusCode -> s) (awsErrorCode -> e)-            | s == 500  = True -- General Server Error-            | s == 509  = True -- Limit Exceeded-            | s == 503  = True -- Service Unavailable-            | otherwise = False--data NetworkBinding = NetworkBinding-    { _nbBindIP        :: Maybe Text-    , _nbContainerPort :: Maybe Int-    , _nbHostPort      :: Maybe Int-    } deriving (Eq, Ord, Read, Show)---- | 'NetworkBinding' constructor.------ The fields accessible through corresponding lenses are:------ * 'nbBindIP' @::@ 'Maybe' 'Text'------ * 'nbContainerPort' @::@ 'Maybe' 'Int'------ * 'nbHostPort' @::@ 'Maybe' 'Int'----networkBinding :: NetworkBinding-networkBinding = NetworkBinding-    { _nbBindIP        = Nothing-    , _nbContainerPort = Nothing-    , _nbHostPort      = Nothing-    }---- | The IP address that the container is bound to on the container instance.-nbBindIP :: Lens' NetworkBinding (Maybe Text)-nbBindIP = lens _nbBindIP (\s a -> s { _nbBindIP = a })---- | The port number on the container that is be used with the network binding.-nbContainerPort :: Lens' NetworkBinding (Maybe Int)-nbContainerPort = lens _nbContainerPort (\s a -> s { _nbContainerPort = a })---- | The port number on the host that is used with the network binding.-nbHostPort :: Lens' NetworkBinding (Maybe Int)-nbHostPort = lens _nbHostPort (\s a -> s { _nbHostPort = a })--instance FromJSON NetworkBinding where-    parseJSON = withObject "NetworkBinding" $ \o -> NetworkBinding-        <$> o .:? "bindIP"-        <*> o .:? "containerPort"-        <*> o .:? "hostPort"--instance ToJSON NetworkBinding where-    toJSON NetworkBinding{..} = object-        [ "bindIP"        .= _nbBindIP-        , "containerPort" .= _nbContainerPort-        , "hostPort"      .= _nbHostPort-        ]--data ContainerService = ContainerService-    { _csClusterArn     :: Maybe Text-    , _csDeployments    :: List "deployments" Deployment-    , _csDesiredCount   :: Maybe Int-    , _csEvents         :: List "events" ServiceEvent-    , _csLoadBalancers  :: List "loadBalancers" LoadBalancer-    , _csPendingCount   :: Maybe Int-    , _csRoleArn        :: Maybe Text-    , _csRunningCount   :: Maybe Int-    , _csServiceArn     :: Maybe Text-    , _csServiceName    :: Maybe Text-    , _csStatus         :: Maybe Text-    , _csTaskDefinition :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'ContainerService' constructor.------ The fields accessible through corresponding lenses are:------ * 'csClusterArn' @::@ 'Maybe' 'Text'------ * 'csDeployments' @::@ ['Deployment']------ * 'csDesiredCount' @::@ 'Maybe' 'Int'------ * 'csEvents' @::@ ['ServiceEvent']------ * 'csLoadBalancers' @::@ ['LoadBalancer']------ * 'csPendingCount' @::@ 'Maybe' 'Int'------ * 'csRoleArn' @::@ 'Maybe' 'Text'------ * 'csRunningCount' @::@ 'Maybe' 'Int'------ * 'csServiceArn' @::@ 'Maybe' 'Text'------ * 'csServiceName' @::@ 'Maybe' 'Text'------ * 'csStatus' @::@ 'Maybe' 'Text'------ * 'csTaskDefinition' @::@ 'Maybe' 'Text'----containerService :: ContainerService-containerService = ContainerService-    { _csServiceArn     = Nothing-    , _csServiceName    = Nothing-    , _csClusterArn     = Nothing-    , _csLoadBalancers  = mempty-    , _csStatus         = Nothing-    , _csDesiredCount   = Nothing-    , _csRunningCount   = Nothing-    , _csPendingCount   = Nothing-    , _csTaskDefinition = Nothing-    , _csDeployments    = mempty-    , _csRoleArn        = Nothing-    , _csEvents         = mempty-    }---- | The Amazon Resource Name (ARN) of the of the cluster that hosts the service.-csClusterArn :: Lens' ContainerService (Maybe Text)-csClusterArn = lens _csClusterArn (\s a -> s { _csClusterArn = a })---- | The current state of deployments for the service.-csDeployments :: Lens' ContainerService [Deployment]-csDeployments = lens _csDeployments (\s a -> s { _csDeployments = a }) . _List---- | The desired number of instantiations of the task definition to keep running--- on the service. This value is specified when the service is created with 'CreateService', and it can be modified with 'UpdateService'.-csDesiredCount :: Lens' ContainerService (Maybe Int)-csDesiredCount = lens _csDesiredCount (\s a -> s { _csDesiredCount = a })---- | The event stream for your service. A maximum of 100 of the latest events are--- displayed.-csEvents :: Lens' ContainerService [ServiceEvent]-csEvents = lens _csEvents (\s a -> s { _csEvents = a }) . _List---- | A list of load balancer objects, containing the load balancer name, the--- container name (as it appears in a container definition), and the container--- port to access from the load balancer.-csLoadBalancers :: Lens' ContainerService [LoadBalancer]-csLoadBalancers = lens _csLoadBalancers (\s a -> s { _csLoadBalancers = a }) . _List---- | The number of tasks in the cluster that are in the 'PENDING' state.-csPendingCount :: Lens' ContainerService (Maybe Int)-csPendingCount = lens _csPendingCount (\s a -> s { _csPendingCount = a })---- | The Amazon Resource Name (ARN) of the IAM role associated with the service--- that allows the Amazon ECS container agent to register container instances--- with a load balancer.-csRoleArn :: Lens' ContainerService (Maybe Text)-csRoleArn = lens _csRoleArn (\s a -> s { _csRoleArn = a })---- | The number of tasks in the cluster that are in the 'RUNNING' state.-csRunningCount :: Lens' ContainerService (Maybe Int)-csRunningCount = lens _csRunningCount (\s a -> s { _csRunningCount = a })---- | The Amazon Resource Name (ARN) that identifies the service. The ARN contains--- the 'arn:aws:ecs' namespace, followed by the region of the service, the AWS--- account ID of the service owner, the 'service' namespace, and then the service--- name. For example, arn:aws:ecs:/region/:/012345678910/:service//my-service/.-csServiceArn :: Lens' ContainerService (Maybe Text)-csServiceArn = lens _csServiceArn (\s a -> s { _csServiceArn = a })---- | A user-generated string that you can use to identify your service.-csServiceName :: Lens' ContainerService (Maybe Text)-csServiceName = lens _csServiceName (\s a -> s { _csServiceName = a })---- | The status of the service. The valid values are 'ACTIVE', 'DRAINING', or 'INACTIVE'.-csStatus :: Lens' ContainerService (Maybe Text)-csStatus = lens _csStatus (\s a -> s { _csStatus = a })---- | The task definition to use for tasks in the service. This value is specified--- when the service is created with 'CreateService', and it can be modified with 'UpdateService'.-csTaskDefinition :: Lens' ContainerService (Maybe Text)-csTaskDefinition = lens _csTaskDefinition (\s a -> s { _csTaskDefinition = a })--instance FromJSON ContainerService where-    parseJSON = withObject "ContainerService" $ \o -> ContainerService-        <$> o .:? "clusterArn"-        <*> o .:? "deployments" .!= mempty-        <*> o .:? "desiredCount"-        <*> o .:? "events" .!= mempty-        <*> o .:? "loadBalancers" .!= mempty-        <*> o .:? "pendingCount"-        <*> o .:? "roleArn"-        <*> o .:? "runningCount"-        <*> o .:? "serviceArn"-        <*> o .:? "serviceName"-        <*> o .:? "status"-        <*> o .:? "taskDefinition"--instance ToJSON ContainerService where-    toJSON ContainerService{..} = object-        [ "serviceArn"     .= _csServiceArn-        , "serviceName"    .= _csServiceName-        , "clusterArn"     .= _csClusterArn-        , "loadBalancers"  .= _csLoadBalancers-        , "status"         .= _csStatus-        , "desiredCount"   .= _csDesiredCount-        , "runningCount"   .= _csRunningCount-        , "pendingCount"   .= _csPendingCount-        , "taskDefinition" .= _csTaskDefinition-        , "deployments"    .= _csDeployments-        , "roleArn"        .= _csRoleArn-        , "events"         .= _csEvents-        ]--data Cluster = Cluster-    { _cClusterArn                        :: Maybe Text-    , _cClusterName                       :: Maybe Text-    , _cPendingTasksCount                 :: Maybe Int-    , _cRegisteredContainerInstancesCount :: Maybe Int-    , _cRunningTasksCount                 :: Maybe Int-    , _cStatus                            :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'Cluster' constructor.------ The fields accessible through corresponding lenses are:------ * 'cClusterArn' @::@ 'Maybe' 'Text'------ * 'cClusterName' @::@ 'Maybe' 'Text'------ * 'cPendingTasksCount' @::@ 'Maybe' 'Int'------ * 'cRegisteredContainerInstancesCount' @::@ 'Maybe' 'Int'------ * 'cRunningTasksCount' @::@ 'Maybe' 'Int'------ * 'cStatus' @::@ 'Maybe' 'Text'----cluster :: Cluster-cluster = Cluster-    { _cClusterArn                        = Nothing-    , _cClusterName                       = Nothing-    , _cStatus                            = Nothing-    , _cRegisteredContainerInstancesCount = Nothing-    , _cRunningTasksCount                 = Nothing-    , _cPendingTasksCount                 = Nothing-    }---- | The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains--- the 'arn:aws:ecs' namespace, followed by the region of the cluster, the AWS--- account ID of the cluster owner, the 'cluster' namespace, and then the cluster--- name. For example, arn:aws:ecs:/region/:/012345678910/:cluster//test/.-cClusterArn :: Lens' Cluster (Maybe Text)-cClusterArn = lens _cClusterArn (\s a -> s { _cClusterArn = a })---- | A user-generated string that you can use to identify your cluster.-cClusterName :: Lens' Cluster (Maybe Text)-cClusterName = lens _cClusterName (\s a -> s { _cClusterName = a })---- | The number of tasks in the cluster that are in the 'PENDING' state.-cPendingTasksCount :: Lens' Cluster (Maybe Int)-cPendingTasksCount =-    lens _cPendingTasksCount (\s a -> s { _cPendingTasksCount = a })---- | The number of container instances registered into the cluster.-cRegisteredContainerInstancesCount :: Lens' Cluster (Maybe Int)-cRegisteredContainerInstancesCount =-    lens _cRegisteredContainerInstancesCount-        (\s a -> s { _cRegisteredContainerInstancesCount = a })---- | The number of tasks in the cluster that are in the 'RUNNING' state.-cRunningTasksCount :: Lens' Cluster (Maybe Int)-cRunningTasksCount =-    lens _cRunningTasksCount (\s a -> s { _cRunningTasksCount = a })---- | The status of the cluster. The valid values are 'ACTIVE' or 'INACTIVE'. 'ACTIVE'--- indicates that you can register container instances with the cluster and the--- associated instances can accept tasks.-cStatus :: Lens' Cluster (Maybe Text)-cStatus = lens _cStatus (\s a -> s { _cStatus = a })--instance FromJSON Cluster where-    parseJSON = withObject "Cluster" $ \o -> Cluster-        <$> o .:? "clusterArn"-        <*> o .:? "clusterName"-        <*> o .:? "pendingTasksCount"-        <*> o .:? "registeredContainerInstancesCount"-        <*> o .:? "runningTasksCount"-        <*> o .:? "status"--instance ToJSON Cluster where-    toJSON Cluster{..} = object-        [ "clusterArn"                        .= _cClusterArn-        , "clusterName"                       .= _cClusterName-        , "status"                            .= _cStatus-        , "registeredContainerInstancesCount" .= _cRegisteredContainerInstancesCount-        , "runningTasksCount"                 .= _cRunningTasksCount-        , "pendingTasksCount"                 .= _cPendingTasksCount-        ]--data Volume = Volume-    { _vHost :: Maybe HostVolumeProperties-    , _vName :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'Volume' constructor.------ The fields accessible through corresponding lenses are:------ * 'vHost' @::@ 'Maybe' 'HostVolumeProperties'------ * 'vName' @::@ 'Maybe' 'Text'----volume :: Volume-volume = Volume-    { _vName = Nothing-    , _vHost = Nothing-    }---- | The path on the host container instance that is presented to the containers--- which access the volume. If this parameter is empty, then the Docker daemon--- assigns a host path for you.-vHost :: Lens' Volume (Maybe HostVolumeProperties)-vHost = lens _vHost (\s a -> s { _vHost = a })---- | The name of the volume. This name is referenced in the 'sourceVolume' parameter--- of container definition 'mountPoints'.-vName :: Lens' Volume (Maybe Text)-vName = lens _vName (\s a -> s { _vName = a })--instance FromJSON Volume where-    parseJSON = withObject "Volume" $ \o -> Volume-        <$> o .:? "host"-        <*> o .:? "name"--instance ToJSON Volume where-    toJSON Volume{..} = object-        [ "name" .= _vName-        , "host" .= _vHost-        ]--data ContainerOverride = ContainerOverride-    { _coCommand :: List "command" Text-    , _coName    :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'ContainerOverride' constructor.------ The fields accessible through corresponding lenses are:------ * 'coCommand' @::@ ['Text']------ * 'coName' @::@ 'Maybe' 'Text'----containerOverride :: ContainerOverride-containerOverride = ContainerOverride-    { _coName    = Nothing-    , _coCommand = mempty-    }---- | The command to send to the container that overrides the default command from--- the Docker image or the task definition.-coCommand :: Lens' ContainerOverride [Text]-coCommand = lens _coCommand (\s a -> s { _coCommand = a }) . _List---- | The name of the container that receives the override.-coName :: Lens' ContainerOverride (Maybe Text)-coName = lens _coName (\s a -> s { _coName = a })--instance FromJSON ContainerOverride where-    parseJSON = withObject "ContainerOverride" $ \o -> ContainerOverride-        <$> o .:? "command" .!= mempty-        <*> o .:? "name"--instance ToJSON ContainerOverride where-    toJSON ContainerOverride{..} = object-        [ "name"    .= _coName-        , "command" .= _coCommand-        ]--data KeyValuePair = KeyValuePair-    { _kvpName  :: Maybe Text-    , _kvpValue :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'KeyValuePair' constructor.------ The fields accessible through corresponding lenses are:------ * 'kvpName' @::@ 'Maybe' 'Text'------ * 'kvpValue' @::@ 'Maybe' 'Text'----keyValuePair :: KeyValuePair-keyValuePair = KeyValuePair-    { _kvpName  = Nothing-    , _kvpValue = Nothing-    }---- | The name of the key value pair.-kvpName :: Lens' KeyValuePair (Maybe Text)-kvpName = lens _kvpName (\s a -> s { _kvpName = a })---- | The value of the key value pair.-kvpValue :: Lens' KeyValuePair (Maybe Text)-kvpValue = lens _kvpValue (\s a -> s { _kvpValue = a })--instance FromJSON KeyValuePair where-    parseJSON = withObject "KeyValuePair" $ \o -> KeyValuePair-        <$> o .:? "name"-        <*> o .:? "value"--instance ToJSON KeyValuePair where-    toJSON KeyValuePair{..} = object-        [ "name"  .= _kvpName-        , "value" .= _kvpValue-        ]--data VolumeFrom = VolumeFrom-    { _vfReadOnly        :: Maybe Bool-    , _vfSourceContainer :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'VolumeFrom' constructor.------ The fields accessible through corresponding lenses are:------ * 'vfReadOnly' @::@ 'Maybe' 'Bool'------ * 'vfSourceContainer' @::@ 'Maybe' 'Text'----volumeFrom :: VolumeFrom-volumeFrom = VolumeFrom-    { _vfSourceContainer = Nothing-    , _vfReadOnly        = Nothing-    }---- | If this value is 'true', the container has read-only access to the volume. If--- this value is 'false', then the container can write to the volume. The default--- value is 'false'.-vfReadOnly :: Lens' VolumeFrom (Maybe Bool)-vfReadOnly = lens _vfReadOnly (\s a -> s { _vfReadOnly = a })---- | The name of the container to mount volumes from.-vfSourceContainer :: Lens' VolumeFrom (Maybe Text)-vfSourceContainer =-    lens _vfSourceContainer (\s a -> s { _vfSourceContainer = a })--instance FromJSON VolumeFrom where-    parseJSON = withObject "VolumeFrom" $ \o -> VolumeFrom-        <$> o .:? "readOnly"-        <*> o .:? "sourceContainer"--instance ToJSON VolumeFrom where-    toJSON VolumeFrom{..} = object-        [ "sourceContainer" .= _vfSourceContainer-        , "readOnly"        .= _vfReadOnly-        ]--newtype TaskOverride = TaskOverride-    { _toContainerOverrides :: List "containerOverrides" ContainerOverride-    } deriving (Eq, Read, Show, Monoid, Semigroup)--instance GHC.Exts.IsList TaskOverride where-    type Item TaskOverride = ContainerOverride--    fromList = TaskOverride . GHC.Exts.fromList-    toList   = GHC.Exts.toList . _toContainerOverrides---- | 'TaskOverride' constructor.------ The fields accessible through corresponding lenses are:------ * 'toContainerOverrides' @::@ ['ContainerOverride']----taskOverride :: TaskOverride-taskOverride = TaskOverride-    { _toContainerOverrides = mempty-    }---- | One or more container overrides sent to a task.-toContainerOverrides :: Lens' TaskOverride [ContainerOverride]-toContainerOverrides =-    lens _toContainerOverrides (\s a -> s { _toContainerOverrides = a })-        . _List--instance FromJSON TaskOverride where-    parseJSON = withObject "TaskOverride" $ \o -> TaskOverride-        <$> o .:? "containerOverrides" .!= mempty--instance ToJSON TaskOverride where-    toJSON TaskOverride{..} = object-        [ "containerOverrides" .= _toContainerOverrides-        ]--newtype HostVolumeProperties = HostVolumeProperties-    { _hvpSourcePath :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)---- | 'HostVolumeProperties' constructor.------ The fields accessible through corresponding lenses are:------ * 'hvpSourcePath' @::@ 'Maybe' 'Text'----hostVolumeProperties :: HostVolumeProperties-hostVolumeProperties = HostVolumeProperties-    { _hvpSourcePath = Nothing-    }---- | The path on the host container instance that is presented to the container.--- If this parameter is empty, then the Docker daemon has assigned a host path--- for you.-hvpSourcePath :: Lens' HostVolumeProperties (Maybe Text)-hvpSourcePath = lens _hvpSourcePath (\s a -> s { _hvpSourcePath = a })--instance FromJSON HostVolumeProperties where-    parseJSON = withObject "HostVolumeProperties" $ \o -> HostVolumeProperties-        <$> o .:? "sourcePath"--instance ToJSON HostVolumeProperties where-    toJSON HostVolumeProperties{..} = object-        [ "sourcePath" .= _hvpSourcePath-        ]--data VersionInfo = VersionInfo-    { _viAgentHash     :: Maybe Text-    , _viAgentVersion  :: Maybe Text-    , _viDockerVersion :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'VersionInfo' constructor.------ The fields accessible through corresponding lenses are:------ * 'viAgentHash' @::@ 'Maybe' 'Text'------ * 'viAgentVersion' @::@ 'Maybe' 'Text'------ * 'viDockerVersion' @::@ 'Maybe' 'Text'----versionInfo :: VersionInfo-versionInfo = VersionInfo-    { _viAgentVersion  = Nothing-    , _viAgentHash     = Nothing-    , _viDockerVersion = Nothing-    }---- | The Git commit hash for the Amazon ECS container agent build on the <https://github.com/aws/amazon-ecs-agent/commits/master amazon-ecs-agent > GitHub repository.-viAgentHash :: Lens' VersionInfo (Maybe Text)-viAgentHash = lens _viAgentHash (\s a -> s { _viAgentHash = a })---- | The version number of the Amazon ECS container agent.-viAgentVersion :: Lens' VersionInfo (Maybe Text)-viAgentVersion = lens _viAgentVersion (\s a -> s { _viAgentVersion = a })---- | The Docker version running on the container instance.-viDockerVersion :: Lens' VersionInfo (Maybe Text)-viDockerVersion = lens _viDockerVersion (\s a -> s { _viDockerVersion = a })--instance FromJSON VersionInfo where-    parseJSON = withObject "VersionInfo" $ \o -> VersionInfo-        <$> o .:? "agentHash"-        <*> o .:? "agentVersion"-        <*> o .:? "dockerVersion"--instance ToJSON VersionInfo where-    toJSON VersionInfo{..} = object-        [ "agentVersion"  .= _viAgentVersion-        , "agentHash"     .= _viAgentHash-        , "dockerVersion" .= _viDockerVersion-        ]--data Container = Container-    { _cContainerArn    :: Maybe Text-    , _cExitCode        :: Maybe Int-    , _cLastStatus      :: Maybe Text-    , _cName            :: Maybe Text-    , _cNetworkBindings :: List "networkBindings" NetworkBinding-    , _cReason          :: Maybe Text-    , _cTaskArn         :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'Container' constructor.------ The fields accessible through corresponding lenses are:------ * 'cContainerArn' @::@ 'Maybe' 'Text'------ * 'cExitCode' @::@ 'Maybe' 'Int'------ * 'cLastStatus' @::@ 'Maybe' 'Text'------ * 'cName' @::@ 'Maybe' 'Text'------ * 'cNetworkBindings' @::@ ['NetworkBinding']------ * 'cReason' @::@ 'Maybe' 'Text'------ * 'cTaskArn' @::@ 'Maybe' 'Text'----container :: Container-container = Container-    { _cContainerArn    = Nothing-    , _cTaskArn         = Nothing-    , _cName            = Nothing-    , _cLastStatus      = Nothing-    , _cExitCode        = Nothing-    , _cReason          = Nothing-    , _cNetworkBindings = mempty-    }---- | The Amazon Resource Name (ARN) of the container.-cContainerArn :: Lens' Container (Maybe Text)-cContainerArn = lens _cContainerArn (\s a -> s { _cContainerArn = a })---- | The exit code returned from the container.-cExitCode :: Lens' Container (Maybe Int)-cExitCode = lens _cExitCode (\s a -> s { _cExitCode = a })---- | The last known status of the container.-cLastStatus :: Lens' Container (Maybe Text)-cLastStatus = lens _cLastStatus (\s a -> s { _cLastStatus = a })---- | The name of the container.-cName :: Lens' Container (Maybe Text)-cName = lens _cName (\s a -> s { _cName = a })--cNetworkBindings :: Lens' Container [NetworkBinding]-cNetworkBindings = lens _cNetworkBindings (\s a -> s { _cNetworkBindings = a }) . _List---- | A short (255 max characters) human-readable string to provide additional--- detail about a running or stopped container.-cReason :: Lens' Container (Maybe Text)-cReason = lens _cReason (\s a -> s { _cReason = a })---- | The Amazon Resource Name (ARN) of the task.-cTaskArn :: Lens' Container (Maybe Text)-cTaskArn = lens _cTaskArn (\s a -> s { _cTaskArn = a })--instance FromJSON Container where-    parseJSON = withObject "Container" $ \o -> Container-        <$> o .:? "containerArn"-        <*> o .:? "exitCode"-        <*> o .:? "lastStatus"-        <*> o .:? "name"-        <*> o .:? "networkBindings" .!= mempty-        <*> o .:? "reason"-        <*> o .:? "taskArn"--instance ToJSON Container where-    toJSON Container{..} = object-        [ "containerArn"    .= _cContainerArn-        , "taskArn"         .= _cTaskArn-        , "name"            .= _cName-        , "lastStatus"      .= _cLastStatus-        , "exitCode"        .= _cExitCode-        , "reason"          .= _cReason-        , "networkBindings" .= _cNetworkBindings-        ]--data LoadBalancer = LoadBalancer-    { _lbContainerName    :: Maybe Text-    , _lbContainerPort    :: Maybe Int-    , _lbLoadBalancerName :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'LoadBalancer' constructor.------ The fields accessible through corresponding lenses are:------ * 'lbContainerName' @::@ 'Maybe' 'Text'------ * 'lbContainerPort' @::@ 'Maybe' 'Int'------ * 'lbLoadBalancerName' @::@ 'Maybe' 'Text'----loadBalancer :: LoadBalancer-loadBalancer = LoadBalancer-    { _lbLoadBalancerName = Nothing-    , _lbContainerName    = Nothing-    , _lbContainerPort    = Nothing-    }---- | The name of the container to associate with the load balancer.-lbContainerName :: Lens' LoadBalancer (Maybe Text)-lbContainerName = lens _lbContainerName (\s a -> s { _lbContainerName = a })---- | The port on the container to associate with the load balancer.-lbContainerPort :: Lens' LoadBalancer (Maybe Int)-lbContainerPort = lens _lbContainerPort (\s a -> s { _lbContainerPort = a })---- | The name of the load balancer.-lbLoadBalancerName :: Lens' LoadBalancer (Maybe Text)-lbLoadBalancerName =-    lens _lbLoadBalancerName (\s a -> s { _lbLoadBalancerName = a })--instance FromJSON LoadBalancer where-    parseJSON = withObject "LoadBalancer" $ \o -> LoadBalancer-        <$> o .:? "containerName"-        <*> o .:? "containerPort"-        <*> o .:? "loadBalancerName"--instance ToJSON LoadBalancer where-    toJSON LoadBalancer{..} = object-        [ "loadBalancerName" .= _lbLoadBalancerName-        , "containerName"    .= _lbContainerName-        , "containerPort"    .= _lbContainerPort-        ]--data ContainerDefinition = ContainerDefinition-    { _cdCommand      :: List "command" Text-    , _cdCpu          :: Maybe Int-    , _cdEntryPoint   :: List "entryPoint" Text-    , _cdEnvironment  :: List "environment" KeyValuePair-    , _cdEssential    :: Maybe Bool-    , _cdImage        :: Maybe Text-    , _cdLinks        :: List "links" Text-    , _cdMemory       :: Maybe Int-    , _cdMountPoints  :: List "mountPoints" MountPoint-    , _cdName         :: Maybe Text-    , _cdPortMappings :: List "portMappings" PortMapping-    , _cdVolumesFrom  :: List "volumesFrom" VolumeFrom-    } deriving (Eq, Read, Show)---- | 'ContainerDefinition' constructor.------ The fields accessible through corresponding lenses are:------ * 'cdCommand' @::@ ['Text']------ * 'cdCpu' @::@ 'Maybe' 'Int'------ * 'cdEntryPoint' @::@ ['Text']------ * 'cdEnvironment' @::@ ['KeyValuePair']------ * 'cdEssential' @::@ 'Maybe' 'Bool'------ * 'cdImage' @::@ 'Maybe' 'Text'------ * 'cdLinks' @::@ ['Text']------ * 'cdMemory' @::@ 'Maybe' 'Int'------ * 'cdMountPoints' @::@ ['MountPoint']------ * 'cdName' @::@ 'Maybe' 'Text'------ * 'cdPortMappings' @::@ ['PortMapping']------ * 'cdVolumesFrom' @::@ ['VolumeFrom']----containerDefinition :: ContainerDefinition-containerDefinition = ContainerDefinition-    { _cdName         = Nothing-    , _cdImage        = Nothing-    , _cdCpu          = Nothing-    , _cdMemory       = Nothing-    , _cdLinks        = mempty-    , _cdPortMappings = mempty-    , _cdEssential    = Nothing-    , _cdEntryPoint   = mempty-    , _cdCommand      = mempty-    , _cdEnvironment  = mempty-    , _cdMountPoints  = mempty-    , _cdVolumesFrom  = mempty-    }---- | The 'CMD' that is passed to the container. For more information on the Docker 'CMD' parameter, see <https://docs.docker.com/reference/builder/#cmd https://docs.docker.com/reference/builder/#cmd>.-cdCommand :: Lens' ContainerDefinition [Text]-cdCommand = lens _cdCommand (\s a -> s { _cdCommand = a }) . _List---- | The number of 'cpu' units reserved for the container. A container instance has--- 1,024 'cpu' units for every CPU core.-cdCpu :: Lens' ContainerDefinition (Maybe Int)-cdCpu = lens _cdCpu (\s a -> s { _cdCpu = a })---- | Early versions of the Amazon ECS container agent do not properly handle 'entryPoint' parameters. If you have problems using 'entryPoint', update your container--- agent or enter your commands and arguments as 'command' array items instead.------ The 'ENTRYPOINT' that is passed to the container. For more information on the--- Docker 'ENTRYPOINT' parameter, see <https://docs.docker.com/reference/builder/#entrypoint https://docs.docker.com/reference/builder/#entrypoint>.-cdEntryPoint :: Lens' ContainerDefinition [Text]-cdEntryPoint = lens _cdEntryPoint (\s a -> s { _cdEntryPoint = a }) . _List---- | The environment variables to pass to a container.-cdEnvironment :: Lens' ContainerDefinition [KeyValuePair]-cdEnvironment = lens _cdEnvironment (\s a -> s { _cdEnvironment = a }) . _List---- | If the 'essential' parameter of a container is marked as 'true', the failure of--- that container will stop the task. If the 'essential' parameter of a container--- is marked as 'false', then its failure will not affect the rest of the--- containers in a task.-cdEssential :: Lens' ContainerDefinition (Maybe Bool)-cdEssential = lens _cdEssential (\s a -> s { _cdEssential = a })---- | The image used to start a container. This string is passed directly to the--- Docker daemon. Images in the Docker Hub registry are available by default.--- Other repositories are specified with '/repository-url///image/:/tag/.-cdImage :: Lens' ContainerDefinition (Maybe Text)-cdImage = lens _cdImage (\s a -> s { _cdImage = a })---- | The 'link' parameter allows containers to communicate with each other without--- the need for port mappings, using the 'name' parameter. For more information on--- linking Docker containers, see <https://docs.docker.com/userguide/dockerlinks/ https://docs.docker.com/userguide/dockerlinks/>.-cdLinks :: Lens' ContainerDefinition [Text]-cdLinks = lens _cdLinks (\s a -> s { _cdLinks = a }) . _List---- | The number of MiB of memory reserved for the container. Docker will allocate--- a minimum of 4 MiB of memory to a container.-cdMemory :: Lens' ContainerDefinition (Maybe Int)-cdMemory = lens _cdMemory (\s a -> s { _cdMemory = a })---- | The mount points for data volumes in your container.-cdMountPoints :: Lens' ContainerDefinition [MountPoint]-cdMountPoints = lens _cdMountPoints (\s a -> s { _cdMountPoints = a }) . _List---- | The name of a container. If you are linking multiple containers together in a--- task definition, the 'name' of one container can be entered in the 'links' of--- another container to connect the containers.-cdName :: Lens' ContainerDefinition (Maybe Text)-cdName = lens _cdName (\s a -> s { _cdName = a })---- | The list of port mappings for the container.-cdPortMappings :: Lens' ContainerDefinition [PortMapping]-cdPortMappings = lens _cdPortMappings (\s a -> s { _cdPortMappings = a }) . _List---- | Data volumes to mount from another container.-cdVolumesFrom :: Lens' ContainerDefinition [VolumeFrom]-cdVolumesFrom = lens _cdVolumesFrom (\s a -> s { _cdVolumesFrom = a }) . _List--instance FromJSON ContainerDefinition where-    parseJSON = withObject "ContainerDefinition" $ \o -> ContainerDefinition-        <$> o .:? "command" .!= mempty-        <*> o .:? "cpu"-        <*> o .:? "entryPoint" .!= mempty-        <*> o .:? "environment" .!= mempty-        <*> o .:? "essential"-        <*> o .:? "image"-        <*> o .:? "links" .!= mempty-        <*> o .:? "memory"-        <*> o .:? "mountPoints" .!= mempty-        <*> o .:? "name"-        <*> o .:? "portMappings" .!= mempty-        <*> o .:? "volumesFrom" .!= mempty--instance ToJSON ContainerDefinition where-    toJSON ContainerDefinition{..} = object-        [ "name"         .= _cdName-        , "image"        .= _cdImage-        , "cpu"          .= _cdCpu-        , "memory"       .= _cdMemory-        , "links"        .= _cdLinks-        , "portMappings" .= _cdPortMappings-        , "essential"    .= _cdEssential-        , "entryPoint"   .= _cdEntryPoint-        , "command"      .= _cdCommand-        , "environment"  .= _cdEnvironment-        , "mountPoints"  .= _cdMountPoints-        , "volumesFrom"  .= _cdVolumesFrom-        ]--data Resource = Resource-    { _rDoubleValue    :: Maybe Double-    , _rIntegerValue   :: Maybe Int-    , _rLongValue      :: Maybe Integer-    , _rName           :: Maybe Text-    , _rStringSetValue :: List "stringSetValue" Text-    , _rType           :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'Resource' constructor.------ The fields accessible through corresponding lenses are:------ * 'rDoubleValue' @::@ 'Maybe' 'Double'------ * 'rIntegerValue' @::@ 'Maybe' 'Int'------ * 'rLongValue' @::@ 'Maybe' 'Integer'------ * 'rName' @::@ 'Maybe' 'Text'------ * 'rStringSetValue' @::@ ['Text']------ * 'rType' @::@ 'Maybe' 'Text'----resource :: Resource-resource = Resource-    { _rName           = Nothing-    , _rType           = Nothing-    , _rDoubleValue    = Nothing-    , _rLongValue      = Nothing-    , _rIntegerValue   = Nothing-    , _rStringSetValue = mempty-    }---- | When the 'doubleValue' type is set, the value of the resource must be a double--- precision floating-point type.-rDoubleValue :: Lens' Resource (Maybe Double)-rDoubleValue = lens _rDoubleValue (\s a -> s { _rDoubleValue = a })---- | When the 'integerValue' type is set, the value of the resource must be an--- integer.-rIntegerValue :: Lens' Resource (Maybe Int)-rIntegerValue = lens _rIntegerValue (\s a -> s { _rIntegerValue = a })---- | When the 'longValue' type is set, the value of the resource must be an extended--- precision floating-point type.-rLongValue :: Lens' Resource (Maybe Integer)-rLongValue = lens _rLongValue (\s a -> s { _rLongValue = a })---- | The name of the resource, such as 'CPU', 'MEMORY', 'PORTS', or a user-defined--- resource.-rName :: Lens' Resource (Maybe Text)-rName = lens _rName (\s a -> s { _rName = a })---- | When the 'stringSetValue' type is set, the value of the resource must be a--- string type.-rStringSetValue :: Lens' Resource [Text]-rStringSetValue = lens _rStringSetValue (\s a -> s { _rStringSetValue = a }) . _List---- | The type of the resource, such as 'INTEGER', 'DOUBLE', 'LONG', or 'STRINGSET'.-rType :: Lens' Resource (Maybe Text)-rType = lens _rType (\s a -> s { _rType = a })--instance FromJSON Resource where-    parseJSON = withObject "Resource" $ \o -> Resource-        <$> o .:? "doubleValue"-        <*> o .:? "integerValue"-        <*> o .:? "longValue"-        <*> o .:? "name"-        <*> o .:? "stringSetValue" .!= mempty-        <*> o .:? "type"--instance ToJSON Resource where-    toJSON Resource{..} = object-        [ "name"           .= _rName-        , "type"           .= _rType-        , "doubleValue"    .= _rDoubleValue-        , "longValue"      .= _rLongValue-        , "integerValue"   .= _rIntegerValue-        , "stringSetValue" .= _rStringSetValue-        ]--data Task = Task-    { _tClusterArn           :: Maybe Text-    , _tContainerInstanceArn :: Maybe Text-    , _tContainers           :: List "containers" Container-    , _tDesiredStatus        :: Maybe Text-    , _tLastStatus           :: Maybe Text-    , _tOverrides            :: Maybe TaskOverride-    , _tStartedBy            :: Maybe Text-    , _tTaskArn              :: Maybe Text-    , _tTaskDefinitionArn    :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'Task' constructor.------ The fields accessible through corresponding lenses are:------ * 'tClusterArn' @::@ 'Maybe' 'Text'------ * 'tContainerInstanceArn' @::@ 'Maybe' 'Text'------ * 'tContainers' @::@ ['Container']------ * 'tDesiredStatus' @::@ 'Maybe' 'Text'------ * 'tLastStatus' @::@ 'Maybe' 'Text'------ * 'tOverrides' @::@ 'Maybe' 'TaskOverride'------ * 'tStartedBy' @::@ 'Maybe' 'Text'------ * 'tTaskArn' @::@ 'Maybe' 'Text'------ * 'tTaskDefinitionArn' @::@ 'Maybe' 'Text'----task :: Task-task = Task-    { _tTaskArn              = Nothing-    , _tClusterArn           = Nothing-    , _tTaskDefinitionArn    = Nothing-    , _tContainerInstanceArn = Nothing-    , _tOverrides            = Nothing-    , _tLastStatus           = Nothing-    , _tDesiredStatus        = Nothing-    , _tContainers           = mempty-    , _tStartedBy            = Nothing-    }---- | The Amazon Resource Name (ARN) of the of the cluster that hosts the task.-tClusterArn :: Lens' Task (Maybe Text)-tClusterArn = lens _tClusterArn (\s a -> s { _tClusterArn = a })---- | The Amazon Resource Name (ARN) of the container instances that host the task.-tContainerInstanceArn :: Lens' Task (Maybe Text)-tContainerInstanceArn =-    lens _tContainerInstanceArn (\s a -> s { _tContainerInstanceArn = a })---- | The containers associated with the task.-tContainers :: Lens' Task [Container]-tContainers = lens _tContainers (\s a -> s { _tContainers = a }) . _List---- | The desired status of the task.-tDesiredStatus :: Lens' Task (Maybe Text)-tDesiredStatus = lens _tDesiredStatus (\s a -> s { _tDesiredStatus = a })---- | The last known status of the task.-tLastStatus :: Lens' Task (Maybe Text)-tLastStatus = lens _tLastStatus (\s a -> s { _tLastStatus = a })---- | One or more container overrides.-tOverrides :: Lens' Task (Maybe TaskOverride)-tOverrides = lens _tOverrides (\s a -> s { _tOverrides = a })---- | The tag specified when a task is started. If the task is started by an Amazon--- ECS service, then the 'startedBy' parameter contains the deployment ID of the--- service that starts it.-tStartedBy :: Lens' Task (Maybe Text)-tStartedBy = lens _tStartedBy (\s a -> s { _tStartedBy = a })---- | The Amazon Resource Name (ARN) of the task.-tTaskArn :: Lens' Task (Maybe Text)-tTaskArn = lens _tTaskArn (\s a -> s { _tTaskArn = a })---- | The Amazon Resource Name (ARN) of the of the task definition that creates the--- task.-tTaskDefinitionArn :: Lens' Task (Maybe Text)-tTaskDefinitionArn =-    lens _tTaskDefinitionArn (\s a -> s { _tTaskDefinitionArn = a })--instance FromJSON Task where-    parseJSON = withObject "Task" $ \o -> Task-        <$> o .:? "clusterArn"-        <*> o .:? "containerInstanceArn"-        <*> o .:? "containers" .!= mempty-        <*> o .:? "desiredStatus"-        <*> o .:? "lastStatus"-        <*> o .:? "overrides"-        <*> o .:? "startedBy"-        <*> o .:? "taskArn"-        <*> o .:? "taskDefinitionArn"--instance ToJSON Task where-    toJSON Task{..} = object-        [ "taskArn"              .= _tTaskArn-        , "clusterArn"           .= _tClusterArn-        , "taskDefinitionArn"    .= _tTaskDefinitionArn-        , "containerInstanceArn" .= _tContainerInstanceArn-        , "overrides"            .= _tOverrides-        , "lastStatus"           .= _tLastStatus-        , "desiredStatus"        .= _tDesiredStatus-        , "containers"           .= _tContainers-        , "startedBy"            .= _tStartedBy-        ]--data PortMapping = PortMapping-    { _pmContainerPort :: Maybe Int-    , _pmHostPort      :: Maybe Int-    } deriving (Eq, Ord, Read, Show)---- | 'PortMapping' constructor.------ The fields accessible through corresponding lenses are:------ * 'pmContainerPort' @::@ 'Maybe' 'Int'------ * 'pmHostPort' @::@ 'Maybe' 'Int'----portMapping :: PortMapping-portMapping = PortMapping-    { _pmContainerPort = Nothing-    , _pmHostPort      = Nothing-    }---- | The port number on the container that is bound to the user-specified or--- automatically assigned host port. If you specify a container port and not a--- host port, your container will automatically receive a host port in the 49153--- to 65535 port range.-pmContainerPort :: Lens' PortMapping (Maybe Int)-pmContainerPort = lens _pmContainerPort (\s a -> s { _pmContainerPort = a })---- | The port number on the container instance to reserve for your container. You--- can specify a non-reserved host port for your container port mapping, or you--- can omit the 'hostPort' while specifying a 'containerPort' and your container--- will automatically receive a port in the 49153 to 65535 port range. You--- should not attempt to specify a host port in the 49153 to 65535 port range,--- since these are reserved for automatic assignment.------ The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376,--- and the Amazon ECS Container Agent port 51678. Any host port that was--- previously specified in a running task is also reserved while the task is--- running (once a task stops, the host port is released).The current reserved--- ports are displayed in the 'remainingResources' of 'DescribeContainerInstances'--- output, and a container instance may have up to 50 reserved ports at a time,--- including the default reserved ports (automatically assigned ports do not--- count toward this limit).-pmHostPort :: Lens' PortMapping (Maybe Int)-pmHostPort = lens _pmHostPort (\s a -> s { _pmHostPort = a })--instance FromJSON PortMapping where-    parseJSON = withObject "PortMapping" $ \o -> PortMapping-        <$> o .:? "containerPort"-        <*> o .:? "hostPort"--instance ToJSON PortMapping where-    toJSON PortMapping{..} = object-        [ "containerPort" .= _pmContainerPort-        , "hostPort"      .= _pmHostPort-        ]--data TaskDefinition = TaskDefinition-    { _tdContainerDefinitions :: List "containerDefinitions" ContainerDefinition-    , _tdFamily               :: Maybe Text-    , _tdRevision             :: Maybe Int-    , _tdTaskDefinitionArn    :: Maybe Text-    , _tdVolumes              :: List "volumes" Volume-    } deriving (Eq, Read, Show)---- | 'TaskDefinition' constructor.------ The fields accessible through corresponding lenses are:------ * 'tdContainerDefinitions' @::@ ['ContainerDefinition']------ * 'tdFamily' @::@ 'Maybe' 'Text'------ * 'tdRevision' @::@ 'Maybe' 'Int'------ * 'tdTaskDefinitionArn' @::@ 'Maybe' 'Text'------ * 'tdVolumes' @::@ ['Volume']----taskDefinition :: TaskDefinition-taskDefinition = TaskDefinition-    { _tdTaskDefinitionArn    = Nothing-    , _tdContainerDefinitions = mempty-    , _tdFamily               = Nothing-    , _tdRevision             = Nothing-    , _tdVolumes              = mempty-    }---- | A list of container definitions in JSON format that describe the different--- containers that make up your task. For more information on container--- definition parameters and defaults, see <http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html Amazon ECS Task Definitions> in the /Amazon EC2 Container Service Developer Guide/.-tdContainerDefinitions :: Lens' TaskDefinition [ContainerDefinition]-tdContainerDefinitions =-    lens _tdContainerDefinitions (\s a -> s { _tdContainerDefinitions = a })-        . _List---- | The family of your task definition. You can think of the 'family' as the name--- of your task definition.-tdFamily :: Lens' TaskDefinition (Maybe Text)-tdFamily = lens _tdFamily (\s a -> s { _tdFamily = a })---- | The revision of the task in a particular family. You can think of the--- revision as a version number of a task definition in a family. When you--- register a task definition for the first time, the revision is '1', and each--- time you register a task definition in the same family, the revision value--- increases by one.-tdRevision :: Lens' TaskDefinition (Maybe Int)-tdRevision = lens _tdRevision (\s a -> s { _tdRevision = a })---- | The full Amazon Resource Name (ARN) of the of the task definition.-tdTaskDefinitionArn :: Lens' TaskDefinition (Maybe Text)-tdTaskDefinitionArn =-    lens _tdTaskDefinitionArn (\s a -> s { _tdTaskDefinitionArn = a })---- | The list of volumes in a task. For more information on volume definition--- parameters and defaults, see <http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html Amazon ECS Task Definitions> in the /Amazon EC2Container Service Developer Guide/.-tdVolumes :: Lens' TaskDefinition [Volume]-tdVolumes = lens _tdVolumes (\s a -> s { _tdVolumes = a }) . _List--instance FromJSON TaskDefinition where-    parseJSON = withObject "TaskDefinition" $ \o -> TaskDefinition-        <$> o .:? "containerDefinitions" .!= mempty-        <*> o .:? "family"-        <*> o .:? "revision"-        <*> o .:? "taskDefinitionArn"-        <*> o .:? "volumes" .!= mempty--instance ToJSON TaskDefinition where-    toJSON TaskDefinition{..} = object-        [ "taskDefinitionArn"    .= _tdTaskDefinitionArn-        , "containerDefinitions" .= _tdContainerDefinitions-        , "family"               .= _tdFamily-        , "revision"             .= _tdRevision-        , "volumes"              .= _tdVolumes-        ]--data Failure = Failure-    { _fArn    :: Maybe Text-    , _fReason :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'Failure' constructor.------ The fields accessible through corresponding lenses are:------ * 'fArn' @::@ 'Maybe' 'Text'------ * 'fReason' @::@ 'Maybe' 'Text'----failure :: Failure-failure = Failure-    { _fArn    = Nothing-    , _fReason = Nothing-    }---- | The Amazon Resource Name (ARN) of the failed resource.-fArn :: Lens' Failure (Maybe Text)-fArn = lens _fArn (\s a -> s { _fArn = a })---- | The reason for the failure.-fReason :: Lens' Failure (Maybe Text)-fReason = lens _fReason (\s a -> s { _fReason = a })--instance FromJSON Failure where-    parseJSON = withObject "Failure" $ \o -> Failure-        <$> o .:? "arn"-        <*> o .:? "reason"--instance ToJSON Failure where-    toJSON Failure{..} = object-        [ "arn"    .= _fArn-        , "reason" .= _fReason-        ]--data ContainerInstance = ContainerInstance-    { _ciAgentConnected       :: Maybe Bool-    , _ciContainerInstanceArn :: Maybe Text-    , _ciEc2InstanceId        :: Maybe Text-    , _ciPendingTasksCount    :: Maybe Int-    , _ciRegisteredResources  :: List "registeredResources" Resource-    , _ciRemainingResources   :: List "remainingResources" Resource-    , _ciRunningTasksCount    :: Maybe Int-    , _ciStatus               :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'ContainerInstance' constructor.------ The fields accessible through corresponding lenses are:------ * 'ciAgentConnected' @::@ 'Maybe' 'Bool'------ * 'ciContainerInstanceArn' @::@ 'Maybe' 'Text'------ * 'ciEc2InstanceId' @::@ 'Maybe' 'Text'------ * 'ciPendingTasksCount' @::@ 'Maybe' 'Int'------ * 'ciRegisteredResources' @::@ ['Resource']------ * 'ciRemainingResources' @::@ ['Resource']------ * 'ciRunningTasksCount' @::@ 'Maybe' 'Int'------ * 'ciStatus' @::@ 'Maybe' 'Text'----containerInstance :: ContainerInstance-containerInstance = ContainerInstance-    { _ciContainerInstanceArn = Nothing-    , _ciEc2InstanceId        = Nothing-    , _ciRemainingResources   = mempty-    , _ciRegisteredResources  = mempty-    , _ciStatus               = Nothing-    , _ciAgentConnected       = Nothing-    , _ciRunningTasksCount    = Nothing-    , _ciPendingTasksCount    = Nothing-    }---- | This parameter returns 'true' if the agent is actually connected to Amazon ECS.--- Registered instances with an agent that may be unhealthy or stopped will--- return 'false', and instances without a connected agent cannot accept placement--- request.-ciAgentConnected :: Lens' ContainerInstance (Maybe Bool)-ciAgentConnected = lens _ciAgentConnected (\s a -> s { _ciAgentConnected = a })---- | The Amazon Resource Name (ARN) of the container instance. The ARN contains--- the 'arn:aws:ecs' namespace, followed by the region of the container instance,--- the AWS account ID of the container instance owner, the 'container-instance'--- namespace, and then the container instance UUID. For example, arn:aws:ecs:/region/:/aws_account_id/:container-instance//container_instance_UUID/.-ciContainerInstanceArn :: Lens' ContainerInstance (Maybe Text)-ciContainerInstanceArn =-    lens _ciContainerInstanceArn (\s a -> s { _ciContainerInstanceArn = a })---- | The Amazon EC2 instance ID of the container instance.-ciEc2InstanceId :: Lens' ContainerInstance (Maybe Text)-ciEc2InstanceId = lens _ciEc2InstanceId (\s a -> s { _ciEc2InstanceId = a })---- | The number of tasks on the container instance that are in the 'PENDING' status.-ciPendingTasksCount :: Lens' ContainerInstance (Maybe Int)-ciPendingTasksCount =-    lens _ciPendingTasksCount (\s a -> s { _ciPendingTasksCount = a })---- | The registered resources on the container instance that are in use by current--- tasks.-ciRegisteredResources :: Lens' ContainerInstance [Resource]-ciRegisteredResources =-    lens _ciRegisteredResources (\s a -> s { _ciRegisteredResources = a })-        . _List---- | The remaining resources of the container instance that are available for new--- tasks.-ciRemainingResources :: Lens' ContainerInstance [Resource]-ciRemainingResources =-    lens _ciRemainingResources (\s a -> s { _ciRemainingResources = a })-        . _List---- | The number of tasks on the container instance that are in the 'RUNNING' status.-ciRunningTasksCount :: Lens' ContainerInstance (Maybe Int)-ciRunningTasksCount =-    lens _ciRunningTasksCount (\s a -> s { _ciRunningTasksCount = a })---- | The status of the container instance. The valid values are 'ACTIVE' or 'INACTIVE'.--- 'ACTIVE' indicates that the container instance can accept tasks.-ciStatus :: Lens' ContainerInstance (Maybe Text)-ciStatus = lens _ciStatus (\s a -> s { _ciStatus = a })--instance FromJSON ContainerInstance where-    parseJSON = withObject "ContainerInstance" $ \o -> ContainerInstance-        <$> o .:? "agentConnected"-        <*> o .:? "containerInstanceArn"-        <*> o .:? "ec2InstanceId"-        <*> o .:? "pendingTasksCount"-        <*> o .:? "registeredResources" .!= mempty-        <*> o .:? "remainingResources" .!= mempty-        <*> o .:? "runningTasksCount"-        <*> o .:? "status"--instance ToJSON ContainerInstance where-    toJSON ContainerInstance{..} = object-        [ "containerInstanceArn" .= _ciContainerInstanceArn-        , "ec2InstanceId"        .= _ciEc2InstanceId-        , "remainingResources"   .= _ciRemainingResources-        , "registeredResources"  .= _ciRegisteredResources-        , "status"               .= _ciStatus-        , "agentConnected"       .= _ciAgentConnected-        , "runningTasksCount"    .= _ciRunningTasksCount-        , "pendingTasksCount"    .= _ciPendingTasksCount-        ]--data ServiceEvent = ServiceEvent-    { _seCreatedAt :: Maybe POSIX-    , _seId        :: Maybe Text-    , _seMessage   :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'ServiceEvent' constructor.------ The fields accessible through corresponding lenses are:------ * 'seCreatedAt' @::@ 'Maybe' 'UTCTime'------ * 'seId' @::@ 'Maybe' 'Text'------ * 'seMessage' @::@ 'Maybe' 'Text'----serviceEvent :: ServiceEvent-serviceEvent = ServiceEvent-    { _seId        = Nothing-    , _seCreatedAt = Nothing-    , _seMessage   = Nothing-    }---- | The Unix time in seconds and milliseconds when the event was triggered.-seCreatedAt :: Lens' ServiceEvent (Maybe UTCTime)-seCreatedAt = lens _seCreatedAt (\s a -> s { _seCreatedAt = a }) . mapping _Time---- | The ID string of the event.-seId :: Lens' ServiceEvent (Maybe Text)-seId = lens _seId (\s a -> s { _seId = a })---- | The event message.-seMessage :: Lens' ServiceEvent (Maybe Text)-seMessage = lens _seMessage (\s a -> s { _seMessage = a })--instance FromJSON ServiceEvent where-    parseJSON = withObject "ServiceEvent" $ \o -> ServiceEvent-        <$> o .:? "createdAt"-        <*> o .:? "id"-        <*> o .:? "message"--instance ToJSON ServiceEvent where-    toJSON ServiceEvent{..} = object-        [ "id"        .= _seId-        , "createdAt" .= _seCreatedAt-        , "message"   .= _seMessage-        ]--data Deployment = Deployment-    { _dCreatedAt      :: Maybe POSIX-    , _dDesiredCount   :: Maybe Int-    , _dId             :: Maybe Text-    , _dPendingCount   :: Maybe Int-    , _dRunningCount   :: Maybe Int-    , _dStatus         :: Maybe Text-    , _dTaskDefinition :: Maybe Text-    , _dUpdatedAt      :: Maybe POSIX-    } deriving (Eq, Ord, Read, Show)---- | 'Deployment' constructor.------ The fields accessible through corresponding lenses are:------ * 'dCreatedAt' @::@ 'Maybe' 'UTCTime'------ * 'dDesiredCount' @::@ 'Maybe' 'Int'------ * 'dId' @::@ 'Maybe' 'Text'------ * 'dPendingCount' @::@ 'Maybe' 'Int'------ * 'dRunningCount' @::@ 'Maybe' 'Int'------ * 'dStatus' @::@ 'Maybe' 'Text'------ * 'dTaskDefinition' @::@ 'Maybe' 'Text'------ * 'dUpdatedAt' @::@ 'Maybe' 'UTCTime'----deployment :: Deployment-deployment = Deployment-    { _dId             = Nothing-    , _dStatus         = Nothing-    , _dTaskDefinition = Nothing-    , _dDesiredCount   = Nothing-    , _dPendingCount   = Nothing-    , _dRunningCount   = Nothing-    , _dCreatedAt      = Nothing-    , _dUpdatedAt      = Nothing-    }---- | The Unix time in seconds and milliseconds when the service was created.-dCreatedAt :: Lens' Deployment (Maybe UTCTime)-dCreatedAt = lens _dCreatedAt (\s a -> s { _dCreatedAt = a }) . mapping _Time---- | The most recent desired count of tasks that was specified for the service to--- deploy and/or maintain.-dDesiredCount :: Lens' Deployment (Maybe Int)-dDesiredCount = lens _dDesiredCount (\s a -> s { _dDesiredCount = a })---- | The ID of the deployment.-dId :: Lens' Deployment (Maybe Text)-dId = lens _dId (\s a -> s { _dId = a })---- | The number of tasks in the deployment that are in the 'PENDING' status.-dPendingCount :: Lens' Deployment (Maybe Int)-dPendingCount = lens _dPendingCount (\s a -> s { _dPendingCount = a })---- | The number of tasks in the deployment that are in the 'RUNNING' status.-dRunningCount :: Lens' Deployment (Maybe Int)-dRunningCount = lens _dRunningCount (\s a -> s { _dRunningCount = a })---- | The status of the deployment. Valid values are 'PRIMARY' (for the most recent--- deployment), 'ACTIVE' (for previous deployments that still have tasks running,--- but are being replaced with the 'PRIMARY' deployment), and 'INACTIVE' (for--- deployments that have been completely replaced).-dStatus :: Lens' Deployment (Maybe Text)-dStatus = lens _dStatus (\s a -> s { _dStatus = a })---- | The most recent task definition that was specified for the service to use.-dTaskDefinition :: Lens' Deployment (Maybe Text)-dTaskDefinition = lens _dTaskDefinition (\s a -> s { _dTaskDefinition = a })---- | The Unix time in seconds and milliseconds when the service was last updated.-dUpdatedAt :: Lens' Deployment (Maybe UTCTime)-dUpdatedAt = lens _dUpdatedAt (\s a -> s { _dUpdatedAt = a }) . mapping _Time--instance FromJSON Deployment where-    parseJSON = withObject "Deployment" $ \o -> Deployment-        <$> o .:? "createdAt"-        <*> o .:? "desiredCount"-        <*> o .:? "id"-        <*> o .:? "pendingCount"-        <*> o .:? "runningCount"-        <*> o .:? "status"-        <*> o .:? "taskDefinition"-        <*> o .:? "updatedAt"--instance ToJSON Deployment where-    toJSON Deployment{..} = object-        [ "id"             .= _dId-        , "status"         .= _dStatus-        , "taskDefinition" .= _dTaskDefinition-        , "desiredCount"   .= _dDesiredCount-        , "pendingCount"   .= _dPendingCount-        , "runningCount"   .= _dRunningCount-        , "createdAt"      .= _dCreatedAt-        , "updatedAt"      .= _dUpdatedAt-        ]--data MountPoint = MountPoint-    { _mpContainerPath :: Maybe Text-    , _mpReadOnly      :: Maybe Bool-    , _mpSourceVolume  :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'MountPoint' constructor.------ The fields accessible through corresponding lenses are:------ * 'mpContainerPath' @::@ 'Maybe' 'Text'------ * 'mpReadOnly' @::@ 'Maybe' 'Bool'------ * 'mpSourceVolume' @::@ 'Maybe' 'Text'----mountPoint :: MountPoint-mountPoint = MountPoint-    { _mpSourceVolume  = Nothing-    , _mpContainerPath = Nothing-    , _mpReadOnly      = Nothing-    }---- | The path on the container to mount the host volume at.-mpContainerPath :: Lens' MountPoint (Maybe Text)-mpContainerPath = lens _mpContainerPath (\s a -> s { _mpContainerPath = a })---- | If this value is 'true', the container has read-only access to the volume. If--- this value is 'false', then the container can write to the volume. The default--- value is 'false'.-mpReadOnly :: Lens' MountPoint (Maybe Bool)-mpReadOnly = lens _mpReadOnly (\s a -> s { _mpReadOnly = a })---- | The name of the volume to mount.-mpSourceVolume :: Lens' MountPoint (Maybe Text)-mpSourceVolume = lens _mpSourceVolume (\s a -> s { _mpSourceVolume = a })--instance FromJSON MountPoint where-    parseJSON = withObject "MountPoint" $ \o -> MountPoint-        <$> o .:? "containerPath"-        <*> o .:? "readOnly"-        <*> o .:? "sourceVolume"--instance ToJSON MountPoint where-    toJSON MountPoint{..} = object-        [ "sourceVolume"  .= _mpSourceVolume-        , "containerPath" .= _mpContainerPath-        , "readOnly"      .= _mpReadOnly-        ]+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TypeFamilies      #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.ECS.Types+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.ECS.Types+    (+    -- * Service+      ECS++    -- * Errors+    , _InvalidParameterException+    , _ServerException+    , _ClusterContainsServicesException+    , _ClusterContainsContainerInstancesException+    , _ServiceNotActiveException+    , _NoUpdateAvailableException+    , _ClusterNotFoundException+    , _ServiceNotFoundException+    , _MissingVersionException+    , _UpdateInProgressException+    , _ClientException++    -- * AgentUpdateStatus+    , AgentUpdateStatus (..)++    -- * DesiredStatus+    , DesiredStatus (..)++    -- * SortOrder+    , SortOrder (..)++    -- * TaskDefinitionStatus+    , TaskDefinitionStatus (..)++    -- * TransportProtocol+    , TransportProtocol (..)++    -- * Cluster+    , Cluster+    , cluster+    , cStatus+    , cClusterARN+    , cRunningTasksCount+    , cRegisteredContainerInstancesCount+    , cPendingTasksCount+    , cClusterName+    , cActiveServicesCount++    -- * Container+    , Container+    , container+    , cNetworkBindings+    , cContainerARN+    , cTaskARN+    , cLastStatus+    , cReason+    , cName+    , cExitCode++    -- * ContainerDefinition+    , ContainerDefinition+    , containerDefinition+    , cdImage+    , cdCommand+    , cdVolumesFrom+    , cdEnvironment+    , cdEntryPoint+    , cdPortMappings+    , cdMemory+    , cdName+    , cdMountPoints+    , cdLinks+    , cdEssential+    , cdCpu++    -- * ContainerInstance+    , ContainerInstance+    , containerInstance+    , ciStatus+    , ciRunningTasksCount+    , ciRemainingResources+    , ciEc2InstanceId+    , ciContainerInstanceARN+    , ciAgentConnected+    , ciVersionInfo+    , ciAgentUpdateStatus+    , ciPendingTasksCount+    , ciRegisteredResources++    -- * ContainerOverride+    , ContainerOverride+    , containerOverride+    , coCommand+    , coEnvironment+    , coName++    -- * ContainerService+    , ContainerService+    , containerService+    , csStatus+    , csRunningCount+    , csClusterARN+    , csDesiredCount+    , csLoadBalancers+    , csPendingCount+    , csEvents+    , csServiceName+    , csDeployments+    , csTaskDefinition+    , csServiceARN+    , csRoleARN++    -- * Deployment+    , Deployment+    , deployment+    , dStatus+    , dRunningCount+    , dCreatedAt+    , dDesiredCount+    , dPendingCount+    , dId+    , dTaskDefinition+    , dUpdatedAt++    -- * Failure+    , Failure+    , failure+    , fArn+    , fReason++    -- * HostVolumeProperties+    , HostVolumeProperties+    , hostVolumeProperties+    , hvpSourcePath++    -- * KeyValuePair+    , KeyValuePair+    , keyValuePair+    , kvpValue+    , kvpName++    -- * LoadBalancer+    , LoadBalancer+    , loadBalancer+    , lbLoadBalancerName+    , lbContainerName+    , lbContainerPort++    -- * MountPoint+    , MountPoint+    , mountPoint+    , mpContainerPath+    , mpSourceVolume+    , mpReadOnly++    -- * NetworkBinding+    , NetworkBinding+    , networkBinding+    , nbBindIP+    , nbProtocol+    , nbHostPort+    , nbContainerPort++    -- * PortMapping+    , PortMapping+    , portMapping+    , pmProtocol+    , pmHostPort+    , pmContainerPort++    -- * Resource+    , Resource+    , resource+    , rStringSetValue+    , rIntegerValue+    , rDoubleValue+    , rLongValue+    , rName+    , rType++    -- * ServiceEvent+    , ServiceEvent+    , serviceEvent+    , seCreatedAt+    , seId+    , seMessage++    -- * Task+    , Task+    , task+    , tDesiredStatus+    , tClusterARN+    , tOverrides+    , tTaskARN+    , tContainerInstanceARN+    , tLastStatus+    , tContainers+    , tStartedBy+    , tTaskDefinitionARN++    -- * TaskDefinition+    , TaskDefinition+    , taskDefinition+    , tdStatus+    , tdFamily+    , tdContainerDefinitions+    , tdTaskDefinitionARN+    , tdRevision+    , tdVolumes++    -- * TaskOverride+    , TaskOverride+    , taskOverride+    , toContainerOverrides++    -- * VersionInfo+    , VersionInfo+    , versionInfo+    , viAgentVersion+    , viAgentHash+    , viDockerVersion++    -- * Volume+    , Volume+    , volume+    , vName+    , vHost++    -- * VolumeFrom+    , VolumeFrom+    , volumeFrom+    , vfSourceContainer+    , vfReadOnly+    ) where++import           Network.AWS.ECS.Types.Product+import           Network.AWS.ECS.Types.Sum+import           Network.AWS.Prelude+import           Network.AWS.Sign.V4++-- | Version @2014-11-13@ of the Amazon EC2 Container Service SDK.+data ECS++instance AWSService ECS where+    type Sg ECS = V4+    service = const svc+      where+        svc =+            Service+            { _svcAbbrev = "ECS"+            , _svcPrefix = "ecs"+            , _svcVersion = "2014-11-13"+            , _svcEndpoint = defaultEndpoint svc+            , _svcTimeout = Just 70+            , _svcStatus = statusSuccess+            , _svcError = parseJSONError+            , _svcRetry = retry+            }+        retry =+            Exponential+            { _retryBase = 5.0e-2+            , _retryGrowth = 2+            , _retryAttempts = 5+            , _retryCheck = check+            }+        check e+          | has (hasCode "ThrottlingException" . hasStatus 400) e =+              Just "throttling_exception"+          | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"+          | has (hasStatus 503) e = Just "service_unavailable"+          | has (hasStatus 500) e = Just "general_server_error"+          | has (hasStatus 509) e = Just "limit_exceeded"+          | otherwise = Nothing++-- | The specified parameter is invalid. Review the available parameters for+-- the API request.+_InvalidParameterException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidParameterException =+    _ServiceError . hasCode "InvalidParameterException"++-- | These errors are usually caused by a server-side issue.+_ServerException :: AsError a => Getting (First ServiceError) a ServiceError+_ServerException = _ServiceError . hasCode "ServerException"++-- | You cannot delete a cluster that contains services. You must first+-- update the service to reduce its desired task count to 0 and then delete+-- the service. For more information, see UpdateService and DeleteService.+_ClusterContainsServicesException :: AsError a => Getting (First ServiceError) a ServiceError+_ClusterContainsServicesException =+    _ServiceError . hasCode "ClusterContainsServicesException"++-- | You cannot delete a cluster that has registered container instances. You+-- must first deregister the container instances before you can delete the+-- cluster. For more information, see DeregisterContainerInstance.+_ClusterContainsContainerInstancesException :: AsError a => Getting (First ServiceError) a ServiceError+_ClusterContainsContainerInstancesException =+    _ServiceError . hasCode "ClusterContainsContainerInstancesException"++-- | The specified service is not active. You cannot update a service that is+-- not active. If you have previously deleted a service, you can recreate+-- it with CreateService.+_ServiceNotActiveException :: AsError a => Getting (First ServiceError) a ServiceError+_ServiceNotActiveException =+    _ServiceError . hasCode "ServiceNotActiveException"++-- | There is no update available for this Amazon ECS container agent. This+-- could be because the agent is already running the latest version, or it+-- is so old that there is no update path to the current version.+_NoUpdateAvailableException :: AsError a => Getting (First ServiceError) a ServiceError+_NoUpdateAvailableException =+    _ServiceError . hasCode "NoUpdateAvailableException"++-- | The specified cluster could not be found. You can view your available+-- clusters with ListClusters. Amazon ECS clusters are region-specific.+_ClusterNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError+_ClusterNotFoundException = _ServiceError . hasCode "ClusterNotFoundException"++-- | The specified service could not be found. You can view your available+-- services with ListServices. Amazon ECS services are cluster-specific and+-- region-specific.+_ServiceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError+_ServiceNotFoundException = _ServiceError . hasCode "ServiceNotFoundException"++-- | Amazon ECS is unable to determine the current version of the Amazon ECS+-- container agent on the container instance and does not have enough+-- information to proceed with an update. This could be because the agent+-- running on the container instance is an older or custom version that+-- does not use our version information.+_MissingVersionException :: AsError a => Getting (First ServiceError) a ServiceError+_MissingVersionException = _ServiceError . hasCode "MissingVersionException"++-- | There is already a current Amazon ECS container agent update in progress+-- on the specified container instance. If the container agent becomes+-- disconnected while it is in a transitional stage, such as 'PENDING' or+-- 'STAGING', the update process can get stuck in that state. However, when+-- the agent reconnects, it will resume where it stopped previously.+_UpdateInProgressException :: AsError a => Getting (First ServiceError) a ServiceError+_UpdateInProgressException =+    _ServiceError . hasCode "UpdateInProgressException"++-- | These errors are usually caused by something the client did, such as use+-- an action or resource on behalf of a user that doesn\'t have permission+-- to use the action or resource, or specify an identifier that is not+-- valid.+_ClientException :: AsError a => Getting (First ServiceError) a ServiceError+_ClientException = _ServiceError . hasCode "ClientException"
+ gen/Network/AWS/ECS/Types/Product.hs view
@@ -0,0 +1,1719 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.ECS.Types.Product+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.ECS.Types.Product where++import           Network.AWS.ECS.Types.Sum+import           Network.AWS.Prelude++-- | A regional grouping of one or more container instances on which you can+-- run task requests. Each account receives a default cluster the first+-- time you use the Amazon ECS service, but you may also create other+-- clusters. Clusters may contain more than one instance type+-- simultaneously.+--+-- /See:/ 'cluster' smart constructor.+data Cluster = Cluster'+    { _cStatus                            :: !(Maybe Text)+    , _cClusterARN                        :: !(Maybe Text)+    , _cRunningTasksCount                 :: !(Maybe Int)+    , _cRegisteredContainerInstancesCount :: !(Maybe Int)+    , _cPendingTasksCount                 :: !(Maybe Int)+    , _cClusterName                       :: !(Maybe Text)+    , _cActiveServicesCount               :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Cluster' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cStatus'+--+-- * 'cClusterARN'+--+-- * 'cRunningTasksCount'+--+-- * 'cRegisteredContainerInstancesCount'+--+-- * 'cPendingTasksCount'+--+-- * 'cClusterName'+--+-- * 'cActiveServicesCount'+cluster+    :: Cluster+cluster =+    Cluster'+    { _cStatus = Nothing+    , _cClusterARN = Nothing+    , _cRunningTasksCount = Nothing+    , _cRegisteredContainerInstancesCount = Nothing+    , _cPendingTasksCount = Nothing+    , _cClusterName = Nothing+    , _cActiveServicesCount = Nothing+    }++-- | The status of the cluster. The valid values are 'ACTIVE' or 'INACTIVE'.+-- 'ACTIVE' indicates that you can register container instances with the+-- cluster and the associated instances can accept tasks.+cStatus :: Lens' Cluster (Maybe Text)+cStatus = lens _cStatus (\ s a -> s{_cStatus = a});++-- | The Amazon Resource Name (ARN) that identifies the cluster. The ARN+-- contains the 'arn:aws:ecs' namespace, followed by the region of the+-- cluster, the AWS account ID of the cluster owner, the 'cluster'+-- namespace, and then the cluster name. For example,+-- arn:aws:ecs:/region/:/012345678910/:cluster\//test/.+cClusterARN :: Lens' Cluster (Maybe Text)+cClusterARN = lens _cClusterARN (\ s a -> s{_cClusterARN = a});++-- | The number of tasks in the cluster that are in the 'RUNNING' state.+cRunningTasksCount :: Lens' Cluster (Maybe Int)+cRunningTasksCount = lens _cRunningTasksCount (\ s a -> s{_cRunningTasksCount = a});++-- | The number of container instances registered into the cluster.+cRegisteredContainerInstancesCount :: Lens' Cluster (Maybe Int)+cRegisteredContainerInstancesCount = lens _cRegisteredContainerInstancesCount (\ s a -> s{_cRegisteredContainerInstancesCount = a});++-- | The number of tasks in the cluster that are in the 'PENDING' state.+cPendingTasksCount :: Lens' Cluster (Maybe Int)+cPendingTasksCount = lens _cPendingTasksCount (\ s a -> s{_cPendingTasksCount = a});++-- | A user-generated string that you can use to identify your cluster.+cClusterName :: Lens' Cluster (Maybe Text)+cClusterName = lens _cClusterName (\ s a -> s{_cClusterName = a});++-- | The number of services that are running on the cluster in an 'ACTIVE'+-- state. You can view these services with ListServices.+cActiveServicesCount :: Lens' Cluster (Maybe Int)+cActiveServicesCount = lens _cActiveServicesCount (\ s a -> s{_cActiveServicesCount = a});++instance FromJSON Cluster where+        parseJSON+          = withObject "Cluster"+              (\ x ->+                 Cluster' <$>+                   (x .:? "status") <*> (x .:? "clusterArn") <*>+                     (x .:? "runningTasksCount")+                     <*> (x .:? "registeredContainerInstancesCount")+                     <*> (x .:? "pendingTasksCount")+                     <*> (x .:? "clusterName")+                     <*> (x .:? "activeServicesCount"))++-- | A docker container that is part of a task.+--+-- /See:/ 'container' smart constructor.+data Container = Container'+    { _cNetworkBindings :: !(Maybe [NetworkBinding])+    , _cContainerARN    :: !(Maybe Text)+    , _cTaskARN         :: !(Maybe Text)+    , _cLastStatus      :: !(Maybe Text)+    , _cReason          :: !(Maybe Text)+    , _cName            :: !(Maybe Text)+    , _cExitCode        :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Container' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cNetworkBindings'+--+-- * 'cContainerARN'+--+-- * 'cTaskARN'+--+-- * 'cLastStatus'+--+-- * 'cReason'+--+-- * 'cName'+--+-- * 'cExitCode'+container+    :: Container+container =+    Container'+    { _cNetworkBindings = Nothing+    , _cContainerARN = Nothing+    , _cTaskARN = Nothing+    , _cLastStatus = Nothing+    , _cReason = Nothing+    , _cName = Nothing+    , _cExitCode = Nothing+    }++-- | The network bindings associated with the container.+cNetworkBindings :: Lens' Container [NetworkBinding]+cNetworkBindings = lens _cNetworkBindings (\ s a -> s{_cNetworkBindings = a}) . _Default . _Coerce;++-- | The Amazon Resource Name (ARN) of the container.+cContainerARN :: Lens' Container (Maybe Text)+cContainerARN = lens _cContainerARN (\ s a -> s{_cContainerARN = a});++-- | The Amazon Resource Name (ARN) of the task.+cTaskARN :: Lens' Container (Maybe Text)+cTaskARN = lens _cTaskARN (\ s a -> s{_cTaskARN = a});++-- | The last known status of the container.+cLastStatus :: Lens' Container (Maybe Text)+cLastStatus = lens _cLastStatus (\ s a -> s{_cLastStatus = a});++-- | A short (255 max characters) human-readable string to provide additional+-- detail about a running or stopped container.+cReason :: Lens' Container (Maybe Text)+cReason = lens _cReason (\ s a -> s{_cReason = a});++-- | The name of the container.+cName :: Lens' Container (Maybe Text)+cName = lens _cName (\ s a -> s{_cName = a});++-- | The exit code returned from the container.+cExitCode :: Lens' Container (Maybe Int)+cExitCode = lens _cExitCode (\ s a -> s{_cExitCode = a});++instance FromJSON Container where+        parseJSON+          = withObject "Container"+              (\ x ->+                 Container' <$>+                   (x .:? "networkBindings" .!= mempty) <*>+                     (x .:? "containerArn")+                     <*> (x .:? "taskArn")+                     <*> (x .:? "lastStatus")+                     <*> (x .:? "reason")+                     <*> (x .:? "name")+                     <*> (x .:? "exitCode"))++-- | Container definitions are used in task definitions to describe the+-- different containers that are launched as part of a task.+--+-- /See:/ 'containerDefinition' smart constructor.+data ContainerDefinition = ContainerDefinition'+    { _cdImage        :: !(Maybe Text)+    , _cdCommand      :: !(Maybe [Text])+    , _cdVolumesFrom  :: !(Maybe [VolumeFrom])+    , _cdEnvironment  :: !(Maybe [KeyValuePair])+    , _cdEntryPoint   :: !(Maybe [Text])+    , _cdPortMappings :: !(Maybe [PortMapping])+    , _cdMemory       :: !(Maybe Int)+    , _cdName         :: !(Maybe Text)+    , _cdMountPoints  :: !(Maybe [MountPoint])+    , _cdLinks        :: !(Maybe [Text])+    , _cdEssential    :: !(Maybe Bool)+    , _cdCpu          :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ContainerDefinition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdImage'+--+-- * 'cdCommand'+--+-- * 'cdVolumesFrom'+--+-- * 'cdEnvironment'+--+-- * 'cdEntryPoint'+--+-- * 'cdPortMappings'+--+-- * 'cdMemory'+--+-- * 'cdName'+--+-- * 'cdMountPoints'+--+-- * 'cdLinks'+--+-- * 'cdEssential'+--+-- * 'cdCpu'+containerDefinition+    :: ContainerDefinition+containerDefinition =+    ContainerDefinition'+    { _cdImage = Nothing+    , _cdCommand = Nothing+    , _cdVolumesFrom = Nothing+    , _cdEnvironment = Nothing+    , _cdEntryPoint = Nothing+    , _cdPortMappings = Nothing+    , _cdMemory = Nothing+    , _cdName = Nothing+    , _cdMountPoints = Nothing+    , _cdLinks = Nothing+    , _cdEssential = Nothing+    , _cdCpu = Nothing+    }++-- | The image used to start a container. This string is passed directly to+-- the Docker daemon. Images in the Docker Hub registry are available by+-- default. Other repositories are specified with+-- 'repository-url\/image:tag'.+cdImage :: Lens' ContainerDefinition (Maybe Text)+cdImage = lens _cdImage (\ s a -> s{_cdImage = a});++-- | The 'CMD' that is passed to the container. For more information on the+-- Docker 'CMD' parameter, see+-- <https://docs.docker.com/reference/builder/#cmd>.+cdCommand :: Lens' ContainerDefinition [Text]+cdCommand = lens _cdCommand (\ s a -> s{_cdCommand = a}) . _Default . _Coerce;++-- | Data volumes to mount from another container.+cdVolumesFrom :: Lens' ContainerDefinition [VolumeFrom]+cdVolumesFrom = lens _cdVolumesFrom (\ s a -> s{_cdVolumesFrom = a}) . _Default . _Coerce;++-- | The environment variables to pass to a container.+cdEnvironment :: Lens' ContainerDefinition [KeyValuePair]+cdEnvironment = lens _cdEnvironment (\ s a -> s{_cdEnvironment = a}) . _Default . _Coerce;++-- | Early versions of the Amazon ECS container agent do not properly handle+-- 'entryPoint' parameters. If you have problems using 'entryPoint', update+-- your container agent or enter your commands and arguments as 'command'+-- array items instead.+--+-- The 'ENTRYPOINT' that is passed to the container. For more information+-- on the Docker 'ENTRYPOINT' parameter, see+-- <https://docs.docker.com/reference/builder/#entrypoint>.+cdEntryPoint :: Lens' ContainerDefinition [Text]+cdEntryPoint = lens _cdEntryPoint (\ s a -> s{_cdEntryPoint = a}) . _Default . _Coerce;++-- | The list of port mappings for the container.+cdPortMappings :: Lens' ContainerDefinition [PortMapping]+cdPortMappings = lens _cdPortMappings (\ s a -> s{_cdPortMappings = a}) . _Default . _Coerce;++-- | The number of MiB of memory reserved for the container. If your+-- container attempts to exceed the memory allocated here, the container is+-- killed.+cdMemory :: Lens' ContainerDefinition (Maybe Int)+cdMemory = lens _cdMemory (\ s a -> s{_cdMemory = a});++-- | The name of a container. If you are linking multiple containers together+-- in a task definition, the 'name' of one container can be entered in the+-- 'links' of another container to connect the containers.+cdName :: Lens' ContainerDefinition (Maybe Text)+cdName = lens _cdName (\ s a -> s{_cdName = a});++-- | The mount points for data volumes in your container.+cdMountPoints :: Lens' ContainerDefinition [MountPoint]+cdMountPoints = lens _cdMountPoints (\ s a -> s{_cdMountPoints = a}) . _Default . _Coerce;++-- | The 'link' parameter allows containers to communicate with each other+-- without the need for port mappings, using the 'name' parameter. The+-- 'name:internalName' construct is analogous to 'name:alias' in Docker+-- links. For more information on linking Docker containers, see+-- <https://docs.docker.com/userguide/dockerlinks/>.+--+-- Containers that are collocated on a single container instance may be+-- able to communicate with each other without requiring links or host port+-- mappings. Network isolation is achieved on the container instance using+-- security groups and VPC settings.+cdLinks :: Lens' ContainerDefinition [Text]+cdLinks = lens _cdLinks (\ s a -> s{_cdLinks = a}) . _Default . _Coerce;++-- | If the 'essential' parameter of a container is marked as 'true', the+-- failure of that container will stop the task. If the 'essential'+-- parameter of a container is marked as 'false', then its failure will not+-- affect the rest of the containers in a task. If this parameter is+-- omitted, a container is assumed to be essential.+--+-- All tasks must have at least one essential container.+cdEssential :: Lens' ContainerDefinition (Maybe Bool)+cdEssential = lens _cdEssential (\ s a -> s{_cdEssential = a});++-- | The number of 'cpu' units reserved for the container. A container+-- instance has 1,024 'cpu' units for every CPU core. This parameter+-- specifies the minimum amount of CPU to reserve for a container, and+-- containers share unallocated CPU units with other containers on the+-- instance with the same ratio as their allocated amount.+--+-- For example, if you run a single-container task on a single-core+-- instance type with 512 CPU units specified for that container, and that+-- is the only task running on the container instance, that container could+-- use the full 1,024 CPU unit share at any given time. However, if you+-- launched another copy of the same task on that container instance, each+-- task would be guaranteed a minimum of 512 CPU units when needed, and+-- each container could float to higher CPU usage if the other container+-- was not using it, but if both tasks were 100% active all of the time,+-- they would be limited to 512 CPU units.+--+-- The Docker daemon on the container instance uses the CPU value to+-- calculate the relative CPU share ratios for running containers. For more+-- information, see+-- <https://docs.docker.com/reference/run/#cpu-share-constraint CPU share constraint>+-- in the Docker documentation. The minimum valid CPU share value that the+-- Linux kernel will allow is 2; however, the CPU parameter is not+-- required, and you can use CPU values below 2 in your container+-- definitions. For CPU values below 2 (including null), the behavior+-- varies based on your Amazon ECS container agent version:+--+-- -   __Agent versions less than or equal to 1.1.0:__ Null and zero CPU+--     values are passed to Docker as 0, which Docker then converts to+--     1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which+--     the Linux kernel converts to 2 CPU shares.+-- -   __Agent versions greater than or equal to 1.2.0:__ Null, zero, and+--     CPU values of 1 are passed to Docker as 2.+cdCpu :: Lens' ContainerDefinition (Maybe Int)+cdCpu = lens _cdCpu (\ s a -> s{_cdCpu = a});++instance FromJSON ContainerDefinition where+        parseJSON+          = withObject "ContainerDefinition"+              (\ x ->+                 ContainerDefinition' <$>+                   (x .:? "image") <*> (x .:? "command" .!= mempty) <*>+                     (x .:? "volumesFrom" .!= mempty)+                     <*> (x .:? "environment" .!= mempty)+                     <*> (x .:? "entryPoint" .!= mempty)+                     <*> (x .:? "portMappings" .!= mempty)+                     <*> (x .:? "memory")+                     <*> (x .:? "name")+                     <*> (x .:? "mountPoints" .!= mempty)+                     <*> (x .:? "links" .!= mempty)+                     <*> (x .:? "essential")+                     <*> (x .:? "cpu"))++instance ToJSON ContainerDefinition where+        toJSON ContainerDefinition'{..}+          = object+              ["image" .= _cdImage, "command" .= _cdCommand,+               "volumesFrom" .= _cdVolumesFrom,+               "environment" .= _cdEnvironment,+               "entryPoint" .= _cdEntryPoint,+               "portMappings" .= _cdPortMappings,+               "memory" .= _cdMemory, "name" .= _cdName,+               "mountPoints" .= _cdMountPoints, "links" .= _cdLinks,+               "essential" .= _cdEssential, "cpu" .= _cdCpu]++-- | An Amazon EC2 instance that is running the Amazon ECS agent and has been+-- registered with a cluster.+--+-- /See:/ 'containerInstance' smart constructor.+data ContainerInstance = ContainerInstance'+    { _ciStatus               :: !(Maybe Text)+    , _ciRunningTasksCount    :: !(Maybe Int)+    , _ciRemainingResources   :: !(Maybe [Resource])+    , _ciEc2InstanceId        :: !(Maybe Text)+    , _ciContainerInstanceARN :: !(Maybe Text)+    , _ciAgentConnected       :: !(Maybe Bool)+    , _ciVersionInfo          :: !(Maybe VersionInfo)+    , _ciAgentUpdateStatus    :: !(Maybe AgentUpdateStatus)+    , _ciPendingTasksCount    :: !(Maybe Int)+    , _ciRegisteredResources  :: !(Maybe [Resource])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ContainerInstance' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ciStatus'+--+-- * 'ciRunningTasksCount'+--+-- * 'ciRemainingResources'+--+-- * 'ciEc2InstanceId'+--+-- * 'ciContainerInstanceARN'+--+-- * 'ciAgentConnected'+--+-- * 'ciVersionInfo'+--+-- * 'ciAgentUpdateStatus'+--+-- * 'ciPendingTasksCount'+--+-- * 'ciRegisteredResources'+containerInstance+    :: ContainerInstance+containerInstance =+    ContainerInstance'+    { _ciStatus = Nothing+    , _ciRunningTasksCount = Nothing+    , _ciRemainingResources = Nothing+    , _ciEc2InstanceId = Nothing+    , _ciContainerInstanceARN = Nothing+    , _ciAgentConnected = Nothing+    , _ciVersionInfo = Nothing+    , _ciAgentUpdateStatus = Nothing+    , _ciPendingTasksCount = Nothing+    , _ciRegisteredResources = Nothing+    }++-- | The status of the container instance. The valid values are 'ACTIVE' or+-- 'INACTIVE'. 'ACTIVE' indicates that the container instance can accept+-- tasks.+ciStatus :: Lens' ContainerInstance (Maybe Text)+ciStatus = lens _ciStatus (\ s a -> s{_ciStatus = a});++-- | The number of tasks on the container instance that are in the 'RUNNING'+-- status.+ciRunningTasksCount :: Lens' ContainerInstance (Maybe Int)+ciRunningTasksCount = lens _ciRunningTasksCount (\ s a -> s{_ciRunningTasksCount = a});++-- | The remaining resources of the container instance that are available for+-- new tasks.+ciRemainingResources :: Lens' ContainerInstance [Resource]+ciRemainingResources = lens _ciRemainingResources (\ s a -> s{_ciRemainingResources = a}) . _Default . _Coerce;++-- | The Amazon EC2 instance ID of the container instance.+ciEc2InstanceId :: Lens' ContainerInstance (Maybe Text)+ciEc2InstanceId = lens _ciEc2InstanceId (\ s a -> s{_ciEc2InstanceId = a});++-- | The Amazon Resource Name (ARN) of the container instance. The ARN+-- contains the 'arn:aws:ecs' namespace, followed by the region of the+-- container instance, the AWS account ID of the container instance owner,+-- the 'container-instance' namespace, and then the container instance+-- UUID. For example,+-- arn:aws:ecs:/region/:/aws_account_id/:container-instance\//container_instance_UUID/.+ciContainerInstanceARN :: Lens' ContainerInstance (Maybe Text)+ciContainerInstanceARN = lens _ciContainerInstanceARN (\ s a -> s{_ciContainerInstanceARN = a});++-- | This parameter returns 'true' if the agent is actually connected to+-- Amazon ECS. Registered instances with an agent that may be unhealthy or+-- stopped will return 'false', and instances without a connected agent+-- cannot accept placement request.+ciAgentConnected :: Lens' ContainerInstance (Maybe Bool)+ciAgentConnected = lens _ciAgentConnected (\ s a -> s{_ciAgentConnected = a});++-- | The version information for the Amazon ECS container agent and Docker+-- daemon running on the container instance.+ciVersionInfo :: Lens' ContainerInstance (Maybe VersionInfo)+ciVersionInfo = lens _ciVersionInfo (\ s a -> s{_ciVersionInfo = a});++-- | The status of the most recent agent update. If an update has never been+-- requested, this value is 'NULL'.+ciAgentUpdateStatus :: Lens' ContainerInstance (Maybe AgentUpdateStatus)+ciAgentUpdateStatus = lens _ciAgentUpdateStatus (\ s a -> s{_ciAgentUpdateStatus = a});++-- | The number of tasks on the container instance that are in the 'PENDING'+-- status.+ciPendingTasksCount :: Lens' ContainerInstance (Maybe Int)+ciPendingTasksCount = lens _ciPendingTasksCount (\ s a -> s{_ciPendingTasksCount = a});++-- | The registered resources on the container instance that are in use by+-- current tasks.+ciRegisteredResources :: Lens' ContainerInstance [Resource]+ciRegisteredResources = lens _ciRegisteredResources (\ s a -> s{_ciRegisteredResources = a}) . _Default . _Coerce;++instance FromJSON ContainerInstance where+        parseJSON+          = withObject "ContainerInstance"+              (\ x ->+                 ContainerInstance' <$>+                   (x .:? "status") <*> (x .:? "runningTasksCount") <*>+                     (x .:? "remainingResources" .!= mempty)+                     <*> (x .:? "ec2InstanceId")+                     <*> (x .:? "containerInstanceArn")+                     <*> (x .:? "agentConnected")+                     <*> (x .:? "versionInfo")+                     <*> (x .:? "agentUpdateStatus")+                     <*> (x .:? "pendingTasksCount")+                     <*> (x .:? "registeredResources" .!= mempty))++-- | The overrides that should be sent to a container.+--+-- /See:/ 'containerOverride' smart constructor.+data ContainerOverride = ContainerOverride'+    { _coCommand     :: !(Maybe [Text])+    , _coEnvironment :: !(Maybe [KeyValuePair])+    , _coName        :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ContainerOverride' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'coCommand'+--+-- * 'coEnvironment'+--+-- * 'coName'+containerOverride+    :: ContainerOverride+containerOverride =+    ContainerOverride'+    { _coCommand = Nothing+    , _coEnvironment = Nothing+    , _coName = Nothing+    }++-- | The command to send to the container that overrides the default command+-- from the Docker image or the task definition.+coCommand :: Lens' ContainerOverride [Text]+coCommand = lens _coCommand (\ s a -> s{_coCommand = a}) . _Default . _Coerce;++-- | The environment variables to send to the container. You can add new+-- environment variables, which are added to the container at launch, or+-- you can override the existing environment variables from the Docker+-- image or the task definition.+coEnvironment :: Lens' ContainerOverride [KeyValuePair]+coEnvironment = lens _coEnvironment (\ s a -> s{_coEnvironment = a}) . _Default . _Coerce;++-- | The name of the container that receives the override.+coName :: Lens' ContainerOverride (Maybe Text)+coName = lens _coName (\ s a -> s{_coName = a});++instance FromJSON ContainerOverride where+        parseJSON+          = withObject "ContainerOverride"+              (\ x ->+                 ContainerOverride' <$>+                   (x .:? "command" .!= mempty) <*>+                     (x .:? "environment" .!= mempty)+                     <*> (x .:? "name"))++instance ToJSON ContainerOverride where+        toJSON ContainerOverride'{..}+          = object+              ["command" .= _coCommand,+               "environment" .= _coEnvironment, "name" .= _coName]++-- | Details on a service within a cluster+--+-- /See:/ 'containerService' smart constructor.+data ContainerService = ContainerService'+    { _csStatus         :: !(Maybe Text)+    , _csRunningCount   :: !(Maybe Int)+    , _csClusterARN     :: !(Maybe Text)+    , _csDesiredCount   :: !(Maybe Int)+    , _csLoadBalancers  :: !(Maybe [LoadBalancer])+    , _csPendingCount   :: !(Maybe Int)+    , _csEvents         :: !(Maybe [ServiceEvent])+    , _csServiceName    :: !(Maybe Text)+    , _csDeployments    :: !(Maybe [Deployment])+    , _csTaskDefinition :: !(Maybe Text)+    , _csServiceARN     :: !(Maybe Text)+    , _csRoleARN        :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ContainerService' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csStatus'+--+-- * 'csRunningCount'+--+-- * 'csClusterARN'+--+-- * 'csDesiredCount'+--+-- * 'csLoadBalancers'+--+-- * 'csPendingCount'+--+-- * 'csEvents'+--+-- * 'csServiceName'+--+-- * 'csDeployments'+--+-- * 'csTaskDefinition'+--+-- * 'csServiceARN'+--+-- * 'csRoleARN'+containerService+    :: ContainerService+containerService =+    ContainerService'+    { _csStatus = Nothing+    , _csRunningCount = Nothing+    , _csClusterARN = Nothing+    , _csDesiredCount = Nothing+    , _csLoadBalancers = Nothing+    , _csPendingCount = Nothing+    , _csEvents = Nothing+    , _csServiceName = Nothing+    , _csDeployments = Nothing+    , _csTaskDefinition = Nothing+    , _csServiceARN = Nothing+    , _csRoleARN = Nothing+    }++-- | The status of the service. The valid values are 'ACTIVE', 'DRAINING', or+-- 'INACTIVE'.+csStatus :: Lens' ContainerService (Maybe Text)+csStatus = lens _csStatus (\ s a -> s{_csStatus = a});++-- | The number of tasks in the cluster that are in the 'RUNNING' state.+csRunningCount :: Lens' ContainerService (Maybe Int)+csRunningCount = lens _csRunningCount (\ s a -> s{_csRunningCount = a});++-- | The Amazon Resource Name (ARN) of the of the cluster that hosts the+-- service.+csClusterARN :: Lens' ContainerService (Maybe Text)+csClusterARN = lens _csClusterARN (\ s a -> s{_csClusterARN = a});++-- | The desired number of instantiations of the task definition to keep+-- running on the service. This value is specified when the service is+-- created with CreateService, and it can be modified with UpdateService.+csDesiredCount :: Lens' ContainerService (Maybe Int)+csDesiredCount = lens _csDesiredCount (\ s a -> s{_csDesiredCount = a});++-- | A list of load balancer objects, containing the load balancer name, the+-- container name (as it appears in a container definition), and the+-- container port to access from the load balancer.+csLoadBalancers :: Lens' ContainerService [LoadBalancer]+csLoadBalancers = lens _csLoadBalancers (\ s a -> s{_csLoadBalancers = a}) . _Default . _Coerce;++-- | The number of tasks in the cluster that are in the 'PENDING' state.+csPendingCount :: Lens' ContainerService (Maybe Int)+csPendingCount = lens _csPendingCount (\ s a -> s{_csPendingCount = a});++-- | The event stream for your service. A maximum of 100 of the latest events+-- are displayed.+csEvents :: Lens' ContainerService [ServiceEvent]+csEvents = lens _csEvents (\ s a -> s{_csEvents = a}) . _Default . _Coerce;++-- | A user-generated string that you can use to identify your service.+csServiceName :: Lens' ContainerService (Maybe Text)+csServiceName = lens _csServiceName (\ s a -> s{_csServiceName = a});++-- | The current state of deployments for the service.+csDeployments :: Lens' ContainerService [Deployment]+csDeployments = lens _csDeployments (\ s a -> s{_csDeployments = a}) . _Default . _Coerce;++-- | The task definition to use for tasks in the service. This value is+-- specified when the service is created with CreateService, and it can be+-- modified with UpdateService.+csTaskDefinition :: Lens' ContainerService (Maybe Text)+csTaskDefinition = lens _csTaskDefinition (\ s a -> s{_csTaskDefinition = a});++-- | The Amazon Resource Name (ARN) that identifies the service. The ARN+-- contains the 'arn:aws:ecs' namespace, followed by the region of the+-- service, the AWS account ID of the service owner, the 'service'+-- namespace, and then the service name. For example,+-- arn:aws:ecs:/region/:/012345678910/:service\//my-service/.+csServiceARN :: Lens' ContainerService (Maybe Text)+csServiceARN = lens _csServiceARN (\ s a -> s{_csServiceARN = a});++-- | The Amazon Resource Name (ARN) of the IAM role associated with the+-- service that allows the Amazon ECS container agent to register container+-- instances with a load balancer.+csRoleARN :: Lens' ContainerService (Maybe Text)+csRoleARN = lens _csRoleARN (\ s a -> s{_csRoleARN = a});++instance FromJSON ContainerService where+        parseJSON+          = withObject "ContainerService"+              (\ x ->+                 ContainerService' <$>+                   (x .:? "status") <*> (x .:? "runningCount") <*>+                     (x .:? "clusterArn")+                     <*> (x .:? "desiredCount")+                     <*> (x .:? "loadBalancers" .!= mempty)+                     <*> (x .:? "pendingCount")+                     <*> (x .:? "events" .!= mempty)+                     <*> (x .:? "serviceName")+                     <*> (x .:? "deployments" .!= mempty)+                     <*> (x .:? "taskDefinition")+                     <*> (x .:? "serviceArn")+                     <*> (x .:? "roleArn"))++-- | The details of an Amazon ECS service deployment.+--+-- /See:/ 'deployment' smart constructor.+data Deployment = Deployment'+    { _dStatus         :: !(Maybe Text)+    , _dRunningCount   :: !(Maybe Int)+    , _dCreatedAt      :: !(Maybe POSIX)+    , _dDesiredCount   :: !(Maybe Int)+    , _dPendingCount   :: !(Maybe Int)+    , _dId             :: !(Maybe Text)+    , _dTaskDefinition :: !(Maybe Text)+    , _dUpdatedAt      :: !(Maybe POSIX)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Deployment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dStatus'+--+-- * 'dRunningCount'+--+-- * 'dCreatedAt'+--+-- * 'dDesiredCount'+--+-- * 'dPendingCount'+--+-- * 'dId'+--+-- * 'dTaskDefinition'+--+-- * 'dUpdatedAt'+deployment+    :: Deployment+deployment =+    Deployment'+    { _dStatus = Nothing+    , _dRunningCount = Nothing+    , _dCreatedAt = Nothing+    , _dDesiredCount = Nothing+    , _dPendingCount = Nothing+    , _dId = Nothing+    , _dTaskDefinition = Nothing+    , _dUpdatedAt = Nothing+    }++-- | The status of the deployment. Valid values are 'PRIMARY' (for the most+-- recent deployment), 'ACTIVE' (for previous deployments that still have+-- tasks running, but are being replaced with the 'PRIMARY' deployment),+-- and 'INACTIVE' (for deployments that have been completely replaced).+dStatus :: Lens' Deployment (Maybe Text)+dStatus = lens _dStatus (\ s a -> s{_dStatus = a});++-- | The number of tasks in the deployment that are in the 'RUNNING' status.+dRunningCount :: Lens' Deployment (Maybe Int)+dRunningCount = lens _dRunningCount (\ s a -> s{_dRunningCount = a});++-- | The Unix time in seconds and milliseconds when the service was created.+dCreatedAt :: Lens' Deployment (Maybe UTCTime)+dCreatedAt = lens _dCreatedAt (\ s a -> s{_dCreatedAt = a}) . mapping _Time;++-- | The most recent desired count of tasks that was specified for the+-- service to deploy and\/or maintain.+dDesiredCount :: Lens' Deployment (Maybe Int)+dDesiredCount = lens _dDesiredCount (\ s a -> s{_dDesiredCount = a});++-- | The number of tasks in the deployment that are in the 'PENDING' status.+dPendingCount :: Lens' Deployment (Maybe Int)+dPendingCount = lens _dPendingCount (\ s a -> s{_dPendingCount = a});++-- | The ID of the deployment.+dId :: Lens' Deployment (Maybe Text)+dId = lens _dId (\ s a -> s{_dId = a});++-- | The most recent task definition that was specified for the service to+-- use.+dTaskDefinition :: Lens' Deployment (Maybe Text)+dTaskDefinition = lens _dTaskDefinition (\ s a -> s{_dTaskDefinition = a});++-- | The Unix time in seconds and milliseconds when the service was last+-- updated.+dUpdatedAt :: Lens' Deployment (Maybe UTCTime)+dUpdatedAt = lens _dUpdatedAt (\ s a -> s{_dUpdatedAt = a}) . mapping _Time;++instance FromJSON Deployment where+        parseJSON+          = withObject "Deployment"+              (\ x ->+                 Deployment' <$>+                   (x .:? "status") <*> (x .:? "runningCount") <*>+                     (x .:? "createdAt")+                     <*> (x .:? "desiredCount")+                     <*> (x .:? "pendingCount")+                     <*> (x .:? "id")+                     <*> (x .:? "taskDefinition")+                     <*> (x .:? "updatedAt"))++-- | A failed resource.+--+-- /See:/ 'failure' smart constructor.+data Failure = Failure'+    { _fArn    :: !(Maybe Text)+    , _fReason :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Failure' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fArn'+--+-- * 'fReason'+failure+    :: Failure+failure =+    Failure'+    { _fArn = Nothing+    , _fReason = Nothing+    }++-- | The Amazon Resource Name (ARN) of the failed resource.+fArn :: Lens' Failure (Maybe Text)+fArn = lens _fArn (\ s a -> s{_fArn = a});++-- | The reason for the failure.+fReason :: Lens' Failure (Maybe Text)+fReason = lens _fReason (\ s a -> s{_fReason = a});++instance FromJSON Failure where+        parseJSON+          = withObject "Failure"+              (\ x ->+                 Failure' <$> (x .:? "arn") <*> (x .:? "reason"))++-- | Details on a container instance host volume.+--+-- /See:/ 'hostVolumeProperties' smart constructor.+newtype HostVolumeProperties = HostVolumeProperties'+    { _hvpSourcePath :: Maybe Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'HostVolumeProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hvpSourcePath'+hostVolumeProperties+    :: HostVolumeProperties+hostVolumeProperties =+    HostVolumeProperties'+    { _hvpSourcePath = Nothing+    }++-- | The path on the host container instance that is presented to the+-- container. If this parameter is empty, then the Docker daemon has+-- assigned a host path for you.+hvpSourcePath :: Lens' HostVolumeProperties (Maybe Text)+hvpSourcePath = lens _hvpSourcePath (\ s a -> s{_hvpSourcePath = a});++instance FromJSON HostVolumeProperties where+        parseJSON+          = withObject "HostVolumeProperties"+              (\ x ->+                 HostVolumeProperties' <$> (x .:? "sourcePath"))++instance ToJSON HostVolumeProperties where+        toJSON HostVolumeProperties'{..}+          = object ["sourcePath" .= _hvpSourcePath]++-- | A key and value pair object.+--+-- /See:/ 'keyValuePair' smart constructor.+data KeyValuePair = KeyValuePair'+    { _kvpValue :: !(Maybe Text)+    , _kvpName  :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'KeyValuePair' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'kvpValue'+--+-- * 'kvpName'+keyValuePair+    :: KeyValuePair+keyValuePair =+    KeyValuePair'+    { _kvpValue = Nothing+    , _kvpName = Nothing+    }++-- | The value of the key value pair. For environment variables, this is the+-- value of the environment variable.+kvpValue :: Lens' KeyValuePair (Maybe Text)+kvpValue = lens _kvpValue (\ s a -> s{_kvpValue = a});++-- | The name of the key value pair. For environment variables, this is the+-- name of the environment variable.+kvpName :: Lens' KeyValuePair (Maybe Text)+kvpName = lens _kvpName (\ s a -> s{_kvpName = a});++instance FromJSON KeyValuePair where+        parseJSON+          = withObject "KeyValuePair"+              (\ x ->+                 KeyValuePair' <$> (x .:? "value") <*> (x .:? "name"))++instance ToJSON KeyValuePair where+        toJSON KeyValuePair'{..}+          = object ["value" .= _kvpValue, "name" .= _kvpName]++-- | Details on a load balancer that is used with a service.+--+-- /See:/ 'loadBalancer' smart constructor.+data LoadBalancer = LoadBalancer'+    { _lbLoadBalancerName :: !(Maybe Text)+    , _lbContainerName    :: !(Maybe Text)+    , _lbContainerPort    :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'LoadBalancer' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lbLoadBalancerName'+--+-- * 'lbContainerName'+--+-- * 'lbContainerPort'+loadBalancer+    :: LoadBalancer+loadBalancer =+    LoadBalancer'+    { _lbLoadBalancerName = Nothing+    , _lbContainerName = Nothing+    , _lbContainerPort = Nothing+    }++-- | The name of the load balancer.+lbLoadBalancerName :: Lens' LoadBalancer (Maybe Text)+lbLoadBalancerName = lens _lbLoadBalancerName (\ s a -> s{_lbLoadBalancerName = a});++-- | The name of the container to associate with the load balancer.+lbContainerName :: Lens' LoadBalancer (Maybe Text)+lbContainerName = lens _lbContainerName (\ s a -> s{_lbContainerName = a});++-- | The port on the container to associate with the load balancer. This port+-- must correspond to a 'containerPort' in the service\'s task definition.+-- Your container instances must allow ingress traffic on the 'hostPort' of+-- the port mapping.+lbContainerPort :: Lens' LoadBalancer (Maybe Int)+lbContainerPort = lens _lbContainerPort (\ s a -> s{_lbContainerPort = a});++instance FromJSON LoadBalancer where+        parseJSON+          = withObject "LoadBalancer"+              (\ x ->+                 LoadBalancer' <$>+                   (x .:? "loadBalancerName") <*>+                     (x .:? "containerName")+                     <*> (x .:? "containerPort"))++instance ToJSON LoadBalancer where+        toJSON LoadBalancer'{..}+          = object+              ["loadBalancerName" .= _lbLoadBalancerName,+               "containerName" .= _lbContainerName,+               "containerPort" .= _lbContainerPort]++-- | Details on a volume mount point that is used in a container definition.+--+-- /See:/ 'mountPoint' smart constructor.+data MountPoint = MountPoint'+    { _mpContainerPath :: !(Maybe Text)+    , _mpSourceVolume  :: !(Maybe Text)+    , _mpReadOnly      :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'MountPoint' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mpContainerPath'+--+-- * 'mpSourceVolume'+--+-- * 'mpReadOnly'+mountPoint+    :: MountPoint+mountPoint =+    MountPoint'+    { _mpContainerPath = Nothing+    , _mpSourceVolume = Nothing+    , _mpReadOnly = Nothing+    }++-- | The path on the container to mount the host volume at.+mpContainerPath :: Lens' MountPoint (Maybe Text)+mpContainerPath = lens _mpContainerPath (\ s a -> s{_mpContainerPath = a});++-- | The name of the volume to mount.+mpSourceVolume :: Lens' MountPoint (Maybe Text)+mpSourceVolume = lens _mpSourceVolume (\ s a -> s{_mpSourceVolume = a});++-- | If this value is 'true', the container has read-only access to the+-- volume. If this value is 'false', then the container can write to the+-- volume. The default value is 'false'.+mpReadOnly :: Lens' MountPoint (Maybe Bool)+mpReadOnly = lens _mpReadOnly (\ s a -> s{_mpReadOnly = a});++instance FromJSON MountPoint where+        parseJSON+          = withObject "MountPoint"+              (\ x ->+                 MountPoint' <$>+                   (x .:? "containerPath") <*> (x .:? "sourceVolume")+                     <*> (x .:? "readOnly"))++instance ToJSON MountPoint where+        toJSON MountPoint'{..}+          = object+              ["containerPath" .= _mpContainerPath,+               "sourceVolume" .= _mpSourceVolume,+               "readOnly" .= _mpReadOnly]++-- | Details on the network bindings between a container and its host+-- container instance.+--+-- /See:/ 'networkBinding' smart constructor.+data NetworkBinding = NetworkBinding'+    { _nbBindIP        :: !(Maybe Text)+    , _nbProtocol      :: !(Maybe TransportProtocol)+    , _nbHostPort      :: !(Maybe Int)+    , _nbContainerPort :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'NetworkBinding' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'nbBindIP'+--+-- * 'nbProtocol'+--+-- * 'nbHostPort'+--+-- * 'nbContainerPort'+networkBinding+    :: NetworkBinding+networkBinding =+    NetworkBinding'+    { _nbBindIP = Nothing+    , _nbProtocol = Nothing+    , _nbHostPort = Nothing+    , _nbContainerPort = Nothing+    }++-- | The IP address that the container is bound to on the container instance.+nbBindIP :: Lens' NetworkBinding (Maybe Text)+nbBindIP = lens _nbBindIP (\ s a -> s{_nbBindIP = a});++-- | The protocol used for the network binding.+nbProtocol :: Lens' NetworkBinding (Maybe TransportProtocol)+nbProtocol = lens _nbProtocol (\ s a -> s{_nbProtocol = a});++-- | The port number on the host that is used with the network binding.+nbHostPort :: Lens' NetworkBinding (Maybe Int)+nbHostPort = lens _nbHostPort (\ s a -> s{_nbHostPort = a});++-- | The port number on the container that is be used with the network+-- binding.+nbContainerPort :: Lens' NetworkBinding (Maybe Int)+nbContainerPort = lens _nbContainerPort (\ s a -> s{_nbContainerPort = a});++instance FromJSON NetworkBinding where+        parseJSON+          = withObject "NetworkBinding"+              (\ x ->+                 NetworkBinding' <$>+                   (x .:? "bindIP") <*> (x .:? "protocol") <*>+                     (x .:? "hostPort")+                     <*> (x .:? "containerPort"))++instance ToJSON NetworkBinding where+        toJSON NetworkBinding'{..}+          = object+              ["bindIP" .= _nbBindIP, "protocol" .= _nbProtocol,+               "hostPort" .= _nbHostPort,+               "containerPort" .= _nbContainerPort]++-- | Port mappings allow containers to access ports on the host container+-- instance to send or receive traffic. Port mappings are specified as part+-- of the container definition.+--+-- /See:/ 'portMapping' smart constructor.+data PortMapping = PortMapping'+    { _pmProtocol      :: !(Maybe TransportProtocol)+    , _pmHostPort      :: !(Maybe Int)+    , _pmContainerPort :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PortMapping' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pmProtocol'+--+-- * 'pmHostPort'+--+-- * 'pmContainerPort'+portMapping+    :: PortMapping+portMapping =+    PortMapping'+    { _pmProtocol = Nothing+    , _pmHostPort = Nothing+    , _pmContainerPort = Nothing+    }++-- | The protocol used for the port mapping. Valid values are 'tcp' and+-- 'udp'. The default is 'tcp'.+pmProtocol :: Lens' PortMapping (Maybe TransportProtocol)+pmProtocol = lens _pmProtocol (\ s a -> s{_pmProtocol = a});++-- | The port number on the container instance to reserve for your container.+-- You can specify a non-reserved host port for your container port+-- mapping, or you can omit the 'hostPort' (or set it to '0') while+-- specifying a 'containerPort' and your container will automatically+-- receive a port in the ephemeral port range for your container instance+-- operating system and Docker version.+--+-- The default ephemeral port range is 49153 to 65535, and this range is+-- used for Docker versions prior to 1.6.0. For Docker version 1.6.0 and+-- later, the Docker daemon tries to read the ephemeral port range from+-- '\/proc\/sys\/net\/ipv4\/ip_local_port_range'; if this kernel parameter+-- is unavailable, the default ephemeral port range is used. You should not+-- attempt to specify a host port in the ephemeral port range, since these+-- are reserved for automatic assignment. In general, ports below 32768 are+-- outside of the ephemeral port range.+--+-- The default reserved ports are 22 for SSH, the Docker ports 2375 and+-- 2376, and the Amazon ECS Container Agent port 51678. Any host port that+-- was previously specified in a running task is also reserved while the+-- task is running (once a task stops, the host port is released).The+-- current reserved ports are displayed in the 'remainingResources' of+-- DescribeContainerInstances output, and a container instance may have up+-- to 50 reserved ports at a time, including the default reserved ports+-- (automatically assigned ports do not count toward this limit).+pmHostPort :: Lens' PortMapping (Maybe Int)+pmHostPort = lens _pmHostPort (\ s a -> s{_pmHostPort = a});++-- | The port number on the container that is bound to the user-specified or+-- automatically assigned host port. If you specify a container port and+-- not a host port, your container will automatically receive a host port+-- in the ephemeral port range (for more information, see 'hostPort').+pmContainerPort :: Lens' PortMapping (Maybe Int)+pmContainerPort = lens _pmContainerPort (\ s a -> s{_pmContainerPort = a});++instance FromJSON PortMapping where+        parseJSON+          = withObject "PortMapping"+              (\ x ->+                 PortMapping' <$>+                   (x .:? "protocol") <*> (x .:? "hostPort") <*>+                     (x .:? "containerPort"))++instance ToJSON PortMapping where+        toJSON PortMapping'{..}+          = object+              ["protocol" .= _pmProtocol,+               "hostPort" .= _pmHostPort,+               "containerPort" .= _pmContainerPort]++-- | Describes the resources available for a container instance.+--+-- /See:/ 'resource' smart constructor.+data Resource = Resource'+    { _rStringSetValue :: !(Maybe [Text])+    , _rIntegerValue   :: !(Maybe Int)+    , _rDoubleValue    :: !(Maybe Double)+    , _rLongValue      :: !(Maybe Integer)+    , _rName           :: !(Maybe Text)+    , _rType           :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Resource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rStringSetValue'+--+-- * 'rIntegerValue'+--+-- * 'rDoubleValue'+--+-- * 'rLongValue'+--+-- * 'rName'+--+-- * 'rType'+resource+    :: Resource+resource =+    Resource'+    { _rStringSetValue = Nothing+    , _rIntegerValue = Nothing+    , _rDoubleValue = Nothing+    , _rLongValue = Nothing+    , _rName = Nothing+    , _rType = Nothing+    }++-- | When the 'stringSetValue' type is set, the value of the resource must be+-- a string type.+rStringSetValue :: Lens' Resource [Text]+rStringSetValue = lens _rStringSetValue (\ s a -> s{_rStringSetValue = a}) . _Default . _Coerce;++-- | When the 'integerValue' type is set, the value of the resource must be+-- an integer.+rIntegerValue :: Lens' Resource (Maybe Int)+rIntegerValue = lens _rIntegerValue (\ s a -> s{_rIntegerValue = a});++-- | When the 'doubleValue' type is set, the value of the resource must be a+-- double precision floating-point type.+rDoubleValue :: Lens' Resource (Maybe Double)+rDoubleValue = lens _rDoubleValue (\ s a -> s{_rDoubleValue = a});++-- | When the 'longValue' type is set, the value of the resource must be an+-- extended precision floating-point type.+rLongValue :: Lens' Resource (Maybe Integer)+rLongValue = lens _rLongValue (\ s a -> s{_rLongValue = a});++-- | The name of the resource, such as 'CPU', 'MEMORY', 'PORTS', or a+-- user-defined resource.+rName :: Lens' Resource (Maybe Text)+rName = lens _rName (\ s a -> s{_rName = a});++-- | The type of the resource, such as 'INTEGER', 'DOUBLE', 'LONG', or+-- 'STRINGSET'.+rType :: Lens' Resource (Maybe Text)+rType = lens _rType (\ s a -> s{_rType = a});++instance FromJSON Resource where+        parseJSON+          = withObject "Resource"+              (\ x ->+                 Resource' <$>+                   (x .:? "stringSetValue" .!= mempty) <*>+                     (x .:? "integerValue")+                     <*> (x .:? "doubleValue")+                     <*> (x .:? "longValue")+                     <*> (x .:? "name")+                     <*> (x .:? "type"))++instance ToJSON Resource where+        toJSON Resource'{..}+          = object+              ["stringSetValue" .= _rStringSetValue,+               "integerValue" .= _rIntegerValue,+               "doubleValue" .= _rDoubleValue,+               "longValue" .= _rLongValue, "name" .= _rName,+               "type" .= _rType]++-- | Details on an event associated with a service.+--+-- /See:/ 'serviceEvent' smart constructor.+data ServiceEvent = ServiceEvent'+    { _seCreatedAt :: !(Maybe POSIX)+    , _seId        :: !(Maybe Text)+    , _seMessage   :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ServiceEvent' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'seCreatedAt'+--+-- * 'seId'+--+-- * 'seMessage'+serviceEvent+    :: ServiceEvent+serviceEvent =+    ServiceEvent'+    { _seCreatedAt = Nothing+    , _seId = Nothing+    , _seMessage = Nothing+    }++-- | The Unix time in seconds and milliseconds when the event was triggered.+seCreatedAt :: Lens' ServiceEvent (Maybe UTCTime)+seCreatedAt = lens _seCreatedAt (\ s a -> s{_seCreatedAt = a}) . mapping _Time;++-- | The ID string of the event.+seId :: Lens' ServiceEvent (Maybe Text)+seId = lens _seId (\ s a -> s{_seId = a});++-- | The event message.+seMessage :: Lens' ServiceEvent (Maybe Text)+seMessage = lens _seMessage (\ s a -> s{_seMessage = a});++instance FromJSON ServiceEvent where+        parseJSON+          = withObject "ServiceEvent"+              (\ x ->+                 ServiceEvent' <$>+                   (x .:? "createdAt") <*> (x .:? "id") <*>+                     (x .:? "message"))++-- | Details on a task in a cluster.+--+-- /See:/ 'task' smart constructor.+data Task = Task'+    { _tDesiredStatus        :: !(Maybe Text)+    , _tClusterARN           :: !(Maybe Text)+    , _tOverrides            :: !(Maybe TaskOverride)+    , _tTaskARN              :: !(Maybe Text)+    , _tContainerInstanceARN :: !(Maybe Text)+    , _tLastStatus           :: !(Maybe Text)+    , _tContainers           :: !(Maybe [Container])+    , _tStartedBy            :: !(Maybe Text)+    , _tTaskDefinitionARN    :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Task' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tDesiredStatus'+--+-- * 'tClusterARN'+--+-- * 'tOverrides'+--+-- * 'tTaskARN'+--+-- * 'tContainerInstanceARN'+--+-- * 'tLastStatus'+--+-- * 'tContainers'+--+-- * 'tStartedBy'+--+-- * 'tTaskDefinitionARN'+task+    :: Task+task =+    Task'+    { _tDesiredStatus = Nothing+    , _tClusterARN = Nothing+    , _tOverrides = Nothing+    , _tTaskARN = Nothing+    , _tContainerInstanceARN = Nothing+    , _tLastStatus = Nothing+    , _tContainers = Nothing+    , _tStartedBy = Nothing+    , _tTaskDefinitionARN = Nothing+    }++-- | The desired status of the task.+tDesiredStatus :: Lens' Task (Maybe Text)+tDesiredStatus = lens _tDesiredStatus (\ s a -> s{_tDesiredStatus = a});++-- | The Amazon Resource Name (ARN) of the of the cluster that hosts the+-- task.+tClusterARN :: Lens' Task (Maybe Text)+tClusterARN = lens _tClusterARN (\ s a -> s{_tClusterARN = a});++-- | One or more container overrides.+tOverrides :: Lens' Task (Maybe TaskOverride)+tOverrides = lens _tOverrides (\ s a -> s{_tOverrides = a});++-- | The Amazon Resource Name (ARN) of the task.+tTaskARN :: Lens' Task (Maybe Text)+tTaskARN = lens _tTaskARN (\ s a -> s{_tTaskARN = a});++-- | The Amazon Resource Name (ARN) of the container instances that host the+-- task.+tContainerInstanceARN :: Lens' Task (Maybe Text)+tContainerInstanceARN = lens _tContainerInstanceARN (\ s a -> s{_tContainerInstanceARN = a});++-- | The last known status of the task.+tLastStatus :: Lens' Task (Maybe Text)+tLastStatus = lens _tLastStatus (\ s a -> s{_tLastStatus = a});++-- | The containers associated with the task.+tContainers :: Lens' Task [Container]+tContainers = lens _tContainers (\ s a -> s{_tContainers = a}) . _Default . _Coerce;++-- | The tag specified when a task is started. If the task is started by an+-- Amazon ECS service, then the 'startedBy' parameter contains the+-- deployment ID of the service that starts it.+tStartedBy :: Lens' Task (Maybe Text)+tStartedBy = lens _tStartedBy (\ s a -> s{_tStartedBy = a});++-- | The Amazon Resource Name (ARN) of the of the task definition that+-- creates the task.+tTaskDefinitionARN :: Lens' Task (Maybe Text)+tTaskDefinitionARN = lens _tTaskDefinitionARN (\ s a -> s{_tTaskDefinitionARN = a});++instance FromJSON Task where+        parseJSON+          = withObject "Task"+              (\ x ->+                 Task' <$>+                   (x .:? "desiredStatus") <*> (x .:? "clusterArn") <*>+                     (x .:? "overrides")+                     <*> (x .:? "taskArn")+                     <*> (x .:? "containerInstanceArn")+                     <*> (x .:? "lastStatus")+                     <*> (x .:? "containers" .!= mempty)+                     <*> (x .:? "startedBy")+                     <*> (x .:? "taskDefinitionArn"))++-- | Details of a task definition.+--+-- /See:/ 'taskDefinition' smart constructor.+data TaskDefinition = TaskDefinition'+    { _tdStatus               :: !(Maybe TaskDefinitionStatus)+    , _tdFamily               :: !(Maybe Text)+    , _tdContainerDefinitions :: !(Maybe [ContainerDefinition])+    , _tdTaskDefinitionARN    :: !(Maybe Text)+    , _tdRevision             :: !(Maybe Int)+    , _tdVolumes              :: !(Maybe [Volume])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'TaskDefinition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tdStatus'+--+-- * 'tdFamily'+--+-- * 'tdContainerDefinitions'+--+-- * 'tdTaskDefinitionARN'+--+-- * 'tdRevision'+--+-- * 'tdVolumes'+taskDefinition+    :: TaskDefinition+taskDefinition =+    TaskDefinition'+    { _tdStatus = Nothing+    , _tdFamily = Nothing+    , _tdContainerDefinitions = Nothing+    , _tdTaskDefinitionARN = Nothing+    , _tdRevision = Nothing+    , _tdVolumes = Nothing+    }++-- | The status of the task definition.+tdStatus :: Lens' TaskDefinition (Maybe TaskDefinitionStatus)+tdStatus = lens _tdStatus (\ s a -> s{_tdStatus = a});++-- | The family of your task definition. You can think of the 'family' as the+-- name of your task definition.+tdFamily :: Lens' TaskDefinition (Maybe Text)+tdFamily = lens _tdFamily (\ s a -> s{_tdFamily = a});++-- | A list of container definitions in JSON format that describe the+-- different containers that make up your task. For more information on+-- container definition parameters and defaults, see+-- <http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html Amazon ECS Task Definitions>+-- in the /Amazon EC2 Container Service Developer Guide/.+tdContainerDefinitions :: Lens' TaskDefinition [ContainerDefinition]+tdContainerDefinitions = lens _tdContainerDefinitions (\ s a -> s{_tdContainerDefinitions = a}) . _Default . _Coerce;++-- | The full Amazon Resource Name (ARN) of the of the task definition.+tdTaskDefinitionARN :: Lens' TaskDefinition (Maybe Text)+tdTaskDefinitionARN = lens _tdTaskDefinitionARN (\ s a -> s{_tdTaskDefinitionARN = a});++-- | The revision of the task in a particular family. You can think of the+-- revision as a version number of a task definition in a family. When you+-- register a task definition for the first time, the revision is '1', and+-- each time you register a new revision of a task definition in the same+-- family, the revision value always increases by one (even if you have+-- deregistered previous revisions in this family).+tdRevision :: Lens' TaskDefinition (Maybe Int)+tdRevision = lens _tdRevision (\ s a -> s{_tdRevision = a});++-- | The list of volumes in a task. For more information on volume definition+-- parameters and defaults, see+-- <http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html Amazon ECS Task Definitions>+-- in the /Amazon EC2 Container Service Developer Guide/.+tdVolumes :: Lens' TaskDefinition [Volume]+tdVolumes = lens _tdVolumes (\ s a -> s{_tdVolumes = a}) . _Default . _Coerce;++instance FromJSON TaskDefinition where+        parseJSON+          = withObject "TaskDefinition"+              (\ x ->+                 TaskDefinition' <$>+                   (x .:? "status") <*> (x .:? "family") <*>+                     (x .:? "containerDefinitions" .!= mempty)+                     <*> (x .:? "taskDefinitionArn")+                     <*> (x .:? "revision")+                     <*> (x .:? "volumes" .!= mempty))++-- | The overrides associated with a task.+--+-- /See:/ 'taskOverride' smart constructor.+newtype TaskOverride = TaskOverride'+    { _toContainerOverrides :: Maybe [ContainerOverride]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'TaskOverride' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'toContainerOverrides'+taskOverride+    :: TaskOverride+taskOverride =+    TaskOverride'+    { _toContainerOverrides = Nothing+    }++-- | One or more container overrides sent to a task.+toContainerOverrides :: Lens' TaskOverride [ContainerOverride]+toContainerOverrides = lens _toContainerOverrides (\ s a -> s{_toContainerOverrides = a}) . _Default . _Coerce;++instance FromJSON TaskOverride where+        parseJSON+          = withObject "TaskOverride"+              (\ x ->+                 TaskOverride' <$>+                   (x .:? "containerOverrides" .!= mempty))++instance ToJSON TaskOverride where+        toJSON TaskOverride'{..}+          = object+              ["containerOverrides" .= _toContainerOverrides]++-- | The Docker and Amazon ECS container agent version information on a+-- container instance.+--+-- /See:/ 'versionInfo' smart constructor.+data VersionInfo = VersionInfo'+    { _viAgentVersion  :: !(Maybe Text)+    , _viAgentHash     :: !(Maybe Text)+    , _viDockerVersion :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VersionInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'viAgentVersion'+--+-- * 'viAgentHash'+--+-- * 'viDockerVersion'+versionInfo+    :: VersionInfo+versionInfo =+    VersionInfo'+    { _viAgentVersion = Nothing+    , _viAgentHash = Nothing+    , _viDockerVersion = Nothing+    }++-- | The version number of the Amazon ECS container agent.+viAgentVersion :: Lens' VersionInfo (Maybe Text)+viAgentVersion = lens _viAgentVersion (\ s a -> s{_viAgentVersion = a});++-- | The Git commit hash for the Amazon ECS container agent build on the+-- <https://github.com/aws/amazon-ecs-agent/commits/master amazon-ecs-agent>+-- GitHub repository.+viAgentHash :: Lens' VersionInfo (Maybe Text)+viAgentHash = lens _viAgentHash (\ s a -> s{_viAgentHash = a});++-- | The Docker version running on the container instance.+viDockerVersion :: Lens' VersionInfo (Maybe Text)+viDockerVersion = lens _viDockerVersion (\ s a -> s{_viDockerVersion = a});++instance FromJSON VersionInfo where+        parseJSON+          = withObject "VersionInfo"+              (\ x ->+                 VersionInfo' <$>+                   (x .:? "agentVersion") <*> (x .:? "agentHash") <*>+                     (x .:? "dockerVersion"))++instance ToJSON VersionInfo where+        toJSON VersionInfo'{..}+          = object+              ["agentVersion" .= _viAgentVersion,+               "agentHash" .= _viAgentHash,+               "dockerVersion" .= _viDockerVersion]++-- | A data volume used in a task definition.+--+-- /See:/ 'volume' smart constructor.+data Volume = Volume'+    { _vName :: !(Maybe Text)+    , _vHost :: !(Maybe HostVolumeProperties)+    } 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:+--+-- * 'vName'+--+-- * 'vHost'+volume+    :: Volume+volume =+    Volume'+    { _vName = Nothing+    , _vHost = Nothing+    }++-- | The name of the volume. This name is referenced in the 'sourceVolume'+-- parameter of container definition 'mountPoints'.+vName :: Lens' Volume (Maybe Text)+vName = lens _vName (\ s a -> s{_vName = a});++-- | The path on the host container instance that is presented to the+-- containers which access the volume. If this parameter is empty, then the+-- Docker daemon assigns a host path for you.+vHost :: Lens' Volume (Maybe HostVolumeProperties)+vHost = lens _vHost (\ s a -> s{_vHost = a});++instance FromJSON Volume where+        parseJSON+          = withObject "Volume"+              (\ x ->+                 Volume' <$> (x .:? "name") <*> (x .:? "host"))++instance ToJSON Volume where+        toJSON Volume'{..}+          = object ["name" .= _vName, "host" .= _vHost]++-- | Details on a data volume from another container.+--+-- /See:/ 'volumeFrom' smart constructor.+data VolumeFrom = VolumeFrom'+    { _vfSourceContainer :: !(Maybe Text)+    , _vfReadOnly        :: !(Maybe Bool)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VolumeFrom' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vfSourceContainer'+--+-- * 'vfReadOnly'+volumeFrom+    :: VolumeFrom+volumeFrom =+    VolumeFrom'+    { _vfSourceContainer = Nothing+    , _vfReadOnly = Nothing+    }++-- | The name of the container to mount volumes from.+vfSourceContainer :: Lens' VolumeFrom (Maybe Text)+vfSourceContainer = lens _vfSourceContainer (\ s a -> s{_vfSourceContainer = a});++-- | If this value is 'true', the container has read-only access to the+-- volume. If this value is 'false', then the container can write to the+-- volume. The default value is 'false'.+vfReadOnly :: Lens' VolumeFrom (Maybe Bool)+vfReadOnly = lens _vfReadOnly (\ s a -> s{_vfReadOnly = a});++instance FromJSON VolumeFrom where+        parseJSON+          = withObject "VolumeFrom"+              (\ x ->+                 VolumeFrom' <$>+                   (x .:? "sourceContainer") <*> (x .:? "readOnly"))++instance ToJSON VolumeFrom where+        toJSON VolumeFrom'{..}+          = object+              ["sourceContainer" .= _vfSourceContainer,+               "readOnly" .= _vfReadOnly]
+ gen/Network/AWS/ECS/Types/Sum.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.ECS.Types.Sum+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.ECS.Types.Sum where++import           Network.AWS.Prelude++data AgentUpdateStatus+    = AUSFailed+    | AUSPending+    | AUSStaged+    | AUSStaging+    | AUSUpdated+    | AUSUpdating+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText AgentUpdateStatus where+    parser = takeLowerText >>= \case+        "failed" -> pure AUSFailed+        "pending" -> pure AUSPending+        "staged" -> pure AUSStaged+        "staging" -> pure AUSStaging+        "updated" -> pure AUSUpdated+        "updating" -> pure AUSUpdating+        e -> fromTextError $ "Failure parsing AgentUpdateStatus from value: '" <> e+           <> "'. Accepted values: failed, pending, staged, staging, updated, updating"++instance ToText AgentUpdateStatus where+    toText = \case+        AUSFailed -> "failed"+        AUSPending -> "pending"+        AUSStaged -> "staged"+        AUSStaging -> "staging"+        AUSUpdated -> "updated"+        AUSUpdating -> "updating"++instance Hashable     AgentUpdateStatus+instance ToByteString AgentUpdateStatus+instance ToQuery      AgentUpdateStatus+instance ToHeader     AgentUpdateStatus++instance FromJSON AgentUpdateStatus where+    parseJSON = parseJSONText "AgentUpdateStatus"++data DesiredStatus+    = Pending+    | Running+    | Stopped+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText DesiredStatus where+    parser = takeLowerText >>= \case+        "pending" -> pure Pending+        "running" -> pure Running+        "stopped" -> pure Stopped+        e -> fromTextError $ "Failure parsing DesiredStatus from value: '" <> e+           <> "'. Accepted values: pending, running, stopped"++instance ToText DesiredStatus where+    toText = \case+        Pending -> "pending"+        Running -> "running"+        Stopped -> "stopped"++instance Hashable     DesiredStatus+instance ToByteString DesiredStatus+instance ToQuery      DesiredStatus+instance ToHeader     DesiredStatus++instance ToJSON DesiredStatus where+    toJSON = toJSONText++data SortOrder+    = Asc+    | Desc+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText SortOrder where+    parser = takeLowerText >>= \case+        "asc" -> pure Asc+        "desc" -> pure Desc+        e -> fromTextError $ "Failure parsing SortOrder from value: '" <> e+           <> "'. Accepted values: asc, desc"++instance ToText SortOrder where+    toText = \case+        Asc -> "asc"+        Desc -> "desc"++instance Hashable     SortOrder+instance ToByteString SortOrder+instance ToQuery      SortOrder+instance ToHeader     SortOrder++instance ToJSON SortOrder where+    toJSON = toJSONText++data TaskDefinitionStatus+    = Active+    | Inactive+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText TaskDefinitionStatus where+    parser = takeLowerText >>= \case+        "active" -> pure Active+        "inactive" -> pure Inactive+        e -> fromTextError $ "Failure parsing TaskDefinitionStatus from value: '" <> e+           <> "'. Accepted values: active, inactive"++instance ToText TaskDefinitionStatus where+    toText = \case+        Active -> "active"+        Inactive -> "inactive"++instance Hashable     TaskDefinitionStatus+instance ToByteString TaskDefinitionStatus+instance ToQuery      TaskDefinitionStatus+instance ToHeader     TaskDefinitionStatus++instance ToJSON TaskDefinitionStatus where+    toJSON = toJSONText++instance FromJSON TaskDefinitionStatus where+    parseJSON = parseJSONText "TaskDefinitionStatus"++data TransportProtocol+    = TCP+    | Udp+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText TransportProtocol where+    parser = takeLowerText >>= \case+        "tcp" -> pure TCP+        "udp" -> pure Udp+        e -> fromTextError $ "Failure parsing TransportProtocol from value: '" <> e+           <> "'. Accepted values: tcp, udp"++instance ToText TransportProtocol where+    toText = \case+        TCP -> "tcp"+        Udp -> "udp"++instance Hashable     TransportProtocol+instance ToByteString TransportProtocol+instance ToQuery      TransportProtocol+instance ToHeader     TransportProtocol++instance ToJSON TransportProtocol where+    toJSON = toJSONText++instance FromJSON TransportProtocol where+    parseJSON = parseJSONText "TransportProtocol"
+ gen/Network/AWS/ECS/UpdateContainerAgent.hs view
@@ -0,0 +1,153 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.ECS.UpdateContainerAgent+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the Amazon ECS container agent on a specified container+-- instance. Updating the Amazon ECS container agent does not interrupt+-- running tasks or services on the container instance. The process for+-- updating the agent differs depending on whether your container instance+-- was launched with the Amazon ECS-optimized AMI or another operating+-- system.+--+-- 'UpdateContainerAgent' requires the Amazon ECS-optimized AMI or Amazon+-- Linux with the 'ecs-init' service installed and running. For help+-- updating the Amazon ECS container agent on other operating systems, see+-- <http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html#manually_update_agent Manually Updating the Amazon ECS Container Agent>+-- in the /Amazon EC2 Container Service Developer Guide/.+--+-- /See:/ <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_UpdateContainerAgent.html AWS API Reference> for UpdateContainerAgent.+module Network.AWS.ECS.UpdateContainerAgent+    (+    -- * Creating a Request+      updateContainerAgent+    , UpdateContainerAgent+    -- * Request Lenses+    , ucaCluster+    , ucaContainerInstance++    -- * Destructuring the Response+    , updateContainerAgentResponse+    , UpdateContainerAgentResponse+    -- * Response Lenses+    , ucarsContainerInstance+    , ucarsStatus+    ) where++import           Network.AWS.ECS.Types+import           Network.AWS.ECS.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'updateContainerAgent' smart constructor.+data UpdateContainerAgent = UpdateContainerAgent'+    { _ucaCluster           :: !(Maybe Text)+    , _ucaContainerInstance :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateContainerAgent' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ucaCluster'+--+-- * 'ucaContainerInstance'+updateContainerAgent+    :: Text -- ^ 'ucaContainerInstance'+    -> UpdateContainerAgent+updateContainerAgent pContainerInstance_ =+    UpdateContainerAgent'+    { _ucaCluster = Nothing+    , _ucaContainerInstance = pContainerInstance_+    }++-- | The short name or full Amazon Resource Name (ARN) of the cluster that+-- your container instance is running on. If you do not specify a cluster,+-- the default cluster is assumed.+ucaCluster :: Lens' UpdateContainerAgent (Maybe Text)+ucaCluster = lens _ucaCluster (\ s a -> s{_ucaCluster = a});++-- | The container instance UUID or full Amazon Resource Name (ARN) entries+-- for the container instance on which you would like to update the Amazon+-- ECS container agent.+ucaContainerInstance :: Lens' UpdateContainerAgent Text+ucaContainerInstance = lens _ucaContainerInstance (\ s a -> s{_ucaContainerInstance = a});++instance AWSRequest UpdateContainerAgent where+        type Sv UpdateContainerAgent = ECS+        type Rs UpdateContainerAgent =+             UpdateContainerAgentResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 UpdateContainerAgentResponse' <$>+                   (x .?> "containerInstance") <*> (pure (fromEnum s)))++instance ToHeaders UpdateContainerAgent where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AmazonEC2ContainerServiceV20141113.UpdateContainerAgent"+                       :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdateContainerAgent where+        toJSON UpdateContainerAgent'{..}+          = object+              ["cluster" .= _ucaCluster,+               "containerInstance" .= _ucaContainerInstance]++instance ToPath UpdateContainerAgent where+        toPath = const "/"++instance ToQuery UpdateContainerAgent where+        toQuery = const mempty++-- | /See:/ 'updateContainerAgentResponse' smart constructor.+data UpdateContainerAgentResponse = UpdateContainerAgentResponse'+    { _ucarsContainerInstance :: !(Maybe ContainerInstance)+    , _ucarsStatus            :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateContainerAgentResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ucarsContainerInstance'+--+-- * 'ucarsStatus'+updateContainerAgentResponse+    :: Int -- ^ 'ucarsStatus'+    -> UpdateContainerAgentResponse+updateContainerAgentResponse pStatus_ =+    UpdateContainerAgentResponse'+    { _ucarsContainerInstance = Nothing+    , _ucarsStatus = pStatus_+    }++-- | Undocumented member.+ucarsContainerInstance :: Lens' UpdateContainerAgentResponse (Maybe ContainerInstance)+ucarsContainerInstance = lens _ucarsContainerInstance (\ s a -> s{_ucarsContainerInstance = a});++-- | The response status code.+ucarsStatus :: Lens' UpdateContainerAgentResponse Int+ucarsStatus = lens _ucarsStatus (\ s a -> s{_ucarsStatus = a});
gen/Network/AWS/ECS/UpdateService.hs view
@@ -1,164 +1,180 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.ECS.UpdateService--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Modify the desired count or task definition used in a service.+-- Modify the desired count or task definition used in a service. -- -- You can add to or subtract from the number of instantiations of a task--- definition in a service by specifying the cluster that the service is running--- in and a new 'desiredCount' parameter.+-- definition in a service by specifying the cluster that the service is+-- running in and a new 'desiredCount' parameter. ----- You can use 'UpdateService' to modify your task definition and deploy a new--- version of your service, one task at a time. If you modify the task--- definition with 'UpdateService', Amazon ECS spawns a task with the new version--- of the task definition and then stops an old task after the new version is--- running. Because 'UpdateService' starts a new version of the task before--- stopping an old version, your cluster must have capacity to support one more--- instantiation of the task when 'UpdateService' is run. If your cluster cannot--- support another instantiation of the task used in your service, you can--- reduce the desired count of your service by one before modifying the task--- definition.+-- You can use 'UpdateService' to modify your task definition and deploy a+-- new version of your service, one task at a time. If you modify the task+-- definition with 'UpdateService', Amazon ECS spawns a task with the new+-- version of the task definition and then stops an old task after the new+-- version is running. Because 'UpdateService' starts a new version of the+-- task before stopping an old version, your cluster must have capacity to+-- support one more instantiation of the task when 'UpdateService' is run.+-- If your cluster cannot support another instantiation of the task used in+-- your service, you can reduce the desired count of your service by one+-- before modifying the task definition. ----- <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_UpdateService.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_UpdateService.html AWS API Reference> for UpdateService. module Network.AWS.ECS.UpdateService     (-    -- * Request-      UpdateService-    -- ** Request constructor-    , updateService-    -- ** Request lenses+    -- * Creating a Request+      updateService+    , UpdateService+    -- * Request Lenses     , usCluster     , usDesiredCount-    , usService     , usTaskDefinition+    , usService -    -- * Response-    , UpdateServiceResponse-    -- ** Response constructor+    -- * Destructuring the Response     , updateServiceResponse-    -- ** Response lenses-    , usrService+    , UpdateServiceResponse+    -- * Response Lenses+    , usrsService+    , usrsStatus     ) where -import Network.AWS.Data (Object)-import Network.AWS.Prelude-import Network.AWS.Request.JSON-import Network.AWS.ECS.Types-import qualified GHC.Exts+import           Network.AWS.ECS.Types+import           Network.AWS.ECS.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data UpdateService = UpdateService-    { _usCluster        :: Maybe Text-    , _usDesiredCount   :: Maybe Int-    , _usService        :: Text-    , _usTaskDefinition :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'updateService' smart constructor.+data UpdateService = UpdateService'+    { _usCluster        :: !(Maybe Text)+    , _usDesiredCount   :: !(Maybe Int)+    , _usTaskDefinition :: !(Maybe Text)+    , _usService        :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'UpdateService' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'UpdateService' with the minimum fields required to make a request. ----- * 'usCluster' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'usDesiredCount' @::@ 'Maybe' 'Int'+-- * 'usCluster' ----- * 'usService' @::@ 'Text'+-- * 'usDesiredCount' ----- * 'usTaskDefinition' @::@ 'Maybe' 'Text'+-- * 'usTaskDefinition' ---updateService :: Text -- ^ 'usService'-              -> UpdateService-updateService p1 = UpdateService-    { _usService        = p1-    , _usCluster        = Nothing-    , _usDesiredCount   = Nothing+-- * 'usService'+updateService+    :: Text -- ^ 'usService'+    -> UpdateService+updateService pService_ =+    UpdateService'+    { _usCluster = Nothing+    , _usDesiredCount = Nothing     , _usTaskDefinition = Nothing+    , _usService = pService_     } --- | The short name or full Amazon Resource Name (ARN) of the cluster that your--- service is running on. If you do not specify a cluster, the default cluster--- is assumed.+-- | The short name or full Amazon Resource Name (ARN) of the cluster that+-- your service is running on. If you do not specify a cluster, the default+-- cluster is assumed. usCluster :: Lens' UpdateService (Maybe Text)-usCluster = lens _usCluster (\s a -> s { _usCluster = a })+usCluster = lens _usCluster (\ s a -> s{_usCluster = a}); --- | The number of instantiations of the task that you would like to place and--- keep running in your service.+-- | The number of instantiations of the task that you would like to place+-- and keep running in your service. usDesiredCount :: Lens' UpdateService (Maybe Int)-usDesiredCount = lens _usDesiredCount (\s a -> s { _usDesiredCount = a })+usDesiredCount = lens _usDesiredCount (\ s a -> s{_usDesiredCount = a}); +-- | The 'family' and 'revision' ('family:revision') or full Amazon Resource+-- Name (ARN) of the task definition that you want to run in your service.+-- If a 'revision' is not specified, the latest 'ACTIVE' revision is used.+-- If you modify the task definition with 'UpdateService', Amazon ECS+-- spawns a task with the new version of the task definition and then stops+-- an old task after the new version is running.+usTaskDefinition :: Lens' UpdateService (Maybe Text)+usTaskDefinition = lens _usTaskDefinition (\ s a -> s{_usTaskDefinition = a});+ -- | The name of the service that you want to update. usService :: Lens' UpdateService Text-usService = lens _usService (\s a -> s { _usService = a })---- | The 'family' and 'revision' ('family:revision') or full Amazon Resource Name (ARN)--- of the task definition that you want to run in your service. If you modify--- the task definition with 'UpdateService', Amazon ECS spawns a task with the new--- version of the task definition and then stops an old task after the new--- version is running.-usTaskDefinition :: Lens' UpdateService (Maybe Text)-usTaskDefinition = lens _usTaskDefinition (\s a -> s { _usTaskDefinition = a })+usService = lens _usService (\ s a -> s{_usService = a}); -newtype UpdateServiceResponse = UpdateServiceResponse-    { _usrService :: Maybe ContainerService-    } deriving (Eq, Read, Show)+instance AWSRequest UpdateService where+        type Sv UpdateService = ECS+        type Rs UpdateService = UpdateServiceResponse+        request = postJSON+        response+          = receiveJSON+              (\ s h x ->+                 UpdateServiceResponse' <$>+                   (x .?> "service") <*> (pure (fromEnum s))) --- | 'UpdateServiceResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'usrService' @::@ 'Maybe' 'ContainerService'----updateServiceResponse :: UpdateServiceResponse-updateServiceResponse = UpdateServiceResponse-    { _usrService = Nothing-    }+instance ToHeaders UpdateService where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AmazonEC2ContainerServiceV20141113.UpdateService"+                       :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)]) --- | The full description of your service following the update call.-usrService :: Lens' UpdateServiceResponse (Maybe ContainerService)-usrService = lens _usrService (\s a -> s { _usrService = a })+instance ToJSON UpdateService where+        toJSON UpdateService'{..}+          = object+              ["cluster" .= _usCluster,+               "desiredCount" .= _usDesiredCount,+               "taskDefinition" .= _usTaskDefinition,+               "service" .= _usService]  instance ToPath UpdateService where-    toPath = const "/"+        toPath = const "/"  instance ToQuery UpdateService where-    toQuery = const mempty--instance ToHeaders UpdateService+        toQuery = const mempty -instance ToJSON UpdateService where-    toJSON UpdateService{..} = object-        [ "cluster"        .= _usCluster-        , "service"        .= _usService-        , "desiredCount"   .= _usDesiredCount-        , "taskDefinition" .= _usTaskDefinition-        ]+-- | /See:/ 'updateServiceResponse' smart constructor.+data UpdateServiceResponse = UpdateServiceResponse'+    { _usrsService :: !(Maybe ContainerService)+    , _usrsStatus  :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest UpdateService where-    type Sv UpdateService = ECS-    type Rs UpdateService = UpdateServiceResponse+-- | Creates a value of 'UpdateServiceResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'usrsService'+--+-- * 'usrsStatus'+updateServiceResponse+    :: Int -- ^ 'usrsStatus'+    -> UpdateServiceResponse+updateServiceResponse pStatus_ =+    UpdateServiceResponse'+    { _usrsService = Nothing+    , _usrsStatus = pStatus_+    } -    request  = post "UpdateService"-    response = jsonResponse+-- | The full description of your service following the update call.+usrsService :: Lens' UpdateServiceResponse (Maybe ContainerService)+usrsService = lens _usrsService (\ s a -> s{_usrsService = a}); -instance FromJSON UpdateServiceResponse where-    parseJSON = withObject "UpdateServiceResponse" $ \o -> UpdateServiceResponse-        <$> o .:? "service"+-- | The response status code.+usrsStatus :: Lens' UpdateServiceResponse Int+usrsStatus = lens _usrsStatus (\ s a -> s{_usrsStatus = a});
+ gen/Network/AWS/ECS/Waiters.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TypeFamilies      #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.ECS.Waiters+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.ECS.Waiters where++import           Network.AWS.ECS.DescribeServices+import           Network.AWS.ECS.DescribeTasks+import           Network.AWS.ECS.DescribeTasks+import           Network.AWS.ECS.Types+import           Network.AWS.Prelude+import           Network.AWS.Waiter++-- | Polls 'Network.AWS.ECS.DescribeServices' every 15 seconds until a+-- successful state is reached. An error is returned after 40 failed checks.+servicesInactive :: Wait DescribeServices+servicesInactive =+    Wait+    { _waitName = "ServicesInactive"+    , _waitAttempts = 40+    , _waitDelay = 15+    , _waitAcceptors = [ matchAny+                             "MISSING"+                             AcceptFailure+                             (folding (concatOf dssrsFailures) .+                              fReason . _Just . to toTextCI)+                       , matchAny+                             "INACTIVE"+                             AcceptSuccess+                             (folding (concatOf dssrsServices) .+                              csStatus . _Just . to toTextCI)]+    }++-- | Polls 'Network.AWS.ECS.DescribeTasks' every 6 seconds until a+-- successful state is reached. An error is returned after 100 failed checks.+tasksRunning :: Wait DescribeTasks+tasksRunning =+    Wait+    { _waitName = "TasksRunning"+    , _waitAttempts = 100+    , _waitDelay = 6+    , _waitAcceptors = [ matchAny+                             "STOPPED"+                             AcceptFailure+                             (folding (concatOf dtrsTasks) .+                              tLastStatus . _Just . to toTextCI)+                       , matchAny+                             "MISSING"+                             AcceptFailure+                             (folding (concatOf dtrsFailures) .+                              fReason . _Just . to toTextCI)+                       , matchAll+                             "RUNNING"+                             AcceptSuccess+                             (folding (concatOf dtrsTasks) .+                              tLastStatus . _Just . to toTextCI)]+    }++-- | Polls 'Network.AWS.ECS.DescribeTasks' every 6 seconds until a+-- successful state is reached. An error is returned after 100 failed checks.+tasksStopped :: Wait DescribeTasks+tasksStopped =+    Wait+    { _waitName = "TasksStopped"+    , _waitAttempts = 100+    , _waitDelay = 6+    , _waitAcceptors = [ matchAll+                             "STOPPED"+                             AcceptSuccess+                             (folding (concatOf dtrsTasks) .+                              tLastStatus . _Just . to toTextCI)]+    }
+ test/Main.hs view
@@ -0,0 +1,21 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Main+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Main (main) where++import Test.Tasty+import Test.AWS.ECS+import Test.AWS.ECS.Internal++main :: IO ()+main = defaultMain $ testGroup "ECS"+    [ testGroup "tests"    tests+    , testGroup "fixtures" fixtures+    ]
+ test/Test/AWS/ECS.hs view
@@ -0,0 +1,26 @@+{-# LANGUAGE OverloadedStrings #-}++-- Module      : Test.AWS.ECS+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : This Source Code Form is subject to the terms of+--               the Mozilla Public License, v. 2.0.+--               A copy of the MPL can be found in the LICENSE file or+--               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++module Test.AWS.ECS+    ( tests+    , fixtures+    ) where++import           Network.AWS.ECS+import           Test.AWS.Gen.ECS+import           Test.Tasty++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/AWS/ECS/Internal.hs view
@@ -0,0 +1,16 @@+{-# LANGUAGE OverloadedStrings #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Test.AWS.ECS.Internal+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : This Source Code Form is subject to the terms of+--               the Mozilla Public License, v. 2.0.+--               A copy of the MPL can be found in the LICENSE file or+--               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++module Test.AWS.ECS.Internal where++import Test.AWS.Prelude
+ test/Test/AWS/Gen/ECS.hs view
@@ -0,0 +1,498 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-orphans        #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Test.AWS.Gen.ECS+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Test.AWS.Gen.ECS where++import Data.Proxy+import Test.AWS.Fixture+import Test.AWS.Prelude+import Test.Tasty+import Network.AWS.ECS+import Test.AWS.ECS.Internal++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+--     [ testGroup "request"+--         [ testListServices $+--             listServices+--+--         , testDescribeClusters $+--             describeClusters+--+--         , testDeleteService $+--             deleteService+--+--         , testUpdateService $+--             updateService+--+--         , testDiscoverPollEndpoint $+--             discoverPollEndpoint+--+--         , testSubmitContainerStateChange $+--             submitContainerStateChange+--+--         , testStopTask $+--             stopTask+--+--         , testDescribeTaskDefinition $+--             describeTaskDefinition+--+--         , testSubmitTaskStateChange $+--             submitTaskStateChange+--+--         , testDescribeContainerInstances $+--             describeContainerInstances+--+--         , testDeleteCluster $+--             deleteCluster+--+--         , testCreateCluster $+--             createCluster+--+--         , testListTaskDefinitions $+--             listTaskDefinitions+--+--         , testListTasks $+--             listTasks+--+--         , testRunTask $+--             runTask+--+--         , testListContainerInstances $+--             listContainerInstances+--+--         , testRegisterContainerInstance $+--             registerContainerInstance+--+--         , testUpdateContainerAgent $+--             updateContainerAgent+--+--         , testListTaskDefinitionFamilies $+--             listTaskDefinitionFamilies+--+--         , testStartTask $+--             startTask+--+--         , testDeregisterTaskDefinition $+--             deregisterTaskDefinition+--+--         , testDescribeTasks $+--             describeTasks+--+--         , testListClusters $+--             listClusters+--+--         , testDescribeServices $+--             describeServices+--+--         , testDeregisterContainerInstance $+--             deregisterContainerInstance+--+--         , testRegisterTaskDefinition $+--             registerTaskDefinition+--+--         , testCreateService $+--             createService+--+--           ]++--     , testGroup "response"+--         [ testListServicesResponse $+--             listServicesResponse+--+--         , testDescribeClustersResponse $+--             describeClustersResponse+--+--         , testDeleteServiceResponse $+--             deleteServiceResponse+--+--         , testUpdateServiceResponse $+--             updateServiceResponse+--+--         , testDiscoverPollEndpointResponse $+--             discoverPollEndpointResponse+--+--         , testSubmitContainerStateChangeResponse $+--             submitContainerStateChangeResponse+--+--         , testStopTaskResponse $+--             stopTaskResponse+--+--         , testDescribeTaskDefinitionResponse $+--             describeTaskDefinitionResponse+--+--         , testSubmitTaskStateChangeResponse $+--             submitTaskStateChangeResponse+--+--         , testDescribeContainerInstancesResponse $+--             describeContainerInstancesResponse+--+--         , testDeleteClusterResponse $+--             deleteClusterResponse+--+--         , testCreateClusterResponse $+--             createClusterResponse+--+--         , testListTaskDefinitionsResponse $+--             listTaskDefinitionsResponse+--+--         , testListTasksResponse $+--             listTasksResponse+--+--         , testRunTaskResponse $+--             runTaskResponse+--+--         , testListContainerInstancesResponse $+--             listContainerInstancesResponse+--+--         , testRegisterContainerInstanceResponse $+--             registerContainerInstanceResponse+--+--         , testUpdateContainerAgentResponse $+--             updateContainerAgentResponse+--+--         , testListTaskDefinitionFamiliesResponse $+--             listTaskDefinitionFamiliesResponse+--+--         , testStartTaskResponse $+--             startTaskResponse+--+--         , testDeregisterTaskDefinitionResponse $+--             deregisterTaskDefinitionResponse+--+--         , testDescribeTasksResponse $+--             describeTasksResponse+--+--         , testListClustersResponse $+--             listClustersResponse+--+--         , testDescribeServicesResponse $+--             describeServicesResponse+--+--         , testDeregisterContainerInstanceResponse $+--             deregisterContainerInstanceResponse+--+--         , testRegisterTaskDefinitionResponse $+--             registerTaskDefinitionResponse+--+--         , testCreateServiceResponse $+--             createServiceResponse+--+--           ]+--     ]++-- Requests++testListServices :: ListServices -> TestTree+testListServices = req+    "ListServices"+    "fixture/ListServices"++testDescribeClusters :: DescribeClusters -> TestTree+testDescribeClusters = req+    "DescribeClusters"+    "fixture/DescribeClusters"++testDeleteService :: DeleteService -> TestTree+testDeleteService = req+    "DeleteService"+    "fixture/DeleteService"++testUpdateService :: UpdateService -> TestTree+testUpdateService = req+    "UpdateService"+    "fixture/UpdateService"++testDiscoverPollEndpoint :: DiscoverPollEndpoint -> TestTree+testDiscoverPollEndpoint = req+    "DiscoverPollEndpoint"+    "fixture/DiscoverPollEndpoint"++testSubmitContainerStateChange :: SubmitContainerStateChange -> TestTree+testSubmitContainerStateChange = req+    "SubmitContainerStateChange"+    "fixture/SubmitContainerStateChange"++testStopTask :: StopTask -> TestTree+testStopTask = req+    "StopTask"+    "fixture/StopTask"++testDescribeTaskDefinition :: DescribeTaskDefinition -> TestTree+testDescribeTaskDefinition = req+    "DescribeTaskDefinition"+    "fixture/DescribeTaskDefinition"++testSubmitTaskStateChange :: SubmitTaskStateChange -> TestTree+testSubmitTaskStateChange = req+    "SubmitTaskStateChange"+    "fixture/SubmitTaskStateChange"++testDescribeContainerInstances :: DescribeContainerInstances -> TestTree+testDescribeContainerInstances = req+    "DescribeContainerInstances"+    "fixture/DescribeContainerInstances"++testDeleteCluster :: DeleteCluster -> TestTree+testDeleteCluster = req+    "DeleteCluster"+    "fixture/DeleteCluster"++testCreateCluster :: CreateCluster -> TestTree+testCreateCluster = req+    "CreateCluster"+    "fixture/CreateCluster"++testListTaskDefinitions :: ListTaskDefinitions -> TestTree+testListTaskDefinitions = req+    "ListTaskDefinitions"+    "fixture/ListTaskDefinitions"++testListTasks :: ListTasks -> TestTree+testListTasks = req+    "ListTasks"+    "fixture/ListTasks"++testRunTask :: RunTask -> TestTree+testRunTask = req+    "RunTask"+    "fixture/RunTask"++testListContainerInstances :: ListContainerInstances -> TestTree+testListContainerInstances = req+    "ListContainerInstances"+    "fixture/ListContainerInstances"++testRegisterContainerInstance :: RegisterContainerInstance -> TestTree+testRegisterContainerInstance = req+    "RegisterContainerInstance"+    "fixture/RegisterContainerInstance"++testUpdateContainerAgent :: UpdateContainerAgent -> TestTree+testUpdateContainerAgent = req+    "UpdateContainerAgent"+    "fixture/UpdateContainerAgent"++testListTaskDefinitionFamilies :: ListTaskDefinitionFamilies -> TestTree+testListTaskDefinitionFamilies = req+    "ListTaskDefinitionFamilies"+    "fixture/ListTaskDefinitionFamilies"++testStartTask :: StartTask -> TestTree+testStartTask = req+    "StartTask"+    "fixture/StartTask"++testDeregisterTaskDefinition :: DeregisterTaskDefinition -> TestTree+testDeregisterTaskDefinition = req+    "DeregisterTaskDefinition"+    "fixture/DeregisterTaskDefinition"++testDescribeTasks :: DescribeTasks -> TestTree+testDescribeTasks = req+    "DescribeTasks"+    "fixture/DescribeTasks"++testListClusters :: ListClusters -> TestTree+testListClusters = req+    "ListClusters"+    "fixture/ListClusters"++testDescribeServices :: DescribeServices -> TestTree+testDescribeServices = req+    "DescribeServices"+    "fixture/DescribeServices"++testDeregisterContainerInstance :: DeregisterContainerInstance -> TestTree+testDeregisterContainerInstance = req+    "DeregisterContainerInstance"+    "fixture/DeregisterContainerInstance"++testRegisterTaskDefinition :: RegisterTaskDefinition -> TestTree+testRegisterTaskDefinition = req+    "RegisterTaskDefinition"+    "fixture/RegisterTaskDefinition"++testCreateService :: CreateService -> TestTree+testCreateService = req+    "CreateService"+    "fixture/CreateService"++-- Responses++testListServicesResponse :: ListServicesResponse -> TestTree+testListServicesResponse = res+    "ListServicesResponse"+    "fixture/ListServicesResponse"+    (Proxy :: Proxy ListServices)++testDescribeClustersResponse :: DescribeClustersResponse -> TestTree+testDescribeClustersResponse = res+    "DescribeClustersResponse"+    "fixture/DescribeClustersResponse"+    (Proxy :: Proxy DescribeClusters)++testDeleteServiceResponse :: DeleteServiceResponse -> TestTree+testDeleteServiceResponse = res+    "DeleteServiceResponse"+    "fixture/DeleteServiceResponse"+    (Proxy :: Proxy DeleteService)++testUpdateServiceResponse :: UpdateServiceResponse -> TestTree+testUpdateServiceResponse = res+    "UpdateServiceResponse"+    "fixture/UpdateServiceResponse"+    (Proxy :: Proxy UpdateService)++testDiscoverPollEndpointResponse :: DiscoverPollEndpointResponse -> TestTree+testDiscoverPollEndpointResponse = res+    "DiscoverPollEndpointResponse"+    "fixture/DiscoverPollEndpointResponse"+    (Proxy :: Proxy DiscoverPollEndpoint)++testSubmitContainerStateChangeResponse :: SubmitContainerStateChangeResponse -> TestTree+testSubmitContainerStateChangeResponse = res+    "SubmitContainerStateChangeResponse"+    "fixture/SubmitContainerStateChangeResponse"+    (Proxy :: Proxy SubmitContainerStateChange)++testStopTaskResponse :: StopTaskResponse -> TestTree+testStopTaskResponse = res+    "StopTaskResponse"+    "fixture/StopTaskResponse"+    (Proxy :: Proxy StopTask)++testDescribeTaskDefinitionResponse :: DescribeTaskDefinitionResponse -> TestTree+testDescribeTaskDefinitionResponse = res+    "DescribeTaskDefinitionResponse"+    "fixture/DescribeTaskDefinitionResponse"+    (Proxy :: Proxy DescribeTaskDefinition)++testSubmitTaskStateChangeResponse :: SubmitTaskStateChangeResponse -> TestTree+testSubmitTaskStateChangeResponse = res+    "SubmitTaskStateChangeResponse"+    "fixture/SubmitTaskStateChangeResponse"+    (Proxy :: Proxy SubmitTaskStateChange)++testDescribeContainerInstancesResponse :: DescribeContainerInstancesResponse -> TestTree+testDescribeContainerInstancesResponse = res+    "DescribeContainerInstancesResponse"+    "fixture/DescribeContainerInstancesResponse"+    (Proxy :: Proxy DescribeContainerInstances)++testDeleteClusterResponse :: DeleteClusterResponse -> TestTree+testDeleteClusterResponse = res+    "DeleteClusterResponse"+    "fixture/DeleteClusterResponse"+    (Proxy :: Proxy DeleteCluster)++testCreateClusterResponse :: CreateClusterResponse -> TestTree+testCreateClusterResponse = res+    "CreateClusterResponse"+    "fixture/CreateClusterResponse"+    (Proxy :: Proxy CreateCluster)++testListTaskDefinitionsResponse :: ListTaskDefinitionsResponse -> TestTree+testListTaskDefinitionsResponse = res+    "ListTaskDefinitionsResponse"+    "fixture/ListTaskDefinitionsResponse"+    (Proxy :: Proxy ListTaskDefinitions)++testListTasksResponse :: ListTasksResponse -> TestTree+testListTasksResponse = res+    "ListTasksResponse"+    "fixture/ListTasksResponse"+    (Proxy :: Proxy ListTasks)++testRunTaskResponse :: RunTaskResponse -> TestTree+testRunTaskResponse = res+    "RunTaskResponse"+    "fixture/RunTaskResponse"+    (Proxy :: Proxy RunTask)++testListContainerInstancesResponse :: ListContainerInstancesResponse -> TestTree+testListContainerInstancesResponse = res+    "ListContainerInstancesResponse"+    "fixture/ListContainerInstancesResponse"+    (Proxy :: Proxy ListContainerInstances)++testRegisterContainerInstanceResponse :: RegisterContainerInstanceResponse -> TestTree+testRegisterContainerInstanceResponse = res+    "RegisterContainerInstanceResponse"+    "fixture/RegisterContainerInstanceResponse"+    (Proxy :: Proxy RegisterContainerInstance)++testUpdateContainerAgentResponse :: UpdateContainerAgentResponse -> TestTree+testUpdateContainerAgentResponse = res+    "UpdateContainerAgentResponse"+    "fixture/UpdateContainerAgentResponse"+    (Proxy :: Proxy UpdateContainerAgent)++testListTaskDefinitionFamiliesResponse :: ListTaskDefinitionFamiliesResponse -> TestTree+testListTaskDefinitionFamiliesResponse = res+    "ListTaskDefinitionFamiliesResponse"+    "fixture/ListTaskDefinitionFamiliesResponse"+    (Proxy :: Proxy ListTaskDefinitionFamilies)++testStartTaskResponse :: StartTaskResponse -> TestTree+testStartTaskResponse = res+    "StartTaskResponse"+    "fixture/StartTaskResponse"+    (Proxy :: Proxy StartTask)++testDeregisterTaskDefinitionResponse :: DeregisterTaskDefinitionResponse -> TestTree+testDeregisterTaskDefinitionResponse = res+    "DeregisterTaskDefinitionResponse"+    "fixture/DeregisterTaskDefinitionResponse"+    (Proxy :: Proxy DeregisterTaskDefinition)++testDescribeTasksResponse :: DescribeTasksResponse -> TestTree+testDescribeTasksResponse = res+    "DescribeTasksResponse"+    "fixture/DescribeTasksResponse"+    (Proxy :: Proxy DescribeTasks)++testListClustersResponse :: ListClustersResponse -> TestTree+testListClustersResponse = res+    "ListClustersResponse"+    "fixture/ListClustersResponse"+    (Proxy :: Proxy ListClusters)++testDescribeServicesResponse :: DescribeServicesResponse -> TestTree+testDescribeServicesResponse = res+    "DescribeServicesResponse"+    "fixture/DescribeServicesResponse"+    (Proxy :: Proxy DescribeServices)++testDeregisterContainerInstanceResponse :: DeregisterContainerInstanceResponse -> TestTree+testDeregisterContainerInstanceResponse = res+    "DeregisterContainerInstanceResponse"+    "fixture/DeregisterContainerInstanceResponse"+    (Proxy :: Proxy DeregisterContainerInstance)++testRegisterTaskDefinitionResponse :: RegisterTaskDefinitionResponse -> TestTree+testRegisterTaskDefinitionResponse = res+    "RegisterTaskDefinitionResponse"+    "fixture/RegisterTaskDefinitionResponse"+    (Proxy :: Proxy RegisterTaskDefinition)++testCreateServiceResponse :: CreateServiceResponse -> TestTree+testCreateServiceResponse = res+    "CreateServiceResponse"+    "fixture/CreateServiceResponse"+    (Proxy :: Proxy CreateService)