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 +29/−14
- amazonka-ecs.cabal +60/−18
- gen/Network/AWS/ECS.hs +427/−68
- gen/Network/AWS/ECS/CreateCluster.hs +95/−79
- gen/Network/AWS/ECS/CreateService.hs +161/−142
- gen/Network/AWS/ECS/DeleteCluster.hs +96/−81
- gen/Network/AWS/ECS/DeleteService.hs +97/−82
- gen/Network/AWS/ECS/DeregisterContainerInstance.hs +142/−108
- gen/Network/AWS/ECS/DeregisterTaskDefinition.hs +108/−86
- gen/Network/AWS/ECS/DescribeClusters.hs +104/−94
- gen/Network/AWS/ECS/DescribeContainerInstances.hs +114/−99
- gen/Network/AWS/ECS/DescribeServices.hs +110/−95
- gen/Network/AWS/ECS/DescribeTaskDefinition.hs +101/−84
- gen/Network/AWS/ECS/DescribeTasks.hs +108/−92
- gen/Network/AWS/ECS/DiscoverPollEndpoint.hs +115/−90
- gen/Network/AWS/ECS/ListClusters.hs +135/−107
- gen/Network/AWS/ECS/ListContainerInstances.hs +145/−119
- gen/Network/AWS/ECS/ListServices.hs +143/−114
- gen/Network/AWS/ECS/ListTaskDefinitionFamilies.hs +149/−110
- gen/Network/AWS/ECS/ListTaskDefinitions.hs +176/−117
- gen/Network/AWS/ECS/ListTasks.hs +195/−153
- gen/Network/AWS/ECS/RegisterContainerInstance.hs +147/−113
- gen/Network/AWS/ECS/RegisterTaskDefinition.hs +120/−103
- gen/Network/AWS/ECS/RunTask.hs +151/−133
- gen/Network/AWS/ECS/StartTask.hs +160/−145
- gen/Network/AWS/ECS/StopTask.hs +101/−87
- gen/Network/AWS/ECS/SubmitContainerStateChange.hs +137/−127
- gen/Network/AWS/ECS/SubmitTaskStateChange.hs +115/−102
- gen/Network/AWS/ECS/Types.hs +355/−1795
- gen/Network/AWS/ECS/Types/Product.hs +1719/−0
- gen/Network/AWS/ECS/Types/Sum.hs +166/−0
- gen/Network/AWS/ECS/UpdateContainerAgent.hs +153/−0
- gen/Network/AWS/ECS/UpdateService.hs +133/−117
- gen/Network/AWS/ECS/Waiters.hs +83/−0
- test/Main.hs +21/−0
- test/Test/AWS/ECS.hs +26/−0
- test/Test/AWS/ECS/Internal.hs +16/−0
- test/Test/AWS/Gen/ECS.hs +498/−0
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)