amazonka-snowball 1.4.4 → 1.4.5
raw patch · 36 files changed
+2108/−342 lines, 36 filesdep ~amazonka-coredep ~amazonka-snowballdep ~amazonka-testPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: amazonka-core, amazonka-snowball, amazonka-test
API changes (from Hackage documentation)
- Network.AWS.Snowball: Express :: ShippingOption
- Network.AWS.Snowball: InProgress :: JobState
- Network.AWS.Snowball: InTransitToAWS :: JobState
- Network.AWS.Snowball: InTransitToCustomer :: JobState
- Network.AWS.Snowball: Listing :: JobState
- Network.AWS.Snowball: New :: JobState
- Network.AWS.Snowball: NextDay :: ShippingOption
- Network.AWS.Snowball: PreparingAppliance :: JobState
- Network.AWS.Snowball: PreparingShipment :: JobState
- Network.AWS.Snowball: SecondDay :: ShippingOption
- Network.AWS.Snowball: WithAWS :: JobState
- Network.AWS.Snowball: WithCustomer :: JobState
- Network.AWS.Snowball.CancelJob: instance Data.Aeson.Types.Class.ToJSON Network.AWS.Snowball.CancelJob.CancelJob
- Network.AWS.Snowball.CreateAddress: instance Data.Aeson.Types.Class.ToJSON Network.AWS.Snowball.CreateAddress.CreateAddress
- Network.AWS.Snowball.CreateJob: instance Data.Aeson.Types.Class.ToJSON Network.AWS.Snowball.CreateJob.CreateJob
- Network.AWS.Snowball.DescribeAddress: instance Data.Aeson.Types.Class.ToJSON Network.AWS.Snowball.DescribeAddress.DescribeAddress
- Network.AWS.Snowball.DescribeAddresses: instance Data.Aeson.Types.Class.ToJSON Network.AWS.Snowball.DescribeAddresses.DescribeAddresses
- Network.AWS.Snowball.DescribeJob: instance Data.Aeson.Types.Class.ToJSON Network.AWS.Snowball.DescribeJob.DescribeJob
- Network.AWS.Snowball.GetJobManifest: instance Data.Aeson.Types.Class.ToJSON Network.AWS.Snowball.GetJobManifest.GetJobManifest
- Network.AWS.Snowball.GetJobUnlockCode: instance Data.Aeson.Types.Class.ToJSON Network.AWS.Snowball.GetJobUnlockCode.GetJobUnlockCode
- Network.AWS.Snowball.GetSnowballUsage: instance Data.Aeson.Types.Class.ToJSON Network.AWS.Snowball.GetSnowballUsage.GetSnowballUsage
- Network.AWS.Snowball.ListJobs: instance Data.Aeson.Types.Class.ToJSON Network.AWS.Snowball.ListJobs.ListJobs
- Network.AWS.Snowball.Types: Express :: ShippingOption
- Network.AWS.Snowball.Types: InProgress :: JobState
- Network.AWS.Snowball.Types: InTransitToAWS :: JobState
- Network.AWS.Snowball.Types: InTransitToCustomer :: JobState
- Network.AWS.Snowball.Types: Listing :: JobState
- Network.AWS.Snowball.Types: New :: JobState
- Network.AWS.Snowball.Types: NextDay :: ShippingOption
- Network.AWS.Snowball.Types: PreparingAppliance :: JobState
- Network.AWS.Snowball.Types: PreparingShipment :: JobState
- Network.AWS.Snowball.Types: SecondDay :: ShippingOption
- Network.AWS.Snowball.Types: WithAWS :: JobState
- Network.AWS.Snowball.Types: WithCustomer :: JobState
- Network.AWS.Snowball.UpdateJob: instance Data.Aeson.Types.Class.ToJSON Network.AWS.Snowball.UpdateJob.UpdateJob
+ Network.AWS.Snowball: AwaitingQuorum :: ClusterState
+ Network.AWS.Snowball: Edge :: SnowballType
+ Network.AWS.Snowball: InUse :: ClusterState
+ Network.AWS.Snowball: JSCancelled :: JobState
+ Network.AWS.Snowball: JSComplete :: JobState
+ Network.AWS.Snowball: JSInProgress :: JobState
+ Network.AWS.Snowball: JSInTransitToAWS :: JobState
+ Network.AWS.Snowball: JSInTransitToCustomer :: JobState
+ Network.AWS.Snowball: JSListing :: JobState
+ Network.AWS.Snowball: JSNew :: JobState
+ Network.AWS.Snowball: JSPending :: JobState
+ Network.AWS.Snowball: JSPreparingAppliance :: JobState
+ Network.AWS.Snowball: JSPreparingShipment :: JobState
+ Network.AWS.Snowball: JSWithAWS :: JobState
+ Network.AWS.Snowball: JSWithCustomer :: JobState
+ Network.AWS.Snowball: LocalUse :: JobType
+ Network.AWS.Snowball: SOExpress :: ShippingOption
+ Network.AWS.Snowball: SONextDay :: ShippingOption
+ Network.AWS.Snowball: SOSecondDay :: ShippingOption
+ Network.AWS.Snowball: SOStandard :: ShippingOption
+ Network.AWS.Snowball: T100 :: SnowballCapacity
+ Network.AWS.Snowball: _ClusterLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Snowball: _InvalidInputCombinationException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Snowball: cleClusterId :: Lens' ClusterListEntry (Maybe Text)
+ Network.AWS.Snowball: cleClusterState :: Lens' ClusterListEntry (Maybe ClusterState)
+ Network.AWS.Snowball: cleCreationDate :: Lens' ClusterListEntry (Maybe UTCTime)
+ Network.AWS.Snowball: cleDescription :: Lens' ClusterListEntry (Maybe Text)
+ Network.AWS.Snowball: clusterListEntry :: ClusterListEntry
+ Network.AWS.Snowball: clusterMetadata :: ClusterMetadata
+ Network.AWS.Snowball: cmAddressId :: Lens' ClusterMetadata (Maybe Text)
+ Network.AWS.Snowball: cmClusterId :: Lens' ClusterMetadata (Maybe Text)
+ Network.AWS.Snowball: cmClusterState :: Lens' ClusterMetadata (Maybe ClusterState)
+ Network.AWS.Snowball: cmCreationDate :: Lens' ClusterMetadata (Maybe UTCTime)
+ Network.AWS.Snowball: cmDescription :: Lens' ClusterMetadata (Maybe Text)
+ Network.AWS.Snowball: cmJobType :: Lens' ClusterMetadata (Maybe JobType)
+ Network.AWS.Snowball: cmKMSKeyARN :: Lens' ClusterMetadata (Maybe Text)
+ Network.AWS.Snowball: cmNotification :: Lens' ClusterMetadata (Maybe Notification)
+ Network.AWS.Snowball: cmResources :: Lens' ClusterMetadata (Maybe JobResource)
+ Network.AWS.Snowball: cmRoleARN :: Lens' ClusterMetadata (Maybe Text)
+ Network.AWS.Snowball: cmShippingOption :: Lens' ClusterMetadata (Maybe ShippingOption)
+ Network.AWS.Snowball: cmSnowballType :: Lens' ClusterMetadata (Maybe SnowballType)
+ Network.AWS.Snowball: data ClusterListEntry
+ Network.AWS.Snowball: data ClusterMetadata
+ Network.AWS.Snowball: data ClusterState
+ Network.AWS.Snowball: data EventTriggerDefinition
+ Network.AWS.Snowball: data LambdaResource
+ Network.AWS.Snowball: data SnowballType
+ Network.AWS.Snowball: etdEventResourceARN :: Lens' EventTriggerDefinition (Maybe Text)
+ Network.AWS.Snowball: eventTriggerDefinition :: EventTriggerDefinition
+ Network.AWS.Snowball: jleCreationDate :: Lens' JobListEntry (Maybe UTCTime)
+ Network.AWS.Snowball: jleDescription :: Lens' JobListEntry (Maybe Text)
+ Network.AWS.Snowball: jleJobType :: Lens' JobListEntry (Maybe JobType)
+ Network.AWS.Snowball: jleSnowballType :: Lens' JobListEntry (Maybe SnowballType)
+ Network.AWS.Snowball: jmClusterId :: Lens' JobMetadata (Maybe Text)
+ Network.AWS.Snowball: jmSnowballType :: Lens' JobMetadata (Maybe SnowballType)
+ Network.AWS.Snowball: jrLambdaResources :: Lens' JobResource [LambdaResource]
+ Network.AWS.Snowball: lambdaResource :: LambdaResource
+ Network.AWS.Snowball: lrEventTriggers :: Lens' LambdaResource [EventTriggerDefinition]
+ Network.AWS.Snowball: lrLambdaARN :: Lens' LambdaResource (Maybe Text)
+ Network.AWS.Snowball.CancelCluster: cancelCluster :: Text -> CancelCluster
+ Network.AWS.Snowball.CancelCluster: cancelClusterResponse :: Int -> CancelClusterResponse
+ Network.AWS.Snowball.CancelCluster: ccClusterId :: Lens' CancelCluster Text
+ Network.AWS.Snowball.CancelCluster: ccrsResponseStatus :: Lens' CancelClusterResponse Int
+ Network.AWS.Snowball.CancelCluster: data CancelCluster
+ Network.AWS.Snowball.CancelCluster: data CancelClusterResponse
+ Network.AWS.Snowball.CancelCluster: instance Control.DeepSeq.NFData Network.AWS.Snowball.CancelCluster.CancelCluster
+ Network.AWS.Snowball.CancelCluster: instance Control.DeepSeq.NFData Network.AWS.Snowball.CancelCluster.CancelClusterResponse
+ Network.AWS.Snowball.CancelCluster: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Snowball.CancelCluster.CancelCluster
+ Network.AWS.Snowball.CancelCluster: instance Data.Data.Data Network.AWS.Snowball.CancelCluster.CancelCluster
+ Network.AWS.Snowball.CancelCluster: instance Data.Data.Data Network.AWS.Snowball.CancelCluster.CancelClusterResponse
+ Network.AWS.Snowball.CancelCluster: instance Data.Hashable.Class.Hashable Network.AWS.Snowball.CancelCluster.CancelCluster
+ Network.AWS.Snowball.CancelCluster: instance GHC.Classes.Eq Network.AWS.Snowball.CancelCluster.CancelCluster
+ Network.AWS.Snowball.CancelCluster: instance GHC.Classes.Eq Network.AWS.Snowball.CancelCluster.CancelClusterResponse
+ Network.AWS.Snowball.CancelCluster: instance GHC.Generics.Generic Network.AWS.Snowball.CancelCluster.CancelCluster
+ Network.AWS.Snowball.CancelCluster: instance GHC.Generics.Generic Network.AWS.Snowball.CancelCluster.CancelClusterResponse
+ Network.AWS.Snowball.CancelCluster: instance GHC.Read.Read Network.AWS.Snowball.CancelCluster.CancelCluster
+ Network.AWS.Snowball.CancelCluster: instance GHC.Read.Read Network.AWS.Snowball.CancelCluster.CancelClusterResponse
+ Network.AWS.Snowball.CancelCluster: instance GHC.Show.Show Network.AWS.Snowball.CancelCluster.CancelCluster
+ Network.AWS.Snowball.CancelCluster: instance GHC.Show.Show Network.AWS.Snowball.CancelCluster.CancelClusterResponse
+ Network.AWS.Snowball.CancelCluster: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Snowball.CancelCluster.CancelCluster
+ Network.AWS.Snowball.CancelCluster: instance Network.AWS.Data.Path.ToPath Network.AWS.Snowball.CancelCluster.CancelCluster
+ Network.AWS.Snowball.CancelCluster: instance Network.AWS.Data.Query.ToQuery Network.AWS.Snowball.CancelCluster.CancelCluster
+ Network.AWS.Snowball.CancelCluster: instance Network.AWS.Types.AWSRequest Network.AWS.Snowball.CancelCluster.CancelCluster
+ Network.AWS.Snowball.CancelJob: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Snowball.CancelJob.CancelJob
+ Network.AWS.Snowball.CreateAddress: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Snowball.CreateAddress.CreateAddress
+ Network.AWS.Snowball.CreateCluster: ccAddressId :: Lens' CreateCluster Text
+ Network.AWS.Snowball.CreateCluster: ccDescription :: Lens' CreateCluster (Maybe Text)
+ Network.AWS.Snowball.CreateCluster: ccJobType :: Lens' CreateCluster JobType
+ Network.AWS.Snowball.CreateCluster: ccKMSKeyARN :: Lens' CreateCluster (Maybe Text)
+ Network.AWS.Snowball.CreateCluster: ccNotification :: Lens' CreateCluster (Maybe Notification)
+ Network.AWS.Snowball.CreateCluster: ccResources :: Lens' CreateCluster JobResource
+ Network.AWS.Snowball.CreateCluster: ccRoleARN :: Lens' CreateCluster Text
+ Network.AWS.Snowball.CreateCluster: ccShippingOption :: Lens' CreateCluster ShippingOption
+ Network.AWS.Snowball.CreateCluster: ccSnowballType :: Lens' CreateCluster (Maybe SnowballType)
+ Network.AWS.Snowball.CreateCluster: createCluster :: JobType -> JobResource -> Text -> Text -> ShippingOption -> CreateCluster
+ Network.AWS.Snowball.CreateCluster: createClusterResponse :: Int -> CreateClusterResponse
+ Network.AWS.Snowball.CreateCluster: crersClusterId :: Lens' CreateClusterResponse (Maybe Text)
+ Network.AWS.Snowball.CreateCluster: crersResponseStatus :: Lens' CreateClusterResponse Int
+ Network.AWS.Snowball.CreateCluster: data CreateCluster
+ Network.AWS.Snowball.CreateCluster: data CreateClusterResponse
+ Network.AWS.Snowball.CreateCluster: instance Control.DeepSeq.NFData Network.AWS.Snowball.CreateCluster.CreateCluster
+ Network.AWS.Snowball.CreateCluster: instance Control.DeepSeq.NFData Network.AWS.Snowball.CreateCluster.CreateClusterResponse
+ Network.AWS.Snowball.CreateCluster: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Snowball.CreateCluster.CreateCluster
+ Network.AWS.Snowball.CreateCluster: instance Data.Data.Data Network.AWS.Snowball.CreateCluster.CreateCluster
+ Network.AWS.Snowball.CreateCluster: instance Data.Data.Data Network.AWS.Snowball.CreateCluster.CreateClusterResponse
+ Network.AWS.Snowball.CreateCluster: instance Data.Hashable.Class.Hashable Network.AWS.Snowball.CreateCluster.CreateCluster
+ Network.AWS.Snowball.CreateCluster: instance GHC.Classes.Eq Network.AWS.Snowball.CreateCluster.CreateCluster
+ Network.AWS.Snowball.CreateCluster: instance GHC.Classes.Eq Network.AWS.Snowball.CreateCluster.CreateClusterResponse
+ Network.AWS.Snowball.CreateCluster: instance GHC.Generics.Generic Network.AWS.Snowball.CreateCluster.CreateCluster
+ Network.AWS.Snowball.CreateCluster: instance GHC.Generics.Generic Network.AWS.Snowball.CreateCluster.CreateClusterResponse
+ Network.AWS.Snowball.CreateCluster: instance GHC.Read.Read Network.AWS.Snowball.CreateCluster.CreateCluster
+ Network.AWS.Snowball.CreateCluster: instance GHC.Read.Read Network.AWS.Snowball.CreateCluster.CreateClusterResponse
+ Network.AWS.Snowball.CreateCluster: instance GHC.Show.Show Network.AWS.Snowball.CreateCluster.CreateCluster
+ Network.AWS.Snowball.CreateCluster: instance GHC.Show.Show Network.AWS.Snowball.CreateCluster.CreateClusterResponse
+ Network.AWS.Snowball.CreateCluster: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Snowball.CreateCluster.CreateCluster
+ Network.AWS.Snowball.CreateCluster: instance Network.AWS.Data.Path.ToPath Network.AWS.Snowball.CreateCluster.CreateCluster
+ Network.AWS.Snowball.CreateCluster: instance Network.AWS.Data.Query.ToQuery Network.AWS.Snowball.CreateCluster.CreateCluster
+ Network.AWS.Snowball.CreateCluster: instance Network.AWS.Types.AWSRequest Network.AWS.Snowball.CreateCluster.CreateCluster
+ Network.AWS.Snowball.CreateJob: cjClusterId :: Lens' CreateJob (Maybe Text)
+ Network.AWS.Snowball.CreateJob: cjSnowballType :: Lens' CreateJob (Maybe SnowballType)
+ Network.AWS.Snowball.CreateJob: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Snowball.CreateJob.CreateJob
+ Network.AWS.Snowball.DescribeAddress: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Snowball.DescribeAddress.DescribeAddress
+ Network.AWS.Snowball.DescribeAddresses: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Snowball.DescribeAddresses.DescribeAddresses
+ Network.AWS.Snowball.DescribeCluster: data DescribeCluster
+ Network.AWS.Snowball.DescribeCluster: data DescribeClusterResponse
+ Network.AWS.Snowball.DescribeCluster: dcClusterId :: Lens' DescribeCluster Text
+ Network.AWS.Snowball.DescribeCluster: dcrsClusterMetadata :: Lens' DescribeClusterResponse (Maybe ClusterMetadata)
+ Network.AWS.Snowball.DescribeCluster: dcrsResponseStatus :: Lens' DescribeClusterResponse Int
+ Network.AWS.Snowball.DescribeCluster: describeCluster :: Text -> DescribeCluster
+ Network.AWS.Snowball.DescribeCluster: describeClusterResponse :: Int -> DescribeClusterResponse
+ Network.AWS.Snowball.DescribeCluster: instance Control.DeepSeq.NFData Network.AWS.Snowball.DescribeCluster.DescribeCluster
+ Network.AWS.Snowball.DescribeCluster: instance Control.DeepSeq.NFData Network.AWS.Snowball.DescribeCluster.DescribeClusterResponse
+ Network.AWS.Snowball.DescribeCluster: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Snowball.DescribeCluster.DescribeCluster
+ Network.AWS.Snowball.DescribeCluster: instance Data.Data.Data Network.AWS.Snowball.DescribeCluster.DescribeCluster
+ Network.AWS.Snowball.DescribeCluster: instance Data.Data.Data Network.AWS.Snowball.DescribeCluster.DescribeClusterResponse
+ Network.AWS.Snowball.DescribeCluster: instance Data.Hashable.Class.Hashable Network.AWS.Snowball.DescribeCluster.DescribeCluster
+ Network.AWS.Snowball.DescribeCluster: instance GHC.Classes.Eq Network.AWS.Snowball.DescribeCluster.DescribeCluster
+ Network.AWS.Snowball.DescribeCluster: instance GHC.Classes.Eq Network.AWS.Snowball.DescribeCluster.DescribeClusterResponse
+ Network.AWS.Snowball.DescribeCluster: instance GHC.Generics.Generic Network.AWS.Snowball.DescribeCluster.DescribeCluster
+ Network.AWS.Snowball.DescribeCluster: instance GHC.Generics.Generic Network.AWS.Snowball.DescribeCluster.DescribeClusterResponse
+ Network.AWS.Snowball.DescribeCluster: instance GHC.Read.Read Network.AWS.Snowball.DescribeCluster.DescribeCluster
+ Network.AWS.Snowball.DescribeCluster: instance GHC.Read.Read Network.AWS.Snowball.DescribeCluster.DescribeClusterResponse
+ Network.AWS.Snowball.DescribeCluster: instance GHC.Show.Show Network.AWS.Snowball.DescribeCluster.DescribeCluster
+ Network.AWS.Snowball.DescribeCluster: instance GHC.Show.Show Network.AWS.Snowball.DescribeCluster.DescribeClusterResponse
+ Network.AWS.Snowball.DescribeCluster: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Snowball.DescribeCluster.DescribeCluster
+ Network.AWS.Snowball.DescribeCluster: instance Network.AWS.Data.Path.ToPath Network.AWS.Snowball.DescribeCluster.DescribeCluster
+ Network.AWS.Snowball.DescribeCluster: instance Network.AWS.Data.Query.ToQuery Network.AWS.Snowball.DescribeCluster.DescribeCluster
+ Network.AWS.Snowball.DescribeCluster: instance Network.AWS.Types.AWSRequest Network.AWS.Snowball.DescribeCluster.DescribeCluster
+ Network.AWS.Snowball.DescribeJob: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Snowball.DescribeJob.DescribeJob
+ Network.AWS.Snowball.GetJobManifest: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Snowball.GetJobManifest.GetJobManifest
+ Network.AWS.Snowball.GetJobUnlockCode: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Snowball.GetJobUnlockCode.GetJobUnlockCode
+ Network.AWS.Snowball.GetSnowballUsage: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Snowball.GetSnowballUsage.GetSnowballUsage
+ Network.AWS.Snowball.ListClusterJobs: data ListClusterJobs
+ Network.AWS.Snowball.ListClusterJobs: data ListClusterJobsResponse
+ Network.AWS.Snowball.ListClusterJobs: instance Control.DeepSeq.NFData Network.AWS.Snowball.ListClusterJobs.ListClusterJobs
+ Network.AWS.Snowball.ListClusterJobs: instance Control.DeepSeq.NFData Network.AWS.Snowball.ListClusterJobs.ListClusterJobsResponse
+ Network.AWS.Snowball.ListClusterJobs: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Snowball.ListClusterJobs.ListClusterJobs
+ Network.AWS.Snowball.ListClusterJobs: instance Data.Data.Data Network.AWS.Snowball.ListClusterJobs.ListClusterJobs
+ Network.AWS.Snowball.ListClusterJobs: instance Data.Data.Data Network.AWS.Snowball.ListClusterJobs.ListClusterJobsResponse
+ Network.AWS.Snowball.ListClusterJobs: instance Data.Hashable.Class.Hashable Network.AWS.Snowball.ListClusterJobs.ListClusterJobs
+ Network.AWS.Snowball.ListClusterJobs: instance GHC.Classes.Eq Network.AWS.Snowball.ListClusterJobs.ListClusterJobs
+ Network.AWS.Snowball.ListClusterJobs: instance GHC.Classes.Eq Network.AWS.Snowball.ListClusterJobs.ListClusterJobsResponse
+ Network.AWS.Snowball.ListClusterJobs: instance GHC.Generics.Generic Network.AWS.Snowball.ListClusterJobs.ListClusterJobs
+ Network.AWS.Snowball.ListClusterJobs: instance GHC.Generics.Generic Network.AWS.Snowball.ListClusterJobs.ListClusterJobsResponse
+ Network.AWS.Snowball.ListClusterJobs: instance GHC.Read.Read Network.AWS.Snowball.ListClusterJobs.ListClusterJobs
+ Network.AWS.Snowball.ListClusterJobs: instance GHC.Read.Read Network.AWS.Snowball.ListClusterJobs.ListClusterJobsResponse
+ Network.AWS.Snowball.ListClusterJobs: instance GHC.Show.Show Network.AWS.Snowball.ListClusterJobs.ListClusterJobs
+ Network.AWS.Snowball.ListClusterJobs: instance GHC.Show.Show Network.AWS.Snowball.ListClusterJobs.ListClusterJobsResponse
+ Network.AWS.Snowball.ListClusterJobs: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Snowball.ListClusterJobs.ListClusterJobs
+ Network.AWS.Snowball.ListClusterJobs: instance Network.AWS.Data.Path.ToPath Network.AWS.Snowball.ListClusterJobs.ListClusterJobs
+ Network.AWS.Snowball.ListClusterJobs: instance Network.AWS.Data.Query.ToQuery Network.AWS.Snowball.ListClusterJobs.ListClusterJobs
+ Network.AWS.Snowball.ListClusterJobs: instance Network.AWS.Types.AWSRequest Network.AWS.Snowball.ListClusterJobs.ListClusterJobs
+ Network.AWS.Snowball.ListClusterJobs: lcjClusterId :: Lens' ListClusterJobs Text
+ Network.AWS.Snowball.ListClusterJobs: lcjMaxResults :: Lens' ListClusterJobs (Maybe Natural)
+ Network.AWS.Snowball.ListClusterJobs: lcjNextToken :: Lens' ListClusterJobs (Maybe Text)
+ Network.AWS.Snowball.ListClusterJobs: lcjrsJobListEntries :: Lens' ListClusterJobsResponse [JobListEntry]
+ Network.AWS.Snowball.ListClusterJobs: lcjrsNextToken :: Lens' ListClusterJobsResponse (Maybe Text)
+ Network.AWS.Snowball.ListClusterJobs: lcjrsResponseStatus :: Lens' ListClusterJobsResponse Int
+ Network.AWS.Snowball.ListClusterJobs: listClusterJobs :: Text -> ListClusterJobs
+ Network.AWS.Snowball.ListClusterJobs: listClusterJobsResponse :: Int -> ListClusterJobsResponse
+ Network.AWS.Snowball.ListClusters: data ListClusters
+ Network.AWS.Snowball.ListClusters: data ListClustersResponse
+ Network.AWS.Snowball.ListClusters: instance Control.DeepSeq.NFData Network.AWS.Snowball.ListClusters.ListClusters
+ Network.AWS.Snowball.ListClusters: instance Control.DeepSeq.NFData Network.AWS.Snowball.ListClusters.ListClustersResponse
+ Network.AWS.Snowball.ListClusters: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Snowball.ListClusters.ListClusters
+ Network.AWS.Snowball.ListClusters: instance Data.Data.Data Network.AWS.Snowball.ListClusters.ListClusters
+ Network.AWS.Snowball.ListClusters: instance Data.Data.Data Network.AWS.Snowball.ListClusters.ListClustersResponse
+ Network.AWS.Snowball.ListClusters: instance Data.Hashable.Class.Hashable Network.AWS.Snowball.ListClusters.ListClusters
+ Network.AWS.Snowball.ListClusters: instance GHC.Classes.Eq Network.AWS.Snowball.ListClusters.ListClusters
+ Network.AWS.Snowball.ListClusters: instance GHC.Classes.Eq Network.AWS.Snowball.ListClusters.ListClustersResponse
+ Network.AWS.Snowball.ListClusters: instance GHC.Generics.Generic Network.AWS.Snowball.ListClusters.ListClusters
+ Network.AWS.Snowball.ListClusters: instance GHC.Generics.Generic Network.AWS.Snowball.ListClusters.ListClustersResponse
+ Network.AWS.Snowball.ListClusters: instance GHC.Read.Read Network.AWS.Snowball.ListClusters.ListClusters
+ Network.AWS.Snowball.ListClusters: instance GHC.Read.Read Network.AWS.Snowball.ListClusters.ListClustersResponse
+ Network.AWS.Snowball.ListClusters: instance GHC.Show.Show Network.AWS.Snowball.ListClusters.ListClusters
+ Network.AWS.Snowball.ListClusters: instance GHC.Show.Show Network.AWS.Snowball.ListClusters.ListClustersResponse
+ Network.AWS.Snowball.ListClusters: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Snowball.ListClusters.ListClusters
+ Network.AWS.Snowball.ListClusters: instance Network.AWS.Data.Path.ToPath Network.AWS.Snowball.ListClusters.ListClusters
+ Network.AWS.Snowball.ListClusters: instance Network.AWS.Data.Query.ToQuery Network.AWS.Snowball.ListClusters.ListClusters
+ Network.AWS.Snowball.ListClusters: instance Network.AWS.Types.AWSRequest Network.AWS.Snowball.ListClusters.ListClusters
+ Network.AWS.Snowball.ListClusters: lcMaxResults :: Lens' ListClusters (Maybe Natural)
+ Network.AWS.Snowball.ListClusters: lcNextToken :: Lens' ListClusters (Maybe Text)
+ Network.AWS.Snowball.ListClusters: lcrsClusterListEntries :: Lens' ListClustersResponse [ClusterListEntry]
+ Network.AWS.Snowball.ListClusters: lcrsNextToken :: Lens' ListClustersResponse (Maybe Text)
+ Network.AWS.Snowball.ListClusters: lcrsResponseStatus :: Lens' ListClustersResponse Int
+ Network.AWS.Snowball.ListClusters: listClusters :: ListClusters
+ Network.AWS.Snowball.ListClusters: listClustersResponse :: Int -> ListClustersResponse
+ Network.AWS.Snowball.ListJobs: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Snowball.ListJobs.ListJobs
+ Network.AWS.Snowball.Types: AwaitingQuorum :: ClusterState
+ Network.AWS.Snowball.Types: Edge :: SnowballType
+ Network.AWS.Snowball.Types: InUse :: ClusterState
+ Network.AWS.Snowball.Types: JSCancelled :: JobState
+ Network.AWS.Snowball.Types: JSComplete :: JobState
+ Network.AWS.Snowball.Types: JSInProgress :: JobState
+ Network.AWS.Snowball.Types: JSInTransitToAWS :: JobState
+ Network.AWS.Snowball.Types: JSInTransitToCustomer :: JobState
+ Network.AWS.Snowball.Types: JSListing :: JobState
+ Network.AWS.Snowball.Types: JSNew :: JobState
+ Network.AWS.Snowball.Types: JSPending :: JobState
+ Network.AWS.Snowball.Types: JSPreparingAppliance :: JobState
+ Network.AWS.Snowball.Types: JSPreparingShipment :: JobState
+ Network.AWS.Snowball.Types: JSWithAWS :: JobState
+ Network.AWS.Snowball.Types: JSWithCustomer :: JobState
+ Network.AWS.Snowball.Types: LocalUse :: JobType
+ Network.AWS.Snowball.Types: SOExpress :: ShippingOption
+ Network.AWS.Snowball.Types: SONextDay :: ShippingOption
+ Network.AWS.Snowball.Types: SOSecondDay :: ShippingOption
+ Network.AWS.Snowball.Types: SOStandard :: ShippingOption
+ Network.AWS.Snowball.Types: T100 :: SnowballCapacity
+ Network.AWS.Snowball.Types: _ClusterLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Snowball.Types: _InvalidInputCombinationException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Snowball.Types: cleClusterId :: Lens' ClusterListEntry (Maybe Text)
+ Network.AWS.Snowball.Types: cleClusterState :: Lens' ClusterListEntry (Maybe ClusterState)
+ Network.AWS.Snowball.Types: cleCreationDate :: Lens' ClusterListEntry (Maybe UTCTime)
+ Network.AWS.Snowball.Types: cleDescription :: Lens' ClusterListEntry (Maybe Text)
+ Network.AWS.Snowball.Types: clusterListEntry :: ClusterListEntry
+ Network.AWS.Snowball.Types: clusterMetadata :: ClusterMetadata
+ Network.AWS.Snowball.Types: cmAddressId :: Lens' ClusterMetadata (Maybe Text)
+ Network.AWS.Snowball.Types: cmClusterId :: Lens' ClusterMetadata (Maybe Text)
+ Network.AWS.Snowball.Types: cmClusterState :: Lens' ClusterMetadata (Maybe ClusterState)
+ Network.AWS.Snowball.Types: cmCreationDate :: Lens' ClusterMetadata (Maybe UTCTime)
+ Network.AWS.Snowball.Types: cmDescription :: Lens' ClusterMetadata (Maybe Text)
+ Network.AWS.Snowball.Types: cmJobType :: Lens' ClusterMetadata (Maybe JobType)
+ Network.AWS.Snowball.Types: cmKMSKeyARN :: Lens' ClusterMetadata (Maybe Text)
+ Network.AWS.Snowball.Types: cmNotification :: Lens' ClusterMetadata (Maybe Notification)
+ Network.AWS.Snowball.Types: cmResources :: Lens' ClusterMetadata (Maybe JobResource)
+ Network.AWS.Snowball.Types: cmRoleARN :: Lens' ClusterMetadata (Maybe Text)
+ Network.AWS.Snowball.Types: cmShippingOption :: Lens' ClusterMetadata (Maybe ShippingOption)
+ Network.AWS.Snowball.Types: cmSnowballType :: Lens' ClusterMetadata (Maybe SnowballType)
+ Network.AWS.Snowball.Types: data ClusterListEntry
+ Network.AWS.Snowball.Types: data ClusterMetadata
+ Network.AWS.Snowball.Types: data ClusterState
+ Network.AWS.Snowball.Types: data EventTriggerDefinition
+ Network.AWS.Snowball.Types: data LambdaResource
+ Network.AWS.Snowball.Types: data SnowballType
+ Network.AWS.Snowball.Types: etdEventResourceARN :: Lens' EventTriggerDefinition (Maybe Text)
+ Network.AWS.Snowball.Types: eventTriggerDefinition :: EventTriggerDefinition
+ Network.AWS.Snowball.Types: jleCreationDate :: Lens' JobListEntry (Maybe UTCTime)
+ Network.AWS.Snowball.Types: jleDescription :: Lens' JobListEntry (Maybe Text)
+ Network.AWS.Snowball.Types: jleJobType :: Lens' JobListEntry (Maybe JobType)
+ Network.AWS.Snowball.Types: jleSnowballType :: Lens' JobListEntry (Maybe SnowballType)
+ Network.AWS.Snowball.Types: jmClusterId :: Lens' JobMetadata (Maybe Text)
+ Network.AWS.Snowball.Types: jmSnowballType :: Lens' JobMetadata (Maybe SnowballType)
+ Network.AWS.Snowball.Types: jrLambdaResources :: Lens' JobResource [LambdaResource]
+ Network.AWS.Snowball.Types: lambdaResource :: LambdaResource
+ Network.AWS.Snowball.Types: lrEventTriggers :: Lens' LambdaResource [EventTriggerDefinition]
+ Network.AWS.Snowball.Types: lrLambdaARN :: Lens' LambdaResource (Maybe Text)
+ Network.AWS.Snowball.UpdateCluster: data UpdateCluster
+ Network.AWS.Snowball.UpdateCluster: data UpdateClusterResponse
+ Network.AWS.Snowball.UpdateCluster: instance Control.DeepSeq.NFData Network.AWS.Snowball.UpdateCluster.UpdateCluster
+ Network.AWS.Snowball.UpdateCluster: instance Control.DeepSeq.NFData Network.AWS.Snowball.UpdateCluster.UpdateClusterResponse
+ Network.AWS.Snowball.UpdateCluster: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Snowball.UpdateCluster.UpdateCluster
+ Network.AWS.Snowball.UpdateCluster: instance Data.Data.Data Network.AWS.Snowball.UpdateCluster.UpdateCluster
+ Network.AWS.Snowball.UpdateCluster: instance Data.Data.Data Network.AWS.Snowball.UpdateCluster.UpdateClusterResponse
+ Network.AWS.Snowball.UpdateCluster: instance Data.Hashable.Class.Hashable Network.AWS.Snowball.UpdateCluster.UpdateCluster
+ Network.AWS.Snowball.UpdateCluster: instance GHC.Classes.Eq Network.AWS.Snowball.UpdateCluster.UpdateCluster
+ Network.AWS.Snowball.UpdateCluster: instance GHC.Classes.Eq Network.AWS.Snowball.UpdateCluster.UpdateClusterResponse
+ Network.AWS.Snowball.UpdateCluster: instance GHC.Generics.Generic Network.AWS.Snowball.UpdateCluster.UpdateCluster
+ Network.AWS.Snowball.UpdateCluster: instance GHC.Generics.Generic Network.AWS.Snowball.UpdateCluster.UpdateClusterResponse
+ Network.AWS.Snowball.UpdateCluster: instance GHC.Read.Read Network.AWS.Snowball.UpdateCluster.UpdateCluster
+ Network.AWS.Snowball.UpdateCluster: instance GHC.Read.Read Network.AWS.Snowball.UpdateCluster.UpdateClusterResponse
+ Network.AWS.Snowball.UpdateCluster: instance GHC.Show.Show Network.AWS.Snowball.UpdateCluster.UpdateCluster
+ Network.AWS.Snowball.UpdateCluster: instance GHC.Show.Show Network.AWS.Snowball.UpdateCluster.UpdateClusterResponse
+ Network.AWS.Snowball.UpdateCluster: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Snowball.UpdateCluster.UpdateCluster
+ Network.AWS.Snowball.UpdateCluster: instance Network.AWS.Data.Path.ToPath Network.AWS.Snowball.UpdateCluster.UpdateCluster
+ Network.AWS.Snowball.UpdateCluster: instance Network.AWS.Data.Query.ToQuery Network.AWS.Snowball.UpdateCluster.UpdateCluster
+ Network.AWS.Snowball.UpdateCluster: instance Network.AWS.Types.AWSRequest Network.AWS.Snowball.UpdateCluster.UpdateCluster
+ Network.AWS.Snowball.UpdateCluster: ucAddressId :: Lens' UpdateCluster (Maybe Text)
+ Network.AWS.Snowball.UpdateCluster: ucClusterId :: Lens' UpdateCluster Text
+ Network.AWS.Snowball.UpdateCluster: ucDescription :: Lens' UpdateCluster (Maybe Text)
+ Network.AWS.Snowball.UpdateCluster: ucNotification :: Lens' UpdateCluster (Maybe Notification)
+ Network.AWS.Snowball.UpdateCluster: ucResources :: Lens' UpdateCluster (Maybe JobResource)
+ Network.AWS.Snowball.UpdateCluster: ucRoleARN :: Lens' UpdateCluster (Maybe Text)
+ Network.AWS.Snowball.UpdateCluster: ucShippingOption :: Lens' UpdateCluster (Maybe ShippingOption)
+ Network.AWS.Snowball.UpdateCluster: ucrsResponseStatus :: Lens' UpdateClusterResponse Int
+ Network.AWS.Snowball.UpdateCluster: updateCluster :: Text -> UpdateCluster
+ Network.AWS.Snowball.UpdateCluster: updateClusterResponse :: Int -> UpdateClusterResponse
+ Network.AWS.Snowball.UpdateJob: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Snowball.UpdateJob.UpdateJob
- Network.AWS.Snowball: Cancelled :: JobState
+ Network.AWS.Snowball: Cancelled :: ClusterState
- Network.AWS.Snowball: Complete :: JobState
+ Network.AWS.Snowball: Complete :: ClusterState
- Network.AWS.Snowball: Pending :: JobState
+ Network.AWS.Snowball: Pending :: ClusterState
- Network.AWS.Snowball: Standard :: ShippingOption
+ Network.AWS.Snowball: Standard :: SnowballType
- Network.AWS.Snowball.CreateJob: cjAddressId :: Lens' CreateJob Text
+ Network.AWS.Snowball.CreateJob: cjAddressId :: Lens' CreateJob (Maybe Text)
- Network.AWS.Snowball.CreateJob: cjJobType :: Lens' CreateJob JobType
+ Network.AWS.Snowball.CreateJob: cjJobType :: Lens' CreateJob (Maybe JobType)
- Network.AWS.Snowball.CreateJob: cjResources :: Lens' CreateJob JobResource
+ Network.AWS.Snowball.CreateJob: cjResources :: Lens' CreateJob (Maybe JobResource)
- Network.AWS.Snowball.CreateJob: cjRoleARN :: Lens' CreateJob Text
+ Network.AWS.Snowball.CreateJob: cjRoleARN :: Lens' CreateJob (Maybe Text)
- Network.AWS.Snowball.CreateJob: cjShippingOption :: Lens' CreateJob ShippingOption
+ Network.AWS.Snowball.CreateJob: cjShippingOption :: Lens' CreateJob (Maybe ShippingOption)
- Network.AWS.Snowball.CreateJob: createJob :: JobType -> JobResource -> Text -> Text -> ShippingOption -> CreateJob
+ Network.AWS.Snowball.CreateJob: createJob :: CreateJob
- Network.AWS.Snowball.Types: Cancelled :: JobState
+ Network.AWS.Snowball.Types: Cancelled :: ClusterState
- Network.AWS.Snowball.Types: Complete :: JobState
+ Network.AWS.Snowball.Types: Complete :: ClusterState
- Network.AWS.Snowball.Types: Pending :: JobState
+ Network.AWS.Snowball.Types: Pending :: ClusterState
- Network.AWS.Snowball.Types: Standard :: ShippingOption
+ Network.AWS.Snowball.Types: Standard :: SnowballType
Files
- README.md +9/−6
- amazonka-snowball.cabal +16/−11
- fixture/CancelCluster.yaml +10/−0
- fixture/CancelClusterResponse.proto +0/−0
- fixture/CreateCluster.yaml +10/−0
- fixture/CreateClusterResponse.proto +0/−0
- fixture/DescribeCluster.yaml +10/−0
- fixture/DescribeClusterResponse.proto +0/−0
- fixture/ListClusterJobs.yaml +10/−0
- fixture/ListClusterJobsResponse.proto +0/−0
- fixture/ListClusters.yaml +10/−0
- fixture/ListClustersResponse.proto +0/−0
- fixture/UpdateCluster.yaml +10/−0
- fixture/UpdateClusterResponse.proto +0/−0
- gen/Network/AWS/Snowball.hs +81/−1
- gen/Network/AWS/Snowball/CancelCluster.hs +123/−0
- gen/Network/AWS/Snowball/CancelJob.hs +7/−5
- gen/Network/AWS/Snowball/CreateAddress.hs +7/−5
- gen/Network/AWS/Snowball/CreateCluster.hs +218/−0
- gen/Network/AWS/Snowball/CreateJob.hs +82/−78
- gen/Network/AWS/Snowball/DescribeAddress.hs +7/−5
- gen/Network/AWS/Snowball/DescribeAddresses.hs +12/−10
- gen/Network/AWS/Snowball/DescribeCluster.hs +133/−0
- gen/Network/AWS/Snowball/DescribeJob.hs +9/−7
- gen/Network/AWS/Snowball/GetJobManifest.hs +12/−10
- gen/Network/AWS/Snowball/GetJobUnlockCode.hs +11/−9
- gen/Network/AWS/Snowball/GetSnowballUsage.hs +7/−5
- gen/Network/AWS/Snowball/ListClusterJobs.hs +165/−0
- gen/Network/AWS/Snowball/ListClusters.hs +154/−0
- gen/Network/AWS/Snowball/ListJobs.hs +13/−11
- gen/Network/AWS/Snowball/Types.hs +80/−6
- gen/Network/AWS/Snowball/Types/Product.hs +471/−106
- gen/Network/AWS/Snowball/Types/Sum.hs +117/−47
- gen/Network/AWS/Snowball/UpdateCluster.hs +184/−0
- gen/Network/AWS/Snowball/UpdateJob.hs +20/−18
- test/Test/AWS/Gen/Snowball.hs +110/−2
README.md view
@@ -8,24 +8,27 @@ ## Version -`1.4.4`+`1.4.5` ## Description -This is a test of the welcome page front matter.- Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-snowball) and the [AWS API Reference](https://aws.amazon.com/documentation/). The types from this library are intended to be used with [amazonka](http://hackage.haskell.org/package/amazonka),-which provides mechanisms for specifying AuthN/AuthZ information and sending requests.+which provides mechanisms for specifying AuthN/AuthZ information, sending requests,+and receiving responses. -Use of lenses is required for constructing and manipulating types.-This is due to the amount of nesting of AWS types and transparency regarding+Lenses are used for constructing and manipulating types,+due to the depth 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).++See [Network.AWS.Snowball](http://hackage.haskell.org/package/amazonka-snowball/docs/Network-AWS-Snowball.html)+or [the AWS documentation](https://aws.amazon.com/documentation/) to get started.+ ## Contribute
amazonka-snowball.cabal view
@@ -1,5 +1,5 @@ name: amazonka-snowball-version: 1.4.4+version: 1.4.5 synopsis: Amazon Import/Export Snowball SDK. homepage: https://github.com/brendanhay/amazonka bug-reports: https://github.com/brendanhay/amazonka/issues@@ -13,20 +13,19 @@ cabal-version: >= 1.10 extra-source-files: README.md fixture/*.yaml fixture/*.proto src/.gitkeep description:- This is a test of the welcome page front matter.- . 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.+ mechanisms for specifying AuthN/AuthZ information, sending requests,+ and receiving responses. .- Use of lenses is required for constructing and manipulating types.- This is due to the amount of nesting of AWS types and transparency regarding+ Lenses are used for constructing and manipulating types,+ due to the depth 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.Snowball" or <https://aws.amazon.com/documentation/ the AWS Documentation>+ See "Network.AWS.Snowball" or <https://aws.amazon.com/documentation/ the AWS documentation> to get started. source-repository head@@ -41,17 +40,23 @@ exposed-modules: Network.AWS.Snowball+ , Network.AWS.Snowball.CancelCluster , Network.AWS.Snowball.CancelJob , Network.AWS.Snowball.CreateAddress+ , Network.AWS.Snowball.CreateCluster , Network.AWS.Snowball.CreateJob , Network.AWS.Snowball.DescribeAddress , Network.AWS.Snowball.DescribeAddresses+ , Network.AWS.Snowball.DescribeCluster , Network.AWS.Snowball.DescribeJob , Network.AWS.Snowball.GetJobManifest , Network.AWS.Snowball.GetJobUnlockCode , Network.AWS.Snowball.GetSnowballUsage+ , Network.AWS.Snowball.ListClusterJobs+ , Network.AWS.Snowball.ListClusters , Network.AWS.Snowball.ListJobs , Network.AWS.Snowball.Types+ , Network.AWS.Snowball.UpdateCluster , Network.AWS.Snowball.UpdateJob , Network.AWS.Snowball.Waiters @@ -60,7 +65,7 @@ , Network.AWS.Snowball.Types.Sum build-depends:- amazonka-core == 1.4.4.*+ amazonka-core == 1.4.5.* , base >= 4.7 && < 5 test-suite amazonka-snowball-test@@ -80,9 +85,9 @@ , Test.AWS.Snowball.Internal build-depends:- amazonka-core == 1.4.4.*- , amazonka-test == 1.4.4.*- , amazonka-snowball == 1.4.4.*+ amazonka-core == 1.4.5.*+ , amazonka-test == 1.4.5.*+ , amazonka-snowball == 1.4.5.* , base , bytestring , tasty
+ fixture/CancelCluster.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/snowball/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: snowball.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CancelClusterResponse.proto view
+ fixture/CreateCluster.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/snowball/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: snowball.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateClusterResponse.proto view
+ fixture/DescribeCluster.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/snowball/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: snowball.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DescribeClusterResponse.proto view
+ fixture/ListClusterJobs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/snowball/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: snowball.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListClusterJobsResponse.proto view
+ fixture/ListClusters.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/snowball/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: snowball.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListClustersResponse.proto view
+ fixture/UpdateCluster.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/snowball/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: snowball.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateClusterResponse.proto view
gen/Network/AWS/Snowball.hs view
@@ -11,7 +11,9 @@ -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- This is a test of the welcome page front matter.+-- AWS Snowball is a petabyte-scale data transport solution that uses secure appliances to transfer large amounts of data between your on-premises data centers and Amazon Simple Storage Service (Amazon S3). The Snowball commands described here provide access to the same functionality that is available in the AWS Snowball Management Console, which enables you to create and manage jobs for Snowball. To transfer data locally with a Snowball appliance, you'll need to use the Snowball client or the Amazon S3 API adapter for Snowball. For more information, see the <http://docs.aws.amazon.com/AWSImportExport/latest/ug/api-reference.html User Guide> .+--+-- module Network.AWS.Snowball ( -- * Service Configuration@@ -32,15 +34,27 @@ -- ** InvalidJobStateException , _InvalidJobStateException + -- ** InvalidInputCombinationException+ , _InvalidInputCombinationException+ -- ** InvalidAddressException , _InvalidAddressException + -- ** ClusterLimitExceededException+ , _ClusterLimitExceededException+ -- * Waiters -- $waiters -- * Operations -- $operations + -- ** CancelCluster+ , module Network.AWS.Snowball.CancelCluster++ -- ** DescribeCluster+ , module Network.AWS.Snowball.DescribeCluster+ -- ** CreateAddress , module Network.AWS.Snowball.CreateAddress @@ -50,12 +64,18 @@ -- ** DescribeAddresses , module Network.AWS.Snowball.DescribeAddresses + -- ** UpdateCluster+ , module Network.AWS.Snowball.UpdateCluster+ -- ** CreateJob , module Network.AWS.Snowball.CreateJob -- ** GetJobManifest , module Network.AWS.Snowball.GetJobManifest + -- ** CreateCluster+ , module Network.AWS.Snowball.CreateCluster+ -- ** ListJobs , module Network.AWS.Snowball.ListJobs @@ -65,9 +85,15 @@ -- ** GetJobUnlockCode , module Network.AWS.Snowball.GetJobUnlockCode + -- ** ListClusterJobs+ , module Network.AWS.Snowball.ListClusterJobs+ -- ** DescribeJob , module Network.AWS.Snowball.DescribeJob + -- ** ListClusters+ , module Network.AWS.Snowball.ListClusters+ -- ** DescribeAddress , module Network.AWS.Snowball.DescribeAddress @@ -76,6 +102,9 @@ -- * Types + -- ** ClusterState+ , ClusterState (..)+ -- ** JobState , JobState (..) @@ -88,6 +117,9 @@ -- ** SnowballCapacity , SnowballCapacity (..) + -- ** SnowballType+ , SnowballType (..)+ -- ** Address , Address , address@@ -105,6 +137,30 @@ , aPrefectureOrDistrict , aStreet1 + -- ** ClusterListEntry+ , ClusterListEntry+ , clusterListEntry+ , cleClusterState+ , cleClusterId+ , cleCreationDate+ , cleDescription++ -- ** ClusterMetadata+ , ClusterMetadata+ , clusterMetadata+ , cmJobType+ , cmKMSKeyARN+ , cmClusterState+ , cmNotification+ , cmAddressId+ , cmSnowballType+ , cmShippingOption+ , cmResources+ , cmClusterId+ , cmCreationDate+ , cmDescription+ , cmRoleARN+ -- ** DataTransfer , DataTransfer , dataTransfer@@ -113,11 +169,20 @@ , dtObjectsTransferred , dtBytesTransferred + -- ** EventTriggerDefinition+ , EventTriggerDefinition+ , eventTriggerDefinition+ , etdEventResourceARN+ -- ** JobListEntry , JobListEntry , jobListEntry+ , jleJobType , jleJobId , jleJobState+ , jleSnowballType+ , jleCreationDate+ , jleDescription , jleIsMaster -- ** JobLogs@@ -138,8 +203,10 @@ , jmJobState , jmShippingDetails , jmAddressId+ , jmSnowballType , jmDataTransferProgress , jmResources+ , jmClusterId , jmCreationDate , jmDescription , jmRoleARN@@ -148,6 +215,7 @@ -- ** JobResource , JobResource , jobResource+ , jrLambdaResources , jrS3Resources -- ** KeyRange@@ -156,6 +224,12 @@ , krEndMarker , krBeginMarker + -- ** LambdaResource+ , LambdaResource+ , lambdaResource+ , lrEventTriggers+ , lrLambdaARN+ -- ** Notification , Notification , notification@@ -183,17 +257,23 @@ , sdInboundShipment ) where +import Network.AWS.Snowball.CancelCluster import Network.AWS.Snowball.CancelJob import Network.AWS.Snowball.CreateAddress+import Network.AWS.Snowball.CreateCluster import Network.AWS.Snowball.CreateJob import Network.AWS.Snowball.DescribeAddress import Network.AWS.Snowball.DescribeAddresses+import Network.AWS.Snowball.DescribeCluster import Network.AWS.Snowball.DescribeJob import Network.AWS.Snowball.GetJobManifest import Network.AWS.Snowball.GetJobUnlockCode import Network.AWS.Snowball.GetSnowballUsage+import Network.AWS.Snowball.ListClusterJobs+import Network.AWS.Snowball.ListClusters import Network.AWS.Snowball.ListJobs import Network.AWS.Snowball.Types+import Network.AWS.Snowball.UpdateCluster import Network.AWS.Snowball.UpdateJob import Network.AWS.Snowball.Waiters
+ gen/Network/AWS/Snowball/CancelCluster.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Snowball.CancelCluster+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Cancels a cluster job. You can only cancel a cluster job while it's in the @AwaitingQuorum@ status. You'll have at least an hour after creating a cluster job to cancel it.+--+--+module Network.AWS.Snowball.CancelCluster+ (+ -- * Creating a Request+ cancelCluster+ , CancelCluster+ -- * Request Lenses+ , ccClusterId++ -- * Destructuring the Response+ , cancelClusterResponse+ , CancelClusterResponse+ -- * Response Lenses+ , ccrsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response+import Network.AWS.Snowball.Types+import Network.AWS.Snowball.Types.Product++-- | /See:/ 'cancelCluster' smart constructor.+newtype CancelCluster = CancelCluster'+ { _ccClusterId :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CancelCluster' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccClusterId' - The 39-character ID for the cluster that you want to cancel, for example @CID123e4567-e89b-12d3-a456-426655440000@ .+cancelCluster+ :: Text -- ^ 'ccClusterId'+ -> CancelCluster+cancelCluster pClusterId_ =+ CancelCluster'+ { _ccClusterId = pClusterId_+ }++-- | The 39-character ID for the cluster that you want to cancel, for example @CID123e4567-e89b-12d3-a456-426655440000@ .+ccClusterId :: Lens' CancelCluster Text+ccClusterId = lens _ccClusterId (\ s a -> s{_ccClusterId = a});++instance AWSRequest CancelCluster where+ type Rs CancelCluster = CancelClusterResponse+ request = postJSON snowball+ response+ = receiveEmpty+ (\ s h x ->+ CancelClusterResponse' <$> (pure (fromEnum s)))++instance Hashable CancelCluster++instance NFData CancelCluster++instance ToHeaders CancelCluster where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("AWSIESnowballJobManagementService.CancelCluster" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CancelCluster where+ toJSON CancelCluster'{..}+ = object+ (catMaybes [Just ("ClusterId" .= _ccClusterId)])++instance ToPath CancelCluster where+ toPath = const "/"++instance ToQuery CancelCluster where+ toQuery = const mempty++-- | /See:/ 'cancelClusterResponse' smart constructor.+newtype CancelClusterResponse = CancelClusterResponse'+ { _ccrsResponseStatus :: Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CancelClusterResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccrsResponseStatus' - -- | The response status code.+cancelClusterResponse+ :: Int -- ^ 'ccrsResponseStatus'+ -> CancelClusterResponse+cancelClusterResponse pResponseStatus_ =+ CancelClusterResponse'+ { _ccrsResponseStatus = pResponseStatus_+ }++-- | -- | The response status code.+ccrsResponseStatus :: Lens' CancelClusterResponse Int+ccrsResponseStatus = lens _ccrsResponseStatus (\ s a -> s{_ccrsResponseStatus = a});++instance NFData CancelClusterResponse
gen/Network/AWS/Snowball/CancelJob.hs view
@@ -18,7 +18,9 @@ -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Cancels the specified job. Note that you can only cancel a job before its 'JobState' value changes to 'PreparingAppliance'. Requesting the 'ListJobs' or 'DescribeJob' action will return a job\'s 'JobState' as part of the response element data returned.+-- Cancels the specified job. You can only cancel a job before its @JobState@ value changes to @PreparingAppliance@ . Requesting the @ListJobs@ or @DescribeJob@ action will return a job's @JobState@ as part of the response element data returned.+--+-- module Network.AWS.Snowball.CancelJob ( -- * Creating a Request@@ -50,7 +52,7 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'cjJobId'+-- * 'cjJobId' - The 39-character job ID for the job that you want to cancel, for example @JID123e4567-e89b-12d3-a456-426655440000@ . cancelJob :: Text -- ^ 'cjJobId' -> CancelJob@@ -59,7 +61,7 @@ { _cjJobId = pJobId_ } --- | The 39 character job ID for the job that you want to cancel, for example 'JID123e4567-e89b-12d3-a456-426655440000'.+-- | The 39-character job ID for the job that you want to cancel, for example @JID123e4567-e89b-12d3-a456-426655440000@ . cjJobId :: Lens' CancelJob Text cjJobId = lens _cjJobId (\ s a -> s{_cjJobId = a}); @@ -104,7 +106,7 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'crsResponseStatus'+-- * 'crsResponseStatus' - -- | The response status code. cancelJobResponse :: Int -- ^ 'crsResponseStatus' -> CancelJobResponse@@ -113,7 +115,7 @@ { _crsResponseStatus = pResponseStatus_ } --- | The response status code.+-- | -- | The response status code. crsResponseStatus :: Lens' CancelJobResponse Int crsResponseStatus = lens _crsResponseStatus (\ s a -> s{_crsResponseStatus = a});
gen/Network/AWS/Snowball/CreateAddress.hs view
@@ -20,7 +20,9 @@ -- -- Creates an address for a Snowball to be shipped to. --+-- -- Addresses are validated at the time of creation. The address you provide must be located within the serviceable area of your region. If the address is invalid or unsupported, then an exception is thrown.+-- module Network.AWS.Snowball.CreateAddress ( -- * Creating a Request@@ -53,7 +55,7 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'caAddress'+-- * 'caAddress' - The address that you want the Snowball shipped to. createAddress :: Address -- ^ 'caAddress' -> CreateAddress@@ -109,9 +111,9 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'carsAddressId'+-- * 'carsAddressId' - The automatically generated ID for a specific address. You'll use this ID when you create a job to specify which address you want the Snowball for that job shipped to. ----- * 'carsResponseStatus'+-- * 'carsResponseStatus' - -- | The response status code. createAddressResponse :: Int -- ^ 'carsResponseStatus' -> CreateAddressResponse@@ -121,11 +123,11 @@ , _carsResponseStatus = pResponseStatus_ } --- | The automatically generated ID for a specific address. You\'ll use this ID when you create a job to specify which address you want the Snowball for that job shipped to.+-- | The automatically generated ID for a specific address. You'll use this ID when you create a job to specify which address you want the Snowball for that job shipped to. carsAddressId :: Lens' CreateAddressResponse (Maybe Text) carsAddressId = lens _carsAddressId (\ s a -> s{_carsAddressId = a}); --- | The response status code.+-- | -- | The response status code. carsResponseStatus :: Lens' CreateAddressResponse Int carsResponseStatus = lens _carsResponseStatus (\ s a -> s{_carsResponseStatus = a});
+ gen/Network/AWS/Snowball/CreateCluster.hs view
@@ -0,0 +1,218 @@+{-# 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.Snowball.CreateCluster+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an empty cluster. Each cluster supports five nodes. You use the 'CreateJob' action separately to create the jobs for each of these nodes. The cluster does not ship until these five node jobs have been created.+--+--+module Network.AWS.Snowball.CreateCluster+ (+ -- * Creating a Request+ createCluster+ , CreateCluster+ -- * Request Lenses+ , ccKMSKeyARN+ , ccNotification+ , ccSnowballType+ , ccDescription+ , ccJobType+ , ccResources+ , ccAddressId+ , ccRoleARN+ , ccShippingOption++ -- * Destructuring the Response+ , createClusterResponse+ , CreateClusterResponse+ -- * Response Lenses+ , crersClusterId+ , crersResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response+import Network.AWS.Snowball.Types+import Network.AWS.Snowball.Types.Product++-- | /See:/ 'createCluster' smart constructor.+data CreateCluster = CreateCluster'+ { _ccKMSKeyARN :: !(Maybe Text)+ , _ccNotification :: !(Maybe Notification)+ , _ccSnowballType :: !(Maybe SnowballType)+ , _ccDescription :: !(Maybe Text)+ , _ccJobType :: !JobType+ , _ccResources :: !JobResource+ , _ccAddressId :: !Text+ , _ccRoleARN :: !Text+ , _ccShippingOption :: !ShippingOption+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateCluster' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccKMSKeyARN' - The @KmsKeyARN@ value that you want to associate with this cluster. @KmsKeyARN@ values are created by using the <http://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html CreateKey> API action in AWS Key Management Service (AWS KMS).+--+-- * 'ccNotification' - The Amazon Simple Notification Service (Amazon SNS) notification settings for this cluster.+--+-- * 'ccSnowballType' - The type of AWS Snowball appliance to use for this cluster. Currently, the only supported appliance type for cluster jobs is @EDGE@ .+--+-- * 'ccDescription' - An optional description of this specific cluster, for example @Environmental Data Cluster-01@ .+--+-- * 'ccJobType' - The type of job for this cluster. Currently, the only job type supported for clusters is @LOCAL_USE@ .+--+-- * 'ccResources' - The resources associated with the cluster job. These resources include Amazon S3 buckets and optional AWS Lambda functions written in the Python language.+--+-- * 'ccAddressId' - The ID for the address that you want the cluster shipped to.>+--+-- * 'ccRoleARN' - The @RoleARN@ that you want to associate with this cluster. @RoleArn@ values are created by using the <http://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html CreateRole> API action in AWS Identity and Access Management (IAM).+--+-- * 'ccShippingOption' - The shipping speed for each node in this cluster. This speed doesn't dictate how soon you'll get each Snowball Edge appliance, rather it represents how quickly each appliance moves to its destination while in transit. Regional shipping speeds are as follows: * In Australia, you have access to express shipping. Typically, appliances shipped express are delivered in about a day. * In the European Union (EU), you have access to express shipping. Typically, Snowball Edges shipped express are delivered in about a day. In addition, most countries in the EU have access to standard shipping, which typically takes less than a week, one way. * In India, Snowball Edges are delivered in one to seven days. * In the US, you have access to one-day shipping and two-day shipping.+createCluster+ :: JobType -- ^ 'ccJobType'+ -> JobResource -- ^ 'ccResources'+ -> Text -- ^ 'ccAddressId'+ -> Text -- ^ 'ccRoleARN'+ -> ShippingOption -- ^ 'ccShippingOption'+ -> CreateCluster+createCluster pJobType_ pResources_ pAddressId_ pRoleARN_ pShippingOption_ =+ CreateCluster'+ { _ccKMSKeyARN = Nothing+ , _ccNotification = Nothing+ , _ccSnowballType = Nothing+ , _ccDescription = Nothing+ , _ccJobType = pJobType_+ , _ccResources = pResources_+ , _ccAddressId = pAddressId_+ , _ccRoleARN = pRoleARN_+ , _ccShippingOption = pShippingOption_+ }++-- | The @KmsKeyARN@ value that you want to associate with this cluster. @KmsKeyARN@ values are created by using the <http://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html CreateKey> API action in AWS Key Management Service (AWS KMS).+ccKMSKeyARN :: Lens' CreateCluster (Maybe Text)+ccKMSKeyARN = lens _ccKMSKeyARN (\ s a -> s{_ccKMSKeyARN = a});++-- | The Amazon Simple Notification Service (Amazon SNS) notification settings for this cluster.+ccNotification :: Lens' CreateCluster (Maybe Notification)+ccNotification = lens _ccNotification (\ s a -> s{_ccNotification = a});++-- | The type of AWS Snowball appliance to use for this cluster. Currently, the only supported appliance type for cluster jobs is @EDGE@ .+ccSnowballType :: Lens' CreateCluster (Maybe SnowballType)+ccSnowballType = lens _ccSnowballType (\ s a -> s{_ccSnowballType = a});++-- | An optional description of this specific cluster, for example @Environmental Data Cluster-01@ .+ccDescription :: Lens' CreateCluster (Maybe Text)+ccDescription = lens _ccDescription (\ s a -> s{_ccDescription = a});++-- | The type of job for this cluster. Currently, the only job type supported for clusters is @LOCAL_USE@ .+ccJobType :: Lens' CreateCluster JobType+ccJobType = lens _ccJobType (\ s a -> s{_ccJobType = a});++-- | The resources associated with the cluster job. These resources include Amazon S3 buckets and optional AWS Lambda functions written in the Python language.+ccResources :: Lens' CreateCluster JobResource+ccResources = lens _ccResources (\ s a -> s{_ccResources = a});++-- | The ID for the address that you want the cluster shipped to.>+ccAddressId :: Lens' CreateCluster Text+ccAddressId = lens _ccAddressId (\ s a -> s{_ccAddressId = a});++-- | The @RoleARN@ that you want to associate with this cluster. @RoleArn@ values are created by using the <http://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html CreateRole> API action in AWS Identity and Access Management (IAM).+ccRoleARN :: Lens' CreateCluster Text+ccRoleARN = lens _ccRoleARN (\ s a -> s{_ccRoleARN = a});++-- | The shipping speed for each node in this cluster. This speed doesn't dictate how soon you'll get each Snowball Edge appliance, rather it represents how quickly each appliance moves to its destination while in transit. Regional shipping speeds are as follows: * In Australia, you have access to express shipping. Typically, appliances shipped express are delivered in about a day. * In the European Union (EU), you have access to express shipping. Typically, Snowball Edges shipped express are delivered in about a day. In addition, most countries in the EU have access to standard shipping, which typically takes less than a week, one way. * In India, Snowball Edges are delivered in one to seven days. * In the US, you have access to one-day shipping and two-day shipping.+ccShippingOption :: Lens' CreateCluster ShippingOption+ccShippingOption = lens _ccShippingOption (\ s a -> s{_ccShippingOption = a});++instance AWSRequest CreateCluster where+ type Rs CreateCluster = CreateClusterResponse+ request = postJSON snowball+ response+ = receiveJSON+ (\ s h x ->+ CreateClusterResponse' <$>+ (x .?> "ClusterId") <*> (pure (fromEnum s)))++instance Hashable CreateCluster++instance NFData CreateCluster++instance ToHeaders CreateCluster where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("AWSIESnowballJobManagementService.CreateCluster" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateCluster where+ toJSON CreateCluster'{..}+ = object+ (catMaybes+ [("KmsKeyARN" .=) <$> _ccKMSKeyARN,+ ("Notification" .=) <$> _ccNotification,+ ("SnowballType" .=) <$> _ccSnowballType,+ ("Description" .=) <$> _ccDescription,+ Just ("JobType" .= _ccJobType),+ Just ("Resources" .= _ccResources),+ Just ("AddressId" .= _ccAddressId),+ Just ("RoleARN" .= _ccRoleARN),+ Just ("ShippingOption" .= _ccShippingOption)])++instance ToPath CreateCluster where+ toPath = const "/"++instance ToQuery CreateCluster where+ toQuery = const mempty++-- | /See:/ 'createClusterResponse' smart constructor.+data CreateClusterResponse = CreateClusterResponse'+ { _crersClusterId :: !(Maybe Text)+ , _crersResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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:+--+-- * 'crersClusterId' - The automatically generated ID for a cluster.+--+-- * 'crersResponseStatus' - -- | The response status code.+createClusterResponse+ :: Int -- ^ 'crersResponseStatus'+ -> CreateClusterResponse+createClusterResponse pResponseStatus_ =+ CreateClusterResponse'+ { _crersClusterId = Nothing+ , _crersResponseStatus = pResponseStatus_+ }++-- | The automatically generated ID for a cluster.+crersClusterId :: Lens' CreateClusterResponse (Maybe Text)+crersClusterId = lens _crersClusterId (\ s a -> s{_crersClusterId = a});++-- | -- | The response status code.+crersResponseStatus :: Lens' CreateClusterResponse Int+crersResponseStatus = lens _crersResponseStatus (\ s a -> s{_crersResponseStatus = a});++instance NFData CreateClusterResponse
gen/Network/AWS/Snowball/CreateJob.hs view
@@ -18,22 +18,26 @@ -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Creates a job to import or export data between Amazon S3 and your on-premises data center. Note that your AWS account must have the right trust policies and permissions in place to create a job for Snowball. For more information, see < api-reference-policies>.+-- Creates a job to import or export data between Amazon S3 and your on-premises data center. Your AWS account must have the right trust policies and permissions in place to create a job for Snowball. If you're creating a job for a node in a cluster, you only need to provide the @clusterId@ value; the other job attributes are inherited from the cluster. .+--+-- module Network.AWS.Snowball.CreateJob ( -- * Creating a Request createJob , CreateJob -- * Request Lenses+ , cjJobType , cjKMSKeyARN , cjNotification- , cjDescription- , cjSnowballCapacityPreference- , cjJobType- , cjResources , cjAddressId- , cjRoleARN+ , cjSnowballType , cjShippingOption+ , cjResources+ , cjClusterId+ , cjDescription+ , cjRoleARN+ , cjSnowballCapacityPreference -- * Destructuring the Response , createJobResponse@@ -52,59 +56,66 @@ -- | /See:/ 'createJob' smart constructor. data CreateJob = CreateJob'- { _cjKMSKeyARN :: !(Maybe Text)+ { _cjJobType :: !(Maybe JobType)+ , _cjKMSKeyARN :: !(Maybe Text) , _cjNotification :: !(Maybe Notification)+ , _cjAddressId :: !(Maybe Text)+ , _cjSnowballType :: !(Maybe SnowballType)+ , _cjShippingOption :: !(Maybe ShippingOption)+ , _cjResources :: !(Maybe JobResource)+ , _cjClusterId :: !(Maybe Text) , _cjDescription :: !(Maybe Text)+ , _cjRoleARN :: !(Maybe Text) , _cjSnowballCapacityPreference :: !(Maybe SnowballCapacity)- , _cjJobType :: !JobType- , _cjResources :: !JobResource- , _cjAddressId :: !Text- , _cjRoleARN :: !Text- , _cjShippingOption :: !ShippingOption } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'CreateJob' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'cjKMSKeyARN'+-- * 'cjJobType' - Defines the type of job that you're creating. ----- * 'cjNotification'+-- * 'cjKMSKeyARN' - The @KmsKeyARN@ that you want to associate with this job. @KmsKeyARN@ s are created using the <http://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html CreateKey> AWS Key Management Service (KMS) API action. ----- * 'cjDescription'+-- * 'cjNotification' - Defines the Amazon Simple Notification Service (Amazon SNS) notification settings for this job. ----- * 'cjSnowballCapacityPreference'+-- * 'cjAddressId' - The ID for the address that you want the Snowball shipped to. ----- * 'cjJobType'+-- * 'cjSnowballType' - The type of AWS Snowball appliance to use for this job. Currently, the only supported appliance type for cluster jobs is @EDGE@ . ----- * 'cjResources'+-- * 'cjShippingOption' - The shipping speed for this job. This speed doesn't dictate how soon you'll get the Snowball, rather it represents how quickly the Snowball moves to its destination while in transit. Regional shipping speeds are as follows: * In Australia, you have access to express shipping. Typically, Snowballs shipped express are delivered in about a day. * In the European Union (EU), you have access to express shipping. Typically, Snowballs shipped express are delivered in about a day. In addition, most countries in the EU have access to standard shipping, which typically takes less than a week, one way. * In India, Snowballs are delivered in one to seven days. * In the US, you have access to one-day shipping and two-day shipping. ----- * 'cjAddressId'+-- * 'cjResources' - Defines the Amazon S3 buckets associated with this job. With @IMPORT@ jobs, you specify the bucket or buckets that your transferred data will be imported into. With @EXPORT@ jobs, you specify the bucket or buckets that your transferred data will be exported from. Optionally, you can also specify a @KeyRange@ value. If you choose to export a range, you define the length of the range by providing either an inclusive @BeginMarker@ value, an inclusive @EndMarker@ value, or both. Ranges are UTF-8 binary sorted. ----- * 'cjRoleARN'+-- * 'cjClusterId' - The ID of a cluster. If you're creating a job for a node in a cluster, you need to provide only this @clusterId@ value. The other job attributes are inherited from the cluster. ----- * 'cjShippingOption'+-- * 'cjDescription' - Defines an optional description of this specific job, for example @Important Photos 2016-08-11@ .+--+-- * 'cjRoleARN' - The @RoleARN@ that you want to associate with this job. @RoleArn@ s are created using the <http://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html CreateRole> AWS Identity and Access Management (IAM) API action.+--+-- * 'cjSnowballCapacityPreference' - If your job is being created in one of the US regions, you have the option of specifying what size Snowball you'd like for this job. In all other regions, Snowballs come with 80 TB in storage capacity. createJob- :: JobType -- ^ 'cjJobType'- -> JobResource -- ^ 'cjResources'- -> Text -- ^ 'cjAddressId'- -> Text -- ^ 'cjRoleARN'- -> ShippingOption -- ^ 'cjShippingOption'- -> CreateJob-createJob pJobType_ pResources_ pAddressId_ pRoleARN_ pShippingOption_ =+ :: CreateJob+createJob = CreateJob'- { _cjKMSKeyARN = Nothing+ { _cjJobType = Nothing+ , _cjKMSKeyARN = Nothing , _cjNotification = Nothing+ , _cjAddressId = Nothing+ , _cjSnowballType = Nothing+ , _cjShippingOption = Nothing+ , _cjResources = Nothing+ , _cjClusterId = Nothing , _cjDescription = Nothing+ , _cjRoleARN = Nothing , _cjSnowballCapacityPreference = Nothing- , _cjJobType = pJobType_- , _cjResources = pResources_- , _cjAddressId = pAddressId_- , _cjRoleARN = pRoleARN_- , _cjShippingOption = pShippingOption_ } --- | The 'KmsKeyARN' that you want to associate with this job. 'KmsKeyARN's are created using the <http://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html CreateKey> AWS Key Management Service (KMS) API action.+-- | Defines the type of job that you're creating.+cjJobType :: Lens' CreateJob (Maybe JobType)+cjJobType = lens _cjJobType (\ s a -> s{_cjJobType = a});++-- | The @KmsKeyARN@ that you want to associate with this job. @KmsKeyARN@ s are created using the <http://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html CreateKey> AWS Key Management Service (KMS) API action. cjKMSKeyARN :: Lens' CreateJob (Maybe Text) cjKMSKeyARN = lens _cjKMSKeyARN (\ s a -> s{_cjKMSKeyARN = a}); @@ -112,46 +123,37 @@ cjNotification :: Lens' CreateJob (Maybe Notification) cjNotification = lens _cjNotification (\ s a -> s{_cjNotification = a}); --- | Defines an optional description of this specific job, for example 'Important Photos 2016-08-11'.-cjDescription :: Lens' CreateJob (Maybe Text)-cjDescription = lens _cjDescription (\ s a -> s{_cjDescription = a});+-- | The ID for the address that you want the Snowball shipped to.+cjAddressId :: Lens' CreateJob (Maybe Text)+cjAddressId = lens _cjAddressId (\ s a -> s{_cjAddressId = a}); --- | If your job is being created in one of the US regions, you have the option of specifying what size Snowball you\'d like for this job. In all other regions, Snowballs come with 80 TB in storage capacity.-cjSnowballCapacityPreference :: Lens' CreateJob (Maybe SnowballCapacity)-cjSnowballCapacityPreference = lens _cjSnowballCapacityPreference (\ s a -> s{_cjSnowballCapacityPreference = a});+-- | The type of AWS Snowball appliance to use for this job. Currently, the only supported appliance type for cluster jobs is @EDGE@ .+cjSnowballType :: Lens' CreateJob (Maybe SnowballType)+cjSnowballType = lens _cjSnowballType (\ s a -> s{_cjSnowballType = a}); --- | Defines the type of job that you\'re creating.-cjJobType :: Lens' CreateJob JobType-cjJobType = lens _cjJobType (\ s a -> s{_cjJobType = a});+-- | The shipping speed for this job. This speed doesn't dictate how soon you'll get the Snowball, rather it represents how quickly the Snowball moves to its destination while in transit. Regional shipping speeds are as follows: * In Australia, you have access to express shipping. Typically, Snowballs shipped express are delivered in about a day. * In the European Union (EU), you have access to express shipping. Typically, Snowballs shipped express are delivered in about a day. In addition, most countries in the EU have access to standard shipping, which typically takes less than a week, one way. * In India, Snowballs are delivered in one to seven days. * In the US, you have access to one-day shipping and two-day shipping.+cjShippingOption :: Lens' CreateJob (Maybe ShippingOption)+cjShippingOption = lens _cjShippingOption (\ s a -> s{_cjShippingOption = a}); --- | Defines the Amazon S3 buckets associated with this job.------ With 'IMPORT' jobs, you specify the bucket or buckets that your transferred data will be imported into.------ With 'EXPORT' jobs, you specify the bucket or buckets that your transferred data will be exported from. Optionally, you can also specify a 'KeyRange' value. If you choose to export a range, you define the length of the range by providing either an inclusive 'BeginMarker' value, an inclusive 'EndMarker' value, or both. Ranges are UTF-8 binary sorted.-cjResources :: Lens' CreateJob JobResource+-- | Defines the Amazon S3 buckets associated with this job. With @IMPORT@ jobs, you specify the bucket or buckets that your transferred data will be imported into. With @EXPORT@ jobs, you specify the bucket or buckets that your transferred data will be exported from. Optionally, you can also specify a @KeyRange@ value. If you choose to export a range, you define the length of the range by providing either an inclusive @BeginMarker@ value, an inclusive @EndMarker@ value, or both. Ranges are UTF-8 binary sorted.+cjResources :: Lens' CreateJob (Maybe JobResource) cjResources = lens _cjResources (\ s a -> s{_cjResources = a}); --- | The ID for the address that you want the Snowball shipped to.-cjAddressId :: Lens' CreateJob Text-cjAddressId = lens _cjAddressId (\ s a -> s{_cjAddressId = a});+-- | The ID of a cluster. If you're creating a job for a node in a cluster, you need to provide only this @clusterId@ value. The other job attributes are inherited from the cluster.+cjClusterId :: Lens' CreateJob (Maybe Text)+cjClusterId = lens _cjClusterId (\ s a -> s{_cjClusterId = a}); --- | The 'RoleARN' that you want to associate with this job. 'RoleArn's are created using the <http://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html CreateRole> AWS Identity and Access Management (IAM) API action.-cjRoleARN :: Lens' CreateJob Text+-- | Defines an optional description of this specific job, for example @Important Photos 2016-08-11@ .+cjDescription :: Lens' CreateJob (Maybe Text)+cjDescription = lens _cjDescription (\ s a -> s{_cjDescription = a});++-- | The @RoleARN@ that you want to associate with this job. @RoleArn@ s are created using the <http://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html CreateRole> AWS Identity and Access Management (IAM) API action.+cjRoleARN :: Lens' CreateJob (Maybe Text) cjRoleARN = lens _cjRoleARN (\ s a -> s{_cjRoleARN = a}); --- | The shipping speed for this job. Note that this speed does not dictate how soon you\'ll get the Snowball, rather it represents how quickly the Snowball moves to its destination while in transit. Regional shipping speeds are as follows:------ - In Australia, you have access to express shipping. Typically, Snowballs shipped express are delivered in about a day.------ - In the European Union (EU), you have access to express shipping. Typically, Snowballs shipped express are delivered in about a day. In addition, most countries in the EU have access to standard shipping, which typically takes less than a week, one way.------ - In India, Snowballs are delivered in one to seven days.------ - In the US, you have access to one-day shipping and two-day shipping.----cjShippingOption :: Lens' CreateJob ShippingOption-cjShippingOption = lens _cjShippingOption (\ s a -> s{_cjShippingOption = a});+-- | If your job is being created in one of the US regions, you have the option of specifying what size Snowball you'd like for this job. In all other regions, Snowballs come with 80 TB in storage capacity.+cjSnowballCapacityPreference :: Lens' CreateJob (Maybe SnowballCapacity)+cjSnowballCapacityPreference = lens _cjSnowballCapacityPreference (\ s a -> s{_cjSnowballCapacityPreference = a}); instance AWSRequest CreateJob where type Rs CreateJob = CreateJobResponse@@ -180,16 +182,18 @@ toJSON CreateJob'{..} = object (catMaybes- [("KmsKeyARN" .=) <$> _cjKMSKeyARN,+ [("JobType" .=) <$> _cjJobType,+ ("KmsKeyARN" .=) <$> _cjKMSKeyARN, ("Notification" .=) <$> _cjNotification,+ ("AddressId" .=) <$> _cjAddressId,+ ("SnowballType" .=) <$> _cjSnowballType,+ ("ShippingOption" .=) <$> _cjShippingOption,+ ("Resources" .=) <$> _cjResources,+ ("ClusterId" .=) <$> _cjClusterId, ("Description" .=) <$> _cjDescription,+ ("RoleARN" .=) <$> _cjRoleARN, ("SnowballCapacityPreference" .=) <$>- _cjSnowballCapacityPreference,- Just ("JobType" .= _cjJobType),- Just ("Resources" .= _cjResources),- Just ("AddressId" .= _cjAddressId),- Just ("RoleARN" .= _cjRoleARN),- Just ("ShippingOption" .= _cjShippingOption)])+ _cjSnowballCapacityPreference]) instance ToPath CreateJob where toPath = const "/"@@ -207,9 +211,9 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'cjrsJobId'+-- * 'cjrsJobId' - The automatically generated ID for a job, for example @JID123e4567-e89b-12d3-a456-426655440000@ . ----- * 'cjrsResponseStatus'+-- * 'cjrsResponseStatus' - -- | The response status code. createJobResponse :: Int -- ^ 'cjrsResponseStatus' -> CreateJobResponse@@ -219,11 +223,11 @@ , _cjrsResponseStatus = pResponseStatus_ } --- | The automatically generated ID for a job, for example 'JID123e4567-e89b-12d3-a456-426655440000'.+-- | The automatically generated ID for a job, for example @JID123e4567-e89b-12d3-a456-426655440000@ . cjrsJobId :: Lens' CreateJobResponse (Maybe Text) cjrsJobId = lens _cjrsJobId (\ s a -> s{_cjrsJobId = a}); --- | The response status code.+-- | -- | The response status code. cjrsResponseStatus :: Lens' CreateJobResponse Int cjrsResponseStatus = lens _cjrsResponseStatus (\ s a -> s{_cjrsResponseStatus = a});
gen/Network/AWS/Snowball/DescribeAddress.hs view
@@ -18,7 +18,9 @@ -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Takes an 'AddressId' and returns specific details about that address in the form of an 'Address' object.+-- Takes an @AddressId@ and returns specific details about that address in the form of an @Address@ object.+--+-- module Network.AWS.Snowball.DescribeAddress ( -- * Creating a Request@@ -51,7 +53,7 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'daAddressId'+-- * 'daAddressId' - The automatically generated ID for a specific address. describeAddress :: Text -- ^ 'daAddressId' -> DescribeAddress@@ -108,9 +110,9 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'darsAddress'+-- * 'darsAddress' - The address that you want the Snowball or Snowballs associated with a specific job to be shipped to. ----- * 'darsResponseStatus'+-- * 'darsResponseStatus' - -- | The response status code. describeAddressResponse :: Int -- ^ 'darsResponseStatus' -> DescribeAddressResponse@@ -124,7 +126,7 @@ darsAddress :: Lens' DescribeAddressResponse (Maybe Address) darsAddress = lens _darsAddress (\ s a -> s{_darsAddress = a}); --- | The response status code.+-- | -- | The response status code. darsResponseStatus :: Lens' DescribeAddressResponse Int darsResponseStatus = lens _darsResponseStatus (\ s a -> s{_darsResponseStatus = a});
gen/Network/AWS/Snowball/DescribeAddresses.hs view
@@ -18,7 +18,9 @@ -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Returns a specified number of 'ADDRESS' objects. Calling this API in one of the US regions will return addresses from the list of all addresses associated with this account in all US regions.+-- Returns a specified number of @ADDRESS@ objects. Calling this API in one of the US regions will return addresses from the list of all addresses associated with this account in all US regions.+--+-- module Network.AWS.Snowball.DescribeAddresses ( -- * Creating a Request@@ -54,9 +56,9 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'daNextToken'+-- * 'daNextToken' - HTTP requests are stateless. To identify what object comes "next" in the list of @ADDRESS@ objects, you have the option of specifying a value for @NextToken@ as the starting point for your list of returned addresses. ----- * 'daMaxResults'+-- * 'daMaxResults' - The number of @ADDRESS@ objects to return. describeAddresses :: DescribeAddresses describeAddresses =@@ -65,11 +67,11 @@ , _daMaxResults = Nothing } --- | HTTP requests are stateless. To identify what object comes \"next\" in the list of 'ADDRESS' objects, you have the option of specifying a value for 'NextToken' as the starting point for your list of returned addresses.+-- | HTTP requests are stateless. To identify what object comes "next" in the list of @ADDRESS@ objects, you have the option of specifying a value for @NextToken@ as the starting point for your list of returned addresses. daNextToken :: Lens' DescribeAddresses (Maybe Text) daNextToken = lens _daNextToken (\ s a -> s{_daNextToken = a}); --- | The number of 'ADDRESS' objects to return.+-- | The number of @ADDRESS@ objects to return. daMaxResults :: Lens' DescribeAddresses (Maybe Natural) daMaxResults = lens _daMaxResults (\ s a -> s{_daMaxResults = a}) . mapping _Nat; @@ -122,11 +124,11 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'drsAddresses'+-- * 'drsAddresses' - The Snowball shipping addresses that were created for this account. ----- * 'drsNextToken'+-- * 'drsNextToken' - HTTP requests are stateless. If you use the automatically generated @NextToken@ value in your next @DescribeAddresses@ call, your list of returned addresses will start from this point in the array. ----- * 'drsResponseStatus'+-- * 'drsResponseStatus' - -- | The response status code. describeAddressesResponse :: Int -- ^ 'drsResponseStatus' -> DescribeAddressesResponse@@ -141,11 +143,11 @@ drsAddresses :: Lens' DescribeAddressesResponse [Address] drsAddresses = lens _drsAddresses (\ s a -> s{_drsAddresses = a}) . _Default . _Coerce; --- | HTTP requests are stateless. If you use the automatically generated 'NextToken' value in your next 'DescribeAddresses' call, your list of returned addresses will start from this point in the array.+-- | HTTP requests are stateless. If you use the automatically generated @NextToken@ value in your next @DescribeAddresses@ call, your list of returned addresses will start from this point in the array. drsNextToken :: Lens' DescribeAddressesResponse (Maybe Text) drsNextToken = lens _drsNextToken (\ s a -> s{_drsNextToken = a}); --- | The response status code.+-- | -- | The response status code. drsResponseStatus :: Lens' DescribeAddressesResponse Int drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a});
+ gen/Network/AWS/Snowball/DescribeCluster.hs view
@@ -0,0 +1,133 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Snowball.DescribeCluster+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about a specific cluster including shipping information, cluster status, and other important metadata.+--+--+module Network.AWS.Snowball.DescribeCluster+ (+ -- * Creating a Request+ describeCluster+ , DescribeCluster+ -- * Request Lenses+ , dcClusterId++ -- * Destructuring the Response+ , describeClusterResponse+ , DescribeClusterResponse+ -- * Response Lenses+ , dcrsClusterMetadata+ , dcrsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response+import Network.AWS.Snowball.Types+import Network.AWS.Snowball.Types.Product++-- | /See:/ 'describeCluster' smart constructor.+newtype DescribeCluster = DescribeCluster'+ { _dcClusterId :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeCluster' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcClusterId' - The automatically generated ID for a cluster.+describeCluster+ :: Text -- ^ 'dcClusterId'+ -> DescribeCluster+describeCluster pClusterId_ =+ DescribeCluster'+ { _dcClusterId = pClusterId_+ }++-- | The automatically generated ID for a cluster.+dcClusterId :: Lens' DescribeCluster Text+dcClusterId = lens _dcClusterId (\ s a -> s{_dcClusterId = a});++instance AWSRequest DescribeCluster where+ type Rs DescribeCluster = DescribeClusterResponse+ request = postJSON snowball+ response+ = receiveJSON+ (\ s h x ->+ DescribeClusterResponse' <$>+ (x .?> "ClusterMetadata") <*> (pure (fromEnum s)))++instance Hashable DescribeCluster++instance NFData DescribeCluster++instance ToHeaders DescribeCluster where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("AWSIESnowballJobManagementService.DescribeCluster"+ :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DescribeCluster where+ toJSON DescribeCluster'{..}+ = object+ (catMaybes [Just ("ClusterId" .= _dcClusterId)])++instance ToPath DescribeCluster where+ toPath = const "/"++instance ToQuery DescribeCluster where+ toQuery = const mempty++-- | /See:/ 'describeClusterResponse' smart constructor.+data DescribeClusterResponse = DescribeClusterResponse'+ { _dcrsClusterMetadata :: !(Maybe ClusterMetadata)+ , _dcrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeClusterResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcrsClusterMetadata' - Information about a specific cluster, including shipping information, cluster status, and other important metadata.+--+-- * 'dcrsResponseStatus' - -- | The response status code.+describeClusterResponse+ :: Int -- ^ 'dcrsResponseStatus'+ -> DescribeClusterResponse+describeClusterResponse pResponseStatus_ =+ DescribeClusterResponse'+ { _dcrsClusterMetadata = Nothing+ , _dcrsResponseStatus = pResponseStatus_+ }++-- | Information about a specific cluster, including shipping information, cluster status, and other important metadata.+dcrsClusterMetadata :: Lens' DescribeClusterResponse (Maybe ClusterMetadata)+dcrsClusterMetadata = lens _dcrsClusterMetadata (\ s a -> s{_dcrsClusterMetadata = a});++-- | -- | The response status code.+dcrsResponseStatus :: Lens' DescribeClusterResponse Int+dcrsResponseStatus = lens _dcrsResponseStatus (\ s a -> s{_dcrsResponseStatus = a});++instance NFData DescribeClusterResponse
gen/Network/AWS/Snowball/DescribeJob.hs view
@@ -18,7 +18,9 @@ -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Returns information about a specific job including shipping information, job status, and other important metadata.+-- Returns information about a specific job including shipping information, job status, and other important metadata. .+--+-- module Network.AWS.Snowball.DescribeJob ( -- * Creating a Request@@ -52,7 +54,7 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'djJobId'+-- * 'djJobId' - The automatically generated ID for a job, for example @JID123e4567-e89b-12d3-a456-426655440000@ . describeJob :: Text -- ^ 'djJobId' -> DescribeJob@@ -61,7 +63,7 @@ { _djJobId = pJobId_ } --- | The automatically generated ID for a job, for example 'JID123e4567-e89b-12d3-a456-426655440000'.+-- | The automatically generated ID for a job, for example @JID123e4567-e89b-12d3-a456-426655440000@ . djJobId :: Lens' DescribeJob Text djJobId = lens _djJobId (\ s a -> s{_djJobId = a}); @@ -111,11 +113,11 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'djrsJobMetadata'+-- * 'djrsJobMetadata' - Information about a specific job, including shipping information, job status, and other important metadata. ----- * 'djrsSubJobMetadata'+-- * 'djrsSubJobMetadata' - Information about a specific job part (in the case of an export job), including shipping information, job status, and other important metadata. ----- * 'djrsResponseStatus'+-- * 'djrsResponseStatus' - -- | The response status code. describeJobResponse :: Int -- ^ 'djrsResponseStatus' -> DescribeJobResponse@@ -134,7 +136,7 @@ djrsSubJobMetadata :: Lens' DescribeJobResponse [JobMetadata] djrsSubJobMetadata = lens _djrsSubJobMetadata (\ s a -> s{_djrsSubJobMetadata = a}) . _Default . _Coerce; --- | The response status code.+-- | -- | The response status code. djrsResponseStatus :: Lens' DescribeJobResponse Int djrsResponseStatus = lens _djrsResponseStatus (\ s a -> s{_djrsResponseStatus = a});
gen/Network/AWS/Snowball/GetJobManifest.hs view
@@ -18,13 +18,15 @@ -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Returns a link to an Amazon S3 presigned URL for the manifest file associated with the specified 'JobId' value. You can access the manifest file for up to 60 minutes after this request has been made. To access the manifest file after 60 minutes have passed, you\'ll have to make another call to the 'GetJobManifest' action.+-- Returns a link to an Amazon S3 presigned URL for the manifest file associated with the specified @JobId@ value. You can access the manifest file for up to 60 minutes after this request has been made. To access the manifest file after 60 minutes have passed, you'll have to make another call to the @GetJobManifest@ action. ----- The manifest is an encrypted file that you can download after your job enters the 'WithCustomer' status. The manifest is decrypted by using the 'UnlockCode' code value, when you pass both values to the Snowball through the Snowball client when the client is started for the first time. ----- As a best practice, we recommend that you don\'t save a copy of an 'UnlockCode' value in the same location as the manifest file for that job. Saving these separately helps prevent unauthorized parties from gaining access to the Snowball associated with that job.+-- The manifest is an encrypted file that you can download after your job enters the @WithCustomer@ status. The manifest is decrypted by using the @UnlockCode@ code value, when you pass both values to the Snowball through the Snowball client when the client is started for the first time. ----- Note that the credentials of a given job, including its manifest file and unlock code, expire 90 days after the job is created.+-- As a best practice, we recommend that you don't save a copy of an @UnlockCode@ value in the same location as the manifest file for that job. Saving these separately helps prevent unauthorized parties from gaining access to the Snowball associated with that job.+--+-- The credentials of a given job, including its manifest file and unlock code, expire 90 days after the job is created.+-- module Network.AWS.Snowball.GetJobManifest ( -- * Creating a Request@@ -57,7 +59,7 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'gjmJobId'+-- * 'gjmJobId' - The ID for a job that you want to get the manifest file for, for example @JID123e4567-e89b-12d3-a456-426655440000@ . getJobManifest :: Text -- ^ 'gjmJobId' -> GetJobManifest@@ -66,7 +68,7 @@ { _gjmJobId = pJobId_ } --- | The ID for a job that you want to get the manifest file for, for example 'JID123e4567-e89b-12d3-a456-426655440000'.+-- | The ID for a job that you want to get the manifest file for, for example @JID123e4567-e89b-12d3-a456-426655440000@ . gjmJobId :: Lens' GetJobManifest Text gjmJobId = lens _gjmJobId (\ s a -> s{_gjmJobId = a}); @@ -113,9 +115,9 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'gjmrsManifestURI'+-- * 'gjmrsManifestURI' - The Amazon S3 presigned URL for the manifest file associated with the specified @JobId@ value. ----- * 'gjmrsResponseStatus'+-- * 'gjmrsResponseStatus' - -- | The response status code. getJobManifestResponse :: Int -- ^ 'gjmrsResponseStatus' -> GetJobManifestResponse@@ -125,11 +127,11 @@ , _gjmrsResponseStatus = pResponseStatus_ } --- | The Amazon S3 presigned URL for the manifest file associated with the specified 'JobId' value.+-- | The Amazon S3 presigned URL for the manifest file associated with the specified @JobId@ value. gjmrsManifestURI :: Lens' GetJobManifestResponse (Maybe Text) gjmrsManifestURI = lens _gjmrsManifestURI (\ s a -> s{_gjmrsManifestURI = a}); --- | The response status code.+-- | -- | The response status code. gjmrsResponseStatus :: Lens' GetJobManifestResponse Int gjmrsResponseStatus = lens _gjmrsResponseStatus (\ s a -> s{_gjmrsResponseStatus = a});
gen/Network/AWS/Snowball/GetJobUnlockCode.hs view
@@ -18,11 +18,13 @@ -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Returns the 'UnlockCode' code value for the specified job. A particular 'UnlockCode' value can be accessed for up to 90 days after the associated job has been created.+-- Returns the @UnlockCode@ code value for the specified job. A particular @UnlockCode@ value can be accessed for up to 90 days after the associated job has been created. ----- The 'UnlockCode' value is a 29-character code with 25 alphanumeric characters and 4 hyphens. This code is used to decrypt the manifest file when it is passed along with the manifest to the Snowball through the Snowball client when the client is started for the first time. ----- As a best practice, we recommend that you don\'t save a copy of the 'UnlockCode' in the same location as the manifest file for that job. Saving these separately helps prevent unauthorized parties from gaining access to the Snowball associated with that job.+-- The @UnlockCode@ value is a 29-character code with 25 alphanumeric characters and 4 hyphens. This code is used to decrypt the manifest file when it is passed along with the manifest to the Snowball through the Snowball client when the client is started for the first time.+--+-- As a best practice, we recommend that you don't save a copy of the @UnlockCode@ in the same location as the manifest file for that job. Saving these separately helps prevent unauthorized parties from gaining access to the Snowball associated with that job.+-- module Network.AWS.Snowball.GetJobUnlockCode ( -- * Creating a Request@@ -55,7 +57,7 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'gjucJobId'+-- * 'gjucJobId' - The ID for the job that you want to get the @UnlockCode@ value for, for example @JID123e4567-e89b-12d3-a456-426655440000@ . getJobUnlockCode :: Text -- ^ 'gjucJobId' -> GetJobUnlockCode@@ -64,7 +66,7 @@ { _gjucJobId = pJobId_ } --- | The ID for the job that you want to get the 'UnlockCode' value for, for example 'JID123e4567-e89b-12d3-a456-426655440000'.+-- | The ID for the job that you want to get the @UnlockCode@ value for, for example @JID123e4567-e89b-12d3-a456-426655440000@ . gjucJobId :: Lens' GetJobUnlockCode Text gjucJobId = lens _gjucJobId (\ s a -> s{_gjucJobId = a}); @@ -111,9 +113,9 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'gjucrsUnlockCode'+-- * 'gjucrsUnlockCode' - The @UnlockCode@ value for the specified job. The @UnlockCode@ value can be accessed for up to 90 days after the job has been created. ----- * 'gjucrsResponseStatus'+-- * 'gjucrsResponseStatus' - -- | The response status code. getJobUnlockCodeResponse :: Int -- ^ 'gjucrsResponseStatus' -> GetJobUnlockCodeResponse@@ -123,11 +125,11 @@ , _gjucrsResponseStatus = pResponseStatus_ } --- | The 'UnlockCode' value for the specified job. The 'UnlockCode' value can be accessed for up to 90 days after the job has been created.+-- | The @UnlockCode@ value for the specified job. The @UnlockCode@ value can be accessed for up to 90 days after the job has been created. gjucrsUnlockCode :: Lens' GetJobUnlockCodeResponse (Maybe Text) gjucrsUnlockCode = lens _gjucrsUnlockCode (\ s a -> s{_gjucrsUnlockCode = a}); --- | The response status code.+-- | -- | The response status code. gjucrsResponseStatus :: Lens' GetJobUnlockCodeResponse Int gjucrsResponseStatus = lens _gjucrsResponseStatus (\ s a -> s{_gjucrsResponseStatus = a});
gen/Network/AWS/Snowball/GetSnowballUsage.hs view
@@ -20,7 +20,9 @@ -- -- Returns information about the Snowball service limit for your account, and also the number of Snowballs your account has in use. ----- Note that the default service limit for the number of Snowballs that you can have at one time is 1. If you want to increase your service limit, contact AWS Support.+--+-- The default service limit for the number of Snowballs that you can have at one time is 1. If you want to increase your service limit, contact AWS Support.+-- module Network.AWS.Snowball.GetSnowballUsage ( -- * Creating a Request@@ -98,11 +100,11 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'gsursSnowballsInUse'+-- * 'gsursSnowballsInUse' - The number of Snowballs that this account is currently using. ----- * 'gsursSnowballLimit'+-- * 'gsursSnowballLimit' - The service limit for number of Snowballs this account can have at once. The default service limit is 1 (one). ----- * 'gsursResponseStatus'+-- * 'gsursResponseStatus' - -- | The response status code. getSnowballUsageResponse :: Int -- ^ 'gsursResponseStatus' -> GetSnowballUsageResponse@@ -121,7 +123,7 @@ gsursSnowballLimit :: Lens' GetSnowballUsageResponse (Maybe Int) gsursSnowballLimit = lens _gsursSnowballLimit (\ s a -> s{_gsursSnowballLimit = a}); --- | The response status code.+-- | -- | The response status code. gsursResponseStatus :: Lens' GetSnowballUsageResponse Int gsursResponseStatus = lens _gsursResponseStatus (\ s a -> s{_gsursResponseStatus = a});
+ gen/Network/AWS/Snowball/ListClusterJobs.hs view
@@ -0,0 +1,165 @@+{-# 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.Snowball.ListClusterJobs+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns an array of @JobListEntry@ objects of the specified length. Each @JobListEntry@ object is for a job in the specified cluster and contains a job's state, a job's ID, and other information.+--+--+module Network.AWS.Snowball.ListClusterJobs+ (+ -- * Creating a Request+ listClusterJobs+ , ListClusterJobs+ -- * Request Lenses+ , lcjNextToken+ , lcjMaxResults+ , lcjClusterId++ -- * Destructuring the Response+ , listClusterJobsResponse+ , ListClusterJobsResponse+ -- * Response Lenses+ , lcjrsJobListEntries+ , lcjrsNextToken+ , lcjrsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response+import Network.AWS.Snowball.Types+import Network.AWS.Snowball.Types.Product++-- | /See:/ 'listClusterJobs' smart constructor.+data ListClusterJobs = ListClusterJobs'+ { _lcjNextToken :: !(Maybe Text)+ , _lcjMaxResults :: !(Maybe Nat)+ , _lcjClusterId :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListClusterJobs' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lcjNextToken' - HTTP requests are stateless. To identify what object comes "next" in the list of @JobListEntry@ objects, you have the option of specifying @NextToken@ as the starting point for your returned list.+--+-- * 'lcjMaxResults' - The number of @JobListEntry@ objects to return.+--+-- * 'lcjClusterId' - The 39-character ID for the cluster that you want to list, for example @CID123e4567-e89b-12d3-a456-426655440000@ .+listClusterJobs+ :: Text -- ^ 'lcjClusterId'+ -> ListClusterJobs+listClusterJobs pClusterId_ =+ ListClusterJobs'+ { _lcjNextToken = Nothing+ , _lcjMaxResults = Nothing+ , _lcjClusterId = pClusterId_+ }++-- | HTTP requests are stateless. To identify what object comes "next" in the list of @JobListEntry@ objects, you have the option of specifying @NextToken@ as the starting point for your returned list.+lcjNextToken :: Lens' ListClusterJobs (Maybe Text)+lcjNextToken = lens _lcjNextToken (\ s a -> s{_lcjNextToken = a});++-- | The number of @JobListEntry@ objects to return.+lcjMaxResults :: Lens' ListClusterJobs (Maybe Natural)+lcjMaxResults = lens _lcjMaxResults (\ s a -> s{_lcjMaxResults = a}) . mapping _Nat;++-- | The 39-character ID for the cluster that you want to list, for example @CID123e4567-e89b-12d3-a456-426655440000@ .+lcjClusterId :: Lens' ListClusterJobs Text+lcjClusterId = lens _lcjClusterId (\ s a -> s{_lcjClusterId = a});++instance AWSRequest ListClusterJobs where+ type Rs ListClusterJobs = ListClusterJobsResponse+ request = postJSON snowball+ response+ = receiveJSON+ (\ s h x ->+ ListClusterJobsResponse' <$>+ (x .?> "JobListEntries" .!@ mempty) <*>+ (x .?> "NextToken")+ <*> (pure (fromEnum s)))++instance Hashable ListClusterJobs++instance NFData ListClusterJobs++instance ToHeaders ListClusterJobs where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("AWSIESnowballJobManagementService.ListClusterJobs"+ :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON ListClusterJobs where+ toJSON ListClusterJobs'{..}+ = object+ (catMaybes+ [("NextToken" .=) <$> _lcjNextToken,+ ("MaxResults" .=) <$> _lcjMaxResults,+ Just ("ClusterId" .= _lcjClusterId)])++instance ToPath ListClusterJobs where+ toPath = const "/"++instance ToQuery ListClusterJobs where+ toQuery = const mempty++-- | /See:/ 'listClusterJobsResponse' smart constructor.+data ListClusterJobsResponse = ListClusterJobsResponse'+ { _lcjrsJobListEntries :: !(Maybe [JobListEntry])+ , _lcjrsNextToken :: !(Maybe Text)+ , _lcjrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListClusterJobsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lcjrsJobListEntries' - Each @JobListEntry@ object contains a job's state, a job's ID, and a value that indicates whether the job is a job part, in the case of export jobs.+--+-- * 'lcjrsNextToken' - HTTP requests are stateless. If you use the automatically generated @NextToken@ value in your next @ListClusterJobsResult@ call, your list of returned jobs will start from this point in the array.+--+-- * 'lcjrsResponseStatus' - -- | The response status code.+listClusterJobsResponse+ :: Int -- ^ 'lcjrsResponseStatus'+ -> ListClusterJobsResponse+listClusterJobsResponse pResponseStatus_ =+ ListClusterJobsResponse'+ { _lcjrsJobListEntries = Nothing+ , _lcjrsNextToken = Nothing+ , _lcjrsResponseStatus = pResponseStatus_+ }++-- | Each @JobListEntry@ object contains a job's state, a job's ID, and a value that indicates whether the job is a job part, in the case of export jobs.+lcjrsJobListEntries :: Lens' ListClusterJobsResponse [JobListEntry]+lcjrsJobListEntries = lens _lcjrsJobListEntries (\ s a -> s{_lcjrsJobListEntries = a}) . _Default . _Coerce;++-- | HTTP requests are stateless. If you use the automatically generated @NextToken@ value in your next @ListClusterJobsResult@ call, your list of returned jobs will start from this point in the array.+lcjrsNextToken :: Lens' ListClusterJobsResponse (Maybe Text)+lcjrsNextToken = lens _lcjrsNextToken (\ s a -> s{_lcjrsNextToken = a});++-- | -- | The response status code.+lcjrsResponseStatus :: Lens' ListClusterJobsResponse Int+lcjrsResponseStatus = lens _lcjrsResponseStatus (\ s a -> s{_lcjrsResponseStatus = a});++instance NFData ListClusterJobsResponse
+ gen/Network/AWS/Snowball/ListClusters.hs view
@@ -0,0 +1,154 @@+{-# 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.Snowball.ListClusters+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns an array of @ClusterListEntry@ objects of the specified length. Each @ClusterListEntry@ object contains a cluster's state, a cluster's ID, and other important status information.+--+--+module Network.AWS.Snowball.ListClusters+ (+ -- * Creating a Request+ listClusters+ , ListClusters+ -- * Request Lenses+ , lcNextToken+ , lcMaxResults++ -- * Destructuring the Response+ , listClustersResponse+ , ListClustersResponse+ -- * Response Lenses+ , lcrsClusterListEntries+ , lcrsNextToken+ , lcrsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response+import Network.AWS.Snowball.Types+import Network.AWS.Snowball.Types.Product++-- | /See:/ 'listClusters' smart constructor.+data ListClusters = ListClusters'+ { _lcNextToken :: !(Maybe Text)+ , _lcMaxResults :: !(Maybe Nat)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListClusters' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lcNextToken' - HTTP requests are stateless. To identify what object comes "next" in the list of @ClusterListEntry@ objects, you have the option of specifying @NextToken@ as the starting point for your returned list.+--+-- * 'lcMaxResults' - The number of @ClusterListEntry@ objects to return.+listClusters+ :: ListClusters+listClusters =+ ListClusters'+ { _lcNextToken = Nothing+ , _lcMaxResults = Nothing+ }++-- | HTTP requests are stateless. To identify what object comes "next" in the list of @ClusterListEntry@ objects, you have the option of specifying @NextToken@ as the starting point for your returned list.+lcNextToken :: Lens' ListClusters (Maybe Text)+lcNextToken = lens _lcNextToken (\ s a -> s{_lcNextToken = a});++-- | The number of @ClusterListEntry@ objects to return.+lcMaxResults :: Lens' ListClusters (Maybe Natural)+lcMaxResults = lens _lcMaxResults (\ s a -> s{_lcMaxResults = a}) . mapping _Nat;++instance AWSRequest ListClusters where+ type Rs ListClusters = ListClustersResponse+ request = postJSON snowball+ response+ = receiveJSON+ (\ s h x ->+ ListClustersResponse' <$>+ (x .?> "ClusterListEntries" .!@ mempty) <*>+ (x .?> "NextToken")+ <*> (pure (fromEnum s)))++instance Hashable ListClusters++instance NFData ListClusters++instance ToHeaders ListClusters where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("AWSIESnowballJobManagementService.ListClusters" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON ListClusters where+ toJSON ListClusters'{..}+ = object+ (catMaybes+ [("NextToken" .=) <$> _lcNextToken,+ ("MaxResults" .=) <$> _lcMaxResults])++instance ToPath ListClusters where+ toPath = const "/"++instance ToQuery ListClusters where+ toQuery = const mempty++-- | /See:/ 'listClustersResponse' smart constructor.+data ListClustersResponse = ListClustersResponse'+ { _lcrsClusterListEntries :: !(Maybe [ClusterListEntry])+ , _lcrsNextToken :: !(Maybe Text)+ , _lcrsResponseStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | 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:+--+-- * 'lcrsClusterListEntries' - Each @ClusterListEntry@ object contains a cluster's state, a cluster's ID, and other important status information.+--+-- * 'lcrsNextToken' - HTTP requests are stateless. If you use the automatically generated @NextToken@ value in your next @ClusterListEntry@ call, your list of returned clusters will start from this point in the array.+--+-- * 'lcrsResponseStatus' - -- | The response status code.+listClustersResponse+ :: Int -- ^ 'lcrsResponseStatus'+ -> ListClustersResponse+listClustersResponse pResponseStatus_ =+ ListClustersResponse'+ { _lcrsClusterListEntries = Nothing+ , _lcrsNextToken = Nothing+ , _lcrsResponseStatus = pResponseStatus_+ }++-- | Each @ClusterListEntry@ object contains a cluster's state, a cluster's ID, and other important status information.+lcrsClusterListEntries :: Lens' ListClustersResponse [ClusterListEntry]+lcrsClusterListEntries = lens _lcrsClusterListEntries (\ s a -> s{_lcrsClusterListEntries = a}) . _Default . _Coerce;++-- | HTTP requests are stateless. If you use the automatically generated @NextToken@ value in your next @ClusterListEntry@ call, your list of returned clusters will start from this point in the array.+lcrsNextToken :: Lens' ListClustersResponse (Maybe Text)+lcrsNextToken = lens _lcrsNextToken (\ s a -> s{_lcrsNextToken = a});++-- | -- | The response status code.+lcrsResponseStatus :: Lens' ListClustersResponse Int+lcrsResponseStatus = lens _lcrsResponseStatus (\ s a -> s{_lcrsResponseStatus = a});++instance NFData ListClustersResponse
gen/Network/AWS/Snowball/ListJobs.hs view
@@ -18,7 +18,9 @@ -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Returns an array of 'JobListEntry' objects of the specified length. Each 'JobListEntry' object contains a job\'s state, a job\'s ID, and a value that indicates whether the job is a job part, in the case of export jobs. Calling this API action in one of the US regions will return jobs from the list of all jobs associated with this account in all US regions.+-- Returns an array of @JobListEntry@ objects of the specified length. Each @JobListEntry@ object contains a job's state, a job's ID, and a value that indicates whether the job is a job part, in the case of export jobs. Calling this API action in one of the US regions will return jobs from the list of all jobs associated with this account in all US regions.+--+-- module Network.AWS.Snowball.ListJobs ( -- * Creating a Request@@ -54,9 +56,9 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'ljNextToken'+-- * 'ljNextToken' - HTTP requests are stateless. To identify what object comes "next" in the list of @JobListEntry@ objects, you have the option of specifying @NextToken@ as the starting point for your returned list. ----- * 'ljMaxResults'+-- * 'ljMaxResults' - The number of @JobListEntry@ objects to return. listJobs :: ListJobs listJobs =@@ -65,11 +67,11 @@ , _ljMaxResults = Nothing } --- | HTTP requests are stateless. To identify what object comes \"next\" in the list of 'JobListEntry' objects, you have the option of specifying 'NextToken' as the starting point for your returned list.+-- | HTTP requests are stateless. To identify what object comes "next" in the list of @JobListEntry@ objects, you have the option of specifying @NextToken@ as the starting point for your returned list. ljNextToken :: Lens' ListJobs (Maybe Text) ljNextToken = lens _ljNextToken (\ s a -> s{_ljNextToken = a}); --- | The number of 'JobListEntry' objects to return.+-- | The number of @JobListEntry@ objects to return. ljMaxResults :: Lens' ListJobs (Maybe Natural) ljMaxResults = lens _ljMaxResults (\ s a -> s{_ljMaxResults = a}) . mapping _Nat; @@ -122,11 +124,11 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'ljrsJobListEntries'+-- * 'ljrsJobListEntries' - Each @JobListEntry@ object contains a job's state, a job's ID, and a value that indicates whether the job is a job part, in the case of export jobs. ----- * 'ljrsNextToken'+-- * 'ljrsNextToken' - HTTP requests are stateless. If you use this automatically generated @NextToken@ value in your next @ListJobs@ call, your returned @JobListEntry@ objects will start from this point in the array. ----- * 'ljrsResponseStatus'+-- * 'ljrsResponseStatus' - -- | The response status code. listJobsResponse :: Int -- ^ 'ljrsResponseStatus' -> ListJobsResponse@@ -137,15 +139,15 @@ , _ljrsResponseStatus = pResponseStatus_ } --- | Each 'JobListEntry' object contains a job\'s state, a job\'s ID, and a value that indicates whether the job is a job part, in the case of export jobs.+-- | Each @JobListEntry@ object contains a job's state, a job's ID, and a value that indicates whether the job is a job part, in the case of export jobs. ljrsJobListEntries :: Lens' ListJobsResponse [JobListEntry] ljrsJobListEntries = lens _ljrsJobListEntries (\ s a -> s{_ljrsJobListEntries = a}) . _Default . _Coerce; --- | HTTP requests are stateless. If you use this automatically generated 'NextToken' value in your next 'ListJobs' call, your returned 'JobListEntry' objects will start from this point in the array.+-- | HTTP requests are stateless. If you use this automatically generated @NextToken@ value in your next @ListJobs@ call, your returned @JobListEntry@ objects will start from this point in the array. ljrsNextToken :: Lens' ListJobsResponse (Maybe Text) ljrsNextToken = lens _ljrsNextToken (\ s a -> s{_ljrsNextToken = a}); --- | The response status code.+-- | -- | The response status code. ljrsResponseStatus :: Lens' ListJobsResponse Int ljrsResponseStatus = lens _ljrsResponseStatus (\ s a -> s{_ljrsResponseStatus = a});
gen/Network/AWS/Snowball/Types.hs view
@@ -20,8 +20,13 @@ , _UnsupportedAddressException , _KMSRequestFailedException , _InvalidJobStateException+ , _InvalidInputCombinationException , _InvalidAddressException+ , _ClusterLimitExceededException + -- * ClusterState+ , ClusterState (..)+ -- * JobState , JobState (..) @@ -34,6 +39,9 @@ -- * SnowballCapacity , SnowballCapacity (..) + -- * SnowballType+ , SnowballType (..)+ -- * Address , Address , address@@ -51,6 +59,30 @@ , aPrefectureOrDistrict , aStreet1 + -- * ClusterListEntry+ , ClusterListEntry+ , clusterListEntry+ , cleClusterState+ , cleClusterId+ , cleCreationDate+ , cleDescription++ -- * ClusterMetadata+ , ClusterMetadata+ , clusterMetadata+ , cmJobType+ , cmKMSKeyARN+ , cmClusterState+ , cmNotification+ , cmAddressId+ , cmSnowballType+ , cmShippingOption+ , cmResources+ , cmClusterId+ , cmCreationDate+ , cmDescription+ , cmRoleARN+ -- * DataTransfer , DataTransfer , dataTransfer@@ -59,11 +91,20 @@ , dtObjectsTransferred , dtBytesTransferred + -- * EventTriggerDefinition+ , EventTriggerDefinition+ , eventTriggerDefinition+ , etdEventResourceARN+ -- * JobListEntry , JobListEntry , jobListEntry+ , jleJobType , jleJobId , jleJobState+ , jleSnowballType+ , jleCreationDate+ , jleDescription , jleIsMaster -- * JobLogs@@ -84,8 +125,10 @@ , jmJobState , jmShippingDetails , jmAddressId+ , jmSnowballType , jmDataTransferProgress , jmResources+ , jmClusterId , jmCreationDate , jmDescription , jmRoleARN@@ -94,6 +137,7 @@ -- * JobResource , JobResource , jobResource+ , jrLambdaResources , jrS3Resources -- * KeyRange@@ -102,6 +146,12 @@ , krEndMarker , krBeginMarker + -- * LambdaResource+ , LambdaResource+ , lambdaResource+ , lrEventTriggers+ , lrLambdaARN+ -- * Notification , Notification , notification@@ -135,7 +185,7 @@ import Network.AWS.Snowball.Types.Product import Network.AWS.Snowball.Types.Sum --- | API version '2016-06-30' of the Amazon Import/Export Snowball SDK configuration.+-- | API version @2016-06-30@ of the Amazon Import/Export Snowball SDK configuration. snowball :: Service snowball = Service@@ -169,24 +219,48 @@ | has (hasStatus 509) e = Just "limit_exceeded" | otherwise = Nothing --- | The specified resource can\'t be found. Check the information you provided in your last request, and try again.+-- | The specified resource can't be found. Check the information you provided in your last request, and try again.+--+-- _InvalidResourceException :: AsError a => Getting (First ServiceError) a ServiceError _InvalidResourceException = _ServiceError . hasCode "InvalidResourceException" --- | The address is either outside the serviceable area for your region, or an error occurred. Check the address with your region\'s carrier and try again. If the issue persists, contact AWS Support.+-- | The address is either outside the serviceable area for your region, or an error occurred. Check the address with your region's carrier and try again. If the issue persists, contact AWS Support.+--+-- _UnsupportedAddressException :: AsError a => Getting (First ServiceError) a ServiceError _UnsupportedAddressException = _ServiceError . hasCode "UnsupportedAddressException" --- | The provided AWS Key Management Service key lacks the permissions to perform the specified < CreateJob> or < UpdateJob> action.+-- | The provided AWS Key Management Service key lacks the permissions to perform the specified 'CreateJob' or 'UpdateJob' action.+--+-- _KMSRequestFailedException :: AsError a => Getting (First ServiceError) a ServiceError _KMSRequestFailedException = _ServiceError . hasCode "KMSRequestFailedException" --- | The action can\'t be performed because the job\'s current state doesn\'t allow that action to be performed.+-- | The action can't be performed because the job's current state doesn't allow that action to be performed.+--+-- _InvalidJobStateException :: AsError a => Getting (First ServiceError) a ServiceError _InvalidJobStateException = _ServiceError . hasCode "InvalidJobStateException" --- | The address provided was invalid. Check the address with your region\'s carrier, and try again.+-- | Job or cluster creation failed. One ore more inputs were invalid. Confirm that the 'CreateClusterRequest$SnowballType' value supports your 'CreateJobRequest$JobType' , and try again.+--+--+_InvalidInputCombinationException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidInputCombinationException =+ _ServiceError . hasCode "InvalidInputCombinationException"++-- | The address provided was invalid. Check the address with your region's carrier, and try again.+--+-- _InvalidAddressException :: AsError a => Getting (First ServiceError) a ServiceError _InvalidAddressException = _ServiceError . hasCode "InvalidAddressException"++-- | Job creation failed. Currently, clusters support five nodes. If you have less than five nodes for your cluster and you have more nodes to create for this cluster, try again and create jobs until your cluster has exactly five notes.+--+--+_ClusterLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError+_ClusterLimitExceededException =+ _ServiceError . hasCode "ClusterLimitExceededException"
gen/Network/AWS/Snowball/Types/Product.hs view
@@ -21,8 +21,10 @@ import Network.AWS.Prelude import Network.AWS.Snowball.Types.Sum --- | The address that you want the Snowball or Snowballs associated with a specific job to be shipped to. Addresses are validated at the time of creation. The address you provide must be located within the serviceable area of your region. Although no individual elements of the 'Address' are required, if the address is invalid or unsupported, then an exception is thrown.+-- | The address that you want the Snowball or Snowballs associated with a specific job to be shipped to. Addresses are validated at the time of creation. The address you provide must be located within the serviceable area of your region. Although no individual elements of the @Address@ are required, if the address is invalid or unsupported, then an exception is thrown. --+--+-- -- /See:/ 'address' smart constructor. data Address = Address' { _aStreet3 :: !(Maybe Text)@@ -44,31 +46,31 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'aStreet3'+-- * 'aStreet3' - The third line in a street address that a Snowball is to be delivered to. ----- * 'aLandmark'+-- * 'aLandmark' - The landmark identifying the address that the appliance will be shipped to. ----- * 'aPostalCode'+-- * 'aPostalCode' - The postal code in an address that a Snowball is to be delivered to. ----- * 'aCountry'+-- * 'aCountry' - The country in an address that a Snowball is to be delivered to. ----- * 'aStateOrProvince'+-- * 'aStateOrProvince' - The state or province in an address that a Snowball is to be delivered to. ----- * 'aStreet2'+-- * 'aStreet2' - The second line in a street address that a Snowball is to be delivered to. ----- * 'aAddressId'+-- * 'aAddressId' - The unique ID for an address. ----- * 'aCity'+-- * 'aCity' - The city in an address that a Snowball is to be delivered to. ----- * 'aPhoneNumber'+-- * 'aPhoneNumber' - The phone number associated with an address that a Snowball is to be delivered to. ----- * 'aCompany'+-- * 'aCompany' - The name of the company to receive a Snowball at an address. ----- * 'aName'+-- * 'aName' - The name of a person to receive a Snowball at an address. ----- * 'aPrefectureOrDistrict'+-- * 'aPrefectureOrDistrict' - The prefecture or district that the appliance will be shipped to. ----- * 'aStreet1'+-- * 'aStreet1' - The first line in a street address that a Snowball is to be delivered to. address :: Address address =@@ -92,7 +94,7 @@ aStreet3 :: Lens' Address (Maybe Text) aStreet3 = lens _aStreet3 (\ s a -> s{_aStreet3 = a}); --- | A landmark listed in an address that a Snowball is to be delivered to.+-- | The landmark identifying the address that the appliance will be shipped to. aLandmark :: Lens' Address (Maybe Text) aLandmark = lens _aLandmark (\ s a -> s{_aLandmark = a}); @@ -132,7 +134,7 @@ aName :: Lens' Address (Maybe Text) aName = lens _aName (\ s a -> s{_aName = a}); --- | The prefecture or district in an address that a Snowball is to be delivered to.+-- | The prefecture or district that the appliance will be shipped to. aPrefectureOrDistrict :: Lens' Address (Maybe Text) aPrefectureOrDistrict = lens _aPrefectureOrDistrict (\ s a -> s{_aPrefectureOrDistrict = a}); @@ -180,8 +182,206 @@ _aPrefectureOrDistrict, ("Street1" .=) <$> _aStreet1]) --- | Defines the real-time status of a Snowball\'s data transfer while the appliance is at AWS. Note that this data is only available while a job has a 'JobState' value of 'InProgress', for both import and export jobs.+-- | Contains a cluster's state, a cluster's ID, and other important information. --+--+--+-- /See:/ 'clusterListEntry' smart constructor.+data ClusterListEntry = ClusterListEntry'+ { _cleClusterState :: !(Maybe ClusterState)+ , _cleClusterId :: !(Maybe Text)+ , _cleCreationDate :: !(Maybe POSIX)+ , _cleDescription :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClusterListEntry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cleClusterState' - The current state of this cluster. For information about the state of a specific node, see 'JobListEntry$JobState' .+--+-- * 'cleClusterId' - The 39-character ID for the cluster that you want to list, for example @CID123e4567-e89b-12d3-a456-426655440000@ .+--+-- * 'cleCreationDate' - The creation date for this cluster.+--+-- * 'cleDescription' - Defines an optional description of the cluster, for example @Environmental Data Cluster-01@ .+clusterListEntry+ :: ClusterListEntry+clusterListEntry =+ ClusterListEntry'+ { _cleClusterState = Nothing+ , _cleClusterId = Nothing+ , _cleCreationDate = Nothing+ , _cleDescription = Nothing+ }++-- | The current state of this cluster. For information about the state of a specific node, see 'JobListEntry$JobState' .+cleClusterState :: Lens' ClusterListEntry (Maybe ClusterState)+cleClusterState = lens _cleClusterState (\ s a -> s{_cleClusterState = a});++-- | The 39-character ID for the cluster that you want to list, for example @CID123e4567-e89b-12d3-a456-426655440000@ .+cleClusterId :: Lens' ClusterListEntry (Maybe Text)+cleClusterId = lens _cleClusterId (\ s a -> s{_cleClusterId = a});++-- | The creation date for this cluster.+cleCreationDate :: Lens' ClusterListEntry (Maybe UTCTime)+cleCreationDate = lens _cleCreationDate (\ s a -> s{_cleCreationDate = a}) . mapping _Time;++-- | Defines an optional description of the cluster, for example @Environmental Data Cluster-01@ .+cleDescription :: Lens' ClusterListEntry (Maybe Text)+cleDescription = lens _cleDescription (\ s a -> s{_cleDescription = a});++instance FromJSON ClusterListEntry where+ parseJSON+ = withObject "ClusterListEntry"+ (\ x ->+ ClusterListEntry' <$>+ (x .:? "ClusterState") <*> (x .:? "ClusterId") <*>+ (x .:? "CreationDate")+ <*> (x .:? "Description"))++instance Hashable ClusterListEntry++instance NFData ClusterListEntry++-- | Contains metadata about a specific cluster.+--+--+--+-- /See:/ 'clusterMetadata' smart constructor.+data ClusterMetadata = ClusterMetadata'+ { _cmJobType :: !(Maybe JobType)+ , _cmKMSKeyARN :: !(Maybe Text)+ , _cmClusterState :: !(Maybe ClusterState)+ , _cmNotification :: !(Maybe Notification)+ , _cmAddressId :: !(Maybe Text)+ , _cmSnowballType :: !(Maybe SnowballType)+ , _cmShippingOption :: !(Maybe ShippingOption)+ , _cmResources :: !(Maybe JobResource)+ , _cmClusterId :: !(Maybe Text)+ , _cmCreationDate :: !(Maybe POSIX)+ , _cmDescription :: !(Maybe Text)+ , _cmRoleARN :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClusterMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cmJobType' - The type of job for this cluster. Currently, the only job type supported for clusters is @LOCAL_USE@ .+--+-- * 'cmKMSKeyARN' - The @KmsKeyARN@ Amazon Resource Name (ARN) associated with this cluster. This ARN was created using the <http://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html CreateKey> API action in AWS Key Management Service (AWS KMS).+--+-- * 'cmClusterState' - The current status of the cluster.+--+-- * 'cmNotification' - The Amazon Simple Notification Service (Amazon SNS) notification settings for this cluster.+--+-- * 'cmAddressId' - The automatically generated ID for a specific address.+--+-- * 'cmSnowballType' - The type of AWS Snowball appliance to use for this cluster. Currently, the only supported appliance type for cluster jobs is @EDGE@ .+--+-- * 'cmShippingOption' - The shipping speed for each node in this cluster. This speed doesn't dictate how soon you'll get each Snowball Edge appliance, rather it represents how quickly each appliance moves to its destination while in transit. Regional shipping speeds are as follows: * In Australia, you have access to express shipping. Typically, appliances shipped express are delivered in about a day. * In the European Union (EU), you have access to express shipping. Typically, Snowball Edges shipped express are delivered in about a day. In addition, most countries in the EU have access to standard shipping, which typically takes less than a week, one way. * In India, Snowball Edges are delivered in one to seven days. * In the US, you have access to one-day shipping and two-day shipping.+--+-- * 'cmResources' - The arrays of 'JobResource' objects that can include updated 'S3Resource' objects or 'LambdaResource' objects.+--+-- * 'cmClusterId' - The automatically generated ID for a cluster.+--+-- * 'cmCreationDate' - The creation date for this cluster.+--+-- * 'cmDescription' - The optional description of the cluster.+--+-- * 'cmRoleARN' - The role ARN associated with this cluster. This ARN was created using the <http://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html CreateRole> API action in AWS Identity and Access Management (IAM).+clusterMetadata+ :: ClusterMetadata+clusterMetadata =+ ClusterMetadata'+ { _cmJobType = Nothing+ , _cmKMSKeyARN = Nothing+ , _cmClusterState = Nothing+ , _cmNotification = Nothing+ , _cmAddressId = Nothing+ , _cmSnowballType = Nothing+ , _cmShippingOption = Nothing+ , _cmResources = Nothing+ , _cmClusterId = Nothing+ , _cmCreationDate = Nothing+ , _cmDescription = Nothing+ , _cmRoleARN = Nothing+ }++-- | The type of job for this cluster. Currently, the only job type supported for clusters is @LOCAL_USE@ .+cmJobType :: Lens' ClusterMetadata (Maybe JobType)+cmJobType = lens _cmJobType (\ s a -> s{_cmJobType = a});++-- | The @KmsKeyARN@ Amazon Resource Name (ARN) associated with this cluster. This ARN was created using the <http://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html CreateKey> API action in AWS Key Management Service (AWS KMS).+cmKMSKeyARN :: Lens' ClusterMetadata (Maybe Text)+cmKMSKeyARN = lens _cmKMSKeyARN (\ s a -> s{_cmKMSKeyARN = a});++-- | The current status of the cluster.+cmClusterState :: Lens' ClusterMetadata (Maybe ClusterState)+cmClusterState = lens _cmClusterState (\ s a -> s{_cmClusterState = a});++-- | The Amazon Simple Notification Service (Amazon SNS) notification settings for this cluster.+cmNotification :: Lens' ClusterMetadata (Maybe Notification)+cmNotification = lens _cmNotification (\ s a -> s{_cmNotification = a});++-- | The automatically generated ID for a specific address.+cmAddressId :: Lens' ClusterMetadata (Maybe Text)+cmAddressId = lens _cmAddressId (\ s a -> s{_cmAddressId = a});++-- | The type of AWS Snowball appliance to use for this cluster. Currently, the only supported appliance type for cluster jobs is @EDGE@ .+cmSnowballType :: Lens' ClusterMetadata (Maybe SnowballType)+cmSnowballType = lens _cmSnowballType (\ s a -> s{_cmSnowballType = a});++-- | The shipping speed for each node in this cluster. This speed doesn't dictate how soon you'll get each Snowball Edge appliance, rather it represents how quickly each appliance moves to its destination while in transit. Regional shipping speeds are as follows: * In Australia, you have access to express shipping. Typically, appliances shipped express are delivered in about a day. * In the European Union (EU), you have access to express shipping. Typically, Snowball Edges shipped express are delivered in about a day. In addition, most countries in the EU have access to standard shipping, which typically takes less than a week, one way. * In India, Snowball Edges are delivered in one to seven days. * In the US, you have access to one-day shipping and two-day shipping.+cmShippingOption :: Lens' ClusterMetadata (Maybe ShippingOption)+cmShippingOption = lens _cmShippingOption (\ s a -> s{_cmShippingOption = a});++-- | The arrays of 'JobResource' objects that can include updated 'S3Resource' objects or 'LambdaResource' objects.+cmResources :: Lens' ClusterMetadata (Maybe JobResource)+cmResources = lens _cmResources (\ s a -> s{_cmResources = a});++-- | The automatically generated ID for a cluster.+cmClusterId :: Lens' ClusterMetadata (Maybe Text)+cmClusterId = lens _cmClusterId (\ s a -> s{_cmClusterId = a});++-- | The creation date for this cluster.+cmCreationDate :: Lens' ClusterMetadata (Maybe UTCTime)+cmCreationDate = lens _cmCreationDate (\ s a -> s{_cmCreationDate = a}) . mapping _Time;++-- | The optional description of the cluster.+cmDescription :: Lens' ClusterMetadata (Maybe Text)+cmDescription = lens _cmDescription (\ s a -> s{_cmDescription = a});++-- | The role ARN associated with this cluster. This ARN was created using the <http://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html CreateRole> API action in AWS Identity and Access Management (IAM).+cmRoleARN :: Lens' ClusterMetadata (Maybe Text)+cmRoleARN = lens _cmRoleARN (\ s a -> s{_cmRoleARN = a});++instance FromJSON ClusterMetadata where+ parseJSON+ = withObject "ClusterMetadata"+ (\ x ->+ ClusterMetadata' <$>+ (x .:? "JobType") <*> (x .:? "KmsKeyARN") <*>+ (x .:? "ClusterState")+ <*> (x .:? "Notification")+ <*> (x .:? "AddressId")+ <*> (x .:? "SnowballType")+ <*> (x .:? "ShippingOption")+ <*> (x .:? "Resources")+ <*> (x .:? "ClusterId")+ <*> (x .:? "CreationDate")+ <*> (x .:? "Description")+ <*> (x .:? "RoleARN"))++instance Hashable ClusterMetadata++instance NFData ClusterMetadata++-- | Defines the real-time status of a Snowball's data transfer while the appliance is at AWS. This data is only available while a job has a @JobState@ value of @InProgress@ , for both import and export jobs.+--+--+-- -- /See:/ 'dataTransfer' smart constructor. data DataTransfer = DataTransfer' { _dtTotalObjects :: !(Maybe Integer)@@ -194,13 +394,13 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'dtTotalObjects'+-- * 'dtTotalObjects' - The total number of objects for a transfer between a Snowball and Amazon S3. This value is set to 0 (zero) until all the keys that will be transferred have been listed. ----- * 'dtTotalBytes'+-- * 'dtTotalBytes' - The total bytes of data for a transfer between a Snowball and Amazon S3. This value is set to 0 (zero) until all the keys that will be transferred have been listed. ----- * 'dtObjectsTransferred'+-- * 'dtObjectsTransferred' - The number of objects transferred between a Snowball and Amazon S3. ----- * 'dtBytesTransferred'+-- * 'dtBytesTransferred' - The number of bytes transferred between a Snowball and Amazon S3. dataTransfer :: DataTransfer dataTransfer =@@ -240,34 +440,98 @@ instance NFData DataTransfer --- | Each 'JobListEntry' object contains a job\'s state, a job\'s ID, and a value that indicates whether the job is a job part, in the case of an export job.+-- | The container for the 'EventTriggerDefinition$EventResourceARN' . --+--+--+-- /See:/ 'eventTriggerDefinition' smart constructor.+newtype EventTriggerDefinition = EventTriggerDefinition'+ { _etdEventResourceARN :: Maybe Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventTriggerDefinition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'etdEventResourceARN' - The Amazon Resource Name (ARN) for any local Amazon S3 resource that is an AWS Lambda function's event trigger associated with this job.+eventTriggerDefinition+ :: EventTriggerDefinition+eventTriggerDefinition =+ EventTriggerDefinition'+ { _etdEventResourceARN = Nothing+ }++-- | The Amazon Resource Name (ARN) for any local Amazon S3 resource that is an AWS Lambda function's event trigger associated with this job.+etdEventResourceARN :: Lens' EventTriggerDefinition (Maybe Text)+etdEventResourceARN = lens _etdEventResourceARN (\ s a -> s{_etdEventResourceARN = a});++instance FromJSON EventTriggerDefinition where+ parseJSON+ = withObject "EventTriggerDefinition"+ (\ x ->+ EventTriggerDefinition' <$>+ (x .:? "EventResourceARN"))++instance Hashable EventTriggerDefinition++instance NFData EventTriggerDefinition++instance ToJSON EventTriggerDefinition where+ toJSON EventTriggerDefinition'{..}+ = object+ (catMaybes+ [("EventResourceARN" .=) <$> _etdEventResourceARN])++-- | Each @JobListEntry@ object contains a job's state, a job's ID, and a value that indicates whether the job is a job part, in the case of an export job.+--+--+-- -- /See:/ 'jobListEntry' smart constructor. data JobListEntry = JobListEntry'- { _jleJobId :: !(Maybe Text)- , _jleJobState :: !(Maybe JobState)- , _jleIsMaster :: !(Maybe Bool)+ { _jleJobType :: !(Maybe JobType)+ , _jleJobId :: !(Maybe Text)+ , _jleJobState :: !(Maybe JobState)+ , _jleSnowballType :: !(Maybe SnowballType)+ , _jleCreationDate :: !(Maybe POSIX)+ , _jleDescription :: !(Maybe Text)+ , _jleIsMaster :: !(Maybe Bool) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'JobListEntry' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'jleJobId'+-- * 'jleJobType' - The type of job. ----- * 'jleJobState'+-- * 'jleJobId' - The automatically generated ID for a job, for example @JID123e4567-e89b-12d3-a456-426655440000@ . ----- * 'jleIsMaster'+-- * 'jleJobState' - The current state of this job.+--+-- * 'jleSnowballType' - The type of appliance used with this job.+--+-- * 'jleCreationDate' - The creation date for this job.+--+-- * 'jleDescription' - The optional description of this specific job, for example @Important Photos 2016-08-11@ .+--+-- * 'jleIsMaster' - A value that indicates that this job is a master job. A master job represents a successful request to create an export job. Master jobs aren't associated with any Snowballs. Instead, each master job will have at least one job part, and each job part is associated with a Snowball. It might take some time before the job parts associated with a particular master job are listed, because they are created after the master job is created. jobListEntry :: JobListEntry jobListEntry = JobListEntry'- { _jleJobId = Nothing+ { _jleJobType = Nothing+ , _jleJobId = Nothing , _jleJobState = Nothing+ , _jleSnowballType = Nothing+ , _jleCreationDate = Nothing+ , _jleDescription = Nothing , _jleIsMaster = Nothing } --- | The automatically generated ID for a job, for example 'JID123e4567-e89b-12d3-a456-426655440000'.+-- | The type of job.+jleJobType :: Lens' JobListEntry (Maybe JobType)+jleJobType = lens _jleJobType (\ s a -> s{_jleJobType = a});++-- | The automatically generated ID for a job, for example @JID123e4567-e89b-12d3-a456-426655440000@ . jleJobId :: Lens' JobListEntry (Maybe Text) jleJobId = lens _jleJobId (\ s a -> s{_jleJobId = a}); @@ -275,7 +539,19 @@ jleJobState :: Lens' JobListEntry (Maybe JobState) jleJobState = lens _jleJobState (\ s a -> s{_jleJobState = a}); --- | A value that indicates that this job is a master job. A master job represents a successful request to create an export job. Master jobs aren\'t associated with any Snowballs. Instead, each master job will have at least one job part, and each job part is associated with a Snowball. It might take some time before the job parts associated with a particular master job are listed, because they are created after the master job is created.+-- | The type of appliance used with this job.+jleSnowballType :: Lens' JobListEntry (Maybe SnowballType)+jleSnowballType = lens _jleSnowballType (\ s a -> s{_jleSnowballType = a});++-- | The creation date for this job.+jleCreationDate :: Lens' JobListEntry (Maybe UTCTime)+jleCreationDate = lens _jleCreationDate (\ s a -> s{_jleCreationDate = a}) . mapping _Time;++-- | The optional description of this specific job, for example @Important Photos 2016-08-11@ .+jleDescription :: Lens' JobListEntry (Maybe Text)+jleDescription = lens _jleDescription (\ s a -> s{_jleDescription = a});++-- | A value that indicates that this job is a master job. A master job represents a successful request to create an export job. Master jobs aren't associated with any Snowballs. Instead, each master job will have at least one job part, and each job part is associated with a Snowball. It might take some time before the job parts associated with a particular master job are listed, because they are created after the master job is created. jleIsMaster :: Lens' JobListEntry (Maybe Bool) jleIsMaster = lens _jleIsMaster (\ s a -> s{_jleIsMaster = a}); @@ -284,21 +560,27 @@ = withObject "JobListEntry" (\ x -> JobListEntry' <$>- (x .:? "JobId") <*> (x .:? "JobState") <*>- (x .:? "IsMaster"))+ (x .:? "JobType") <*> (x .:? "JobId") <*>+ (x .:? "JobState")+ <*> (x .:? "SnowballType")+ <*> (x .:? "CreationDate")+ <*> (x .:? "Description")+ <*> (x .:? "IsMaster")) instance Hashable JobListEntry instance NFData JobListEntry --- | Contains job logs. Whenever Snowball is used to import data into or export data out of Amazon S3, you\'ll have the option of downloading a PDF job report. Job logs are returned as a part of the response syntax of the 'DescribeJob' action in the 'JobMetadata' data type. The job logs can be accessed for up to 60 minutes after this request has been made. To access any of the job logs after 60 minutes have passed, you\'ll have to make another call to the 'DescribeJob' action.+-- | Contains job logs. Whenever Snowball is used to import data into or export data out of Amazon S3, you'll have the option of downloading a PDF job report. Job logs are returned as a part of the response syntax of the @DescribeJob@ action in the @JobMetadata@ data type. The job logs can be accessed for up to 60 minutes after this request has been made. To access any of the job logs after 60 minutes have passed, you'll have to make another call to the @DescribeJob@ action. --+-- -- For import jobs, the PDF job report becomes available at the end of the import process. For export jobs, your job report typically becomes available while the Snowball for your job part is being delivered to you. -- -- The job report provides you insight into the state of your Amazon S3 data transfer. The report includes details about your job or job part for your records. -- -- For deeper visibility into the status of your transferred objects, you can look at the two associated logs: a success log and a failure log. The logs are saved in comma-separated value (CSV) format, and the name of each log includes the ID of the job or job part that the log describes. --+-- -- /See:/ 'jobLogs' smart constructor. data JobLogs = JobLogs' { _jlJobFailureLogURI :: !(Maybe Text)@@ -310,11 +592,11 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'jlJobFailureLogURI'+-- * 'jlJobFailureLogURI' - A link to an Amazon S3 presigned URL where the job failure log is located. ----- * 'jlJobCompletionReportURI'+-- * 'jlJobCompletionReportURI' - A link to an Amazon S3 presigned URL where the job completion report is located. ----- * 'jlJobSuccessLogURI'+-- * 'jlJobSuccessLogURI' - A link to an Amazon S3 presigned URL where the job success log is located. jobLogs :: JobLogs jobLogs =@@ -349,8 +631,10 @@ instance NFData JobLogs --- | Contains information about a specific job including shipping information, job status, and other important metadata. This information is returned as a part of the response syntax of the 'DescribeJob' action.+-- | Contains information about a specific job including shipping information, job status, and other important metadata. This information is returned as a part of the response syntax of the @DescribeJob@ action. --+--+-- -- /See:/ 'jobMetadata' smart constructor. data JobMetadata = JobMetadata' { _jmJobType :: !(Maybe JobType)@@ -361,8 +645,10 @@ , _jmJobState :: !(Maybe JobState) , _jmShippingDetails :: !(Maybe ShippingDetails) , _jmAddressId :: !(Maybe Text)+ , _jmSnowballType :: !(Maybe SnowballType) , _jmDataTransferProgress :: !(Maybe DataTransfer) , _jmResources :: !(Maybe JobResource)+ , _jmClusterId :: !(Maybe Text) , _jmCreationDate :: !(Maybe POSIX) , _jmDescription :: !(Maybe Text) , _jmRoleARN :: !(Maybe Text)@@ -373,33 +659,37 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'jmJobType'+-- * 'jmJobType' - The type of job. ----- * 'jmKMSKeyARN'+-- * 'jmKMSKeyARN' - The Amazon Resource Name (ARN) for the AWS Key Management Service (AWS KMS) key associated with this job. This ARN was created using the @CreateKey@ API action in AWS KMS. ----- * 'jmJobId'+-- * 'jmJobId' - The automatically generated ID for a job, for example @JID123e4567-e89b-12d3-a456-426655440000@ . ----- * 'jmJobLogInfo'+-- * 'jmJobLogInfo' - Links to Amazon S3 presigned URLs for the job report and logs. For import jobs, the PDF job report becomes available at the end of the import process. For export jobs, your job report typically becomes available while the Snowball for your job part is being delivered to you. ----- * 'jmNotification'+-- * 'jmNotification' - The Amazon Simple Notification Service (Amazon SNS) notification settings associated with a specific job. The @Notification@ object is returned as a part of the response syntax of the @DescribeJob@ action in the @JobMetadata@ data type. ----- * 'jmJobState'+-- * 'jmJobState' - The current status of the jobs. ----- * 'jmShippingDetails'+-- * 'jmShippingDetails' - A job's shipping information, including inbound and outbound tracking numbers and shipping speed options. ----- * 'jmAddressId'+-- * 'jmAddressId' - The ID for the address that you want the Snowball shipped to. ----- * 'jmDataTransferProgress'+-- * 'jmSnowballType' - The type of appliance used with this job. ----- * 'jmResources'+-- * 'jmDataTransferProgress' - A value that defines the real-time status of a Snowball's data transfer while the appliance is at AWS. This data is only available while a job has a @JobState@ value of @InProgress@ , for both import and export jobs. ----- * 'jmCreationDate'+-- * 'jmResources' - An array of @S3Resource@ objects. Each @S3Resource@ object represents an Amazon S3 bucket that your transferred data will be exported from or imported into. ----- * 'jmDescription'+-- * 'jmClusterId' - The 39-character ID for the cluster, for example @CID123e4567-e89b-12d3-a456-426655440000@ . ----- * 'jmRoleARN'+-- * 'jmCreationDate' - The creation date for this job. ----- * 'jmSnowballCapacityPreference'+-- * 'jmDescription' - The description of the job, provided at job creation.+--+-- * 'jmRoleARN' - The role ARN associated with this job. This ARN was created using the @CreateRole@ API action in AWS Identity and Access Management (IAM).+--+-- * 'jmSnowballCapacityPreference' - The Snowball capacity preference for this job, specified at job creation. In US regions, you can choose between 50 TB and 80 TB Snowballs. All other regions use 80 TB capacity Snowballs. jobMetadata :: JobMetadata jobMetadata =@@ -412,8 +702,10 @@ , _jmJobState = Nothing , _jmShippingDetails = Nothing , _jmAddressId = Nothing+ , _jmSnowballType = Nothing , _jmDataTransferProgress = Nothing , _jmResources = Nothing+ , _jmClusterId = Nothing , _jmCreationDate = Nothing , _jmDescription = Nothing , _jmRoleARN = Nothing@@ -424,11 +716,11 @@ jmJobType :: Lens' JobMetadata (Maybe JobType) jmJobType = lens _jmJobType (\ s a -> s{_jmJobType = a}); --- | The Amazon Resource Name (ARN) for the AWS Key Management Service (AWS KMS) key associated with this job. This ARN was created using the 'CreateKey' API action in AWS KMS.+-- | The Amazon Resource Name (ARN) for the AWS Key Management Service (AWS KMS) key associated with this job. This ARN was created using the @CreateKey@ API action in AWS KMS. jmKMSKeyARN :: Lens' JobMetadata (Maybe Text) jmKMSKeyARN = lens _jmKMSKeyARN (\ s a -> s{_jmKMSKeyARN = a}); --- | The automatically generated ID for a job, for example 'JID123e4567-e89b-12d3-a456-426655440000'.+-- | The automatically generated ID for a job, for example @JID123e4567-e89b-12d3-a456-426655440000@ . jmJobId :: Lens' JobMetadata (Maybe Text) jmJobId = lens _jmJobId (\ s a -> s{_jmJobId = a}); @@ -436,15 +728,15 @@ jmJobLogInfo :: Lens' JobMetadata (Maybe JobLogs) jmJobLogInfo = lens _jmJobLogInfo (\ s a -> s{_jmJobLogInfo = a}); --- | The Amazon Simple Notification Service (Amazon SNS) notification settings associated with a specific job. The 'Notification' object is returned as a part of the response syntax of the 'DescribeJob' action in the 'JobMetadata' data type.+-- | The Amazon Simple Notification Service (Amazon SNS) notification settings associated with a specific job. The @Notification@ object is returned as a part of the response syntax of the @DescribeJob@ action in the @JobMetadata@ data type. jmNotification :: Lens' JobMetadata (Maybe Notification) jmNotification = lens _jmNotification (\ s a -> s{_jmNotification = a}); --- | The current state of the jobs.+-- | The current status of the jobs. jmJobState :: Lens' JobMetadata (Maybe JobState) jmJobState = lens _jmJobState (\ s a -> s{_jmJobState = a}); --- | A job\'s shipping information, including inbound and outbound tracking numbers and shipping speed options.+-- | A job's shipping information, including inbound and outbound tracking numbers and shipping speed options. jmShippingDetails :: Lens' JobMetadata (Maybe ShippingDetails) jmShippingDetails = lens _jmShippingDetails (\ s a -> s{_jmShippingDetails = a}); @@ -452,14 +744,22 @@ jmAddressId :: Lens' JobMetadata (Maybe Text) jmAddressId = lens _jmAddressId (\ s a -> s{_jmAddressId = a}); --- | A value that defines the real-time status of a Snowball\'s data transfer while the appliance is at AWS. Note that this data is only available while a job has a 'JobState' value of 'InProgress', for both import and export jobs.+-- | The type of appliance used with this job.+jmSnowballType :: Lens' JobMetadata (Maybe SnowballType)+jmSnowballType = lens _jmSnowballType (\ s a -> s{_jmSnowballType = a});++-- | A value that defines the real-time status of a Snowball's data transfer while the appliance is at AWS. This data is only available while a job has a @JobState@ value of @InProgress@ , for both import and export jobs. jmDataTransferProgress :: Lens' JobMetadata (Maybe DataTransfer) jmDataTransferProgress = lens _jmDataTransferProgress (\ s a -> s{_jmDataTransferProgress = a}); --- | An array of 'S3Resource' objects. Each 'S3Resource' object represents an Amazon S3 bucket that your transferred data will be exported from or imported into.+-- | An array of @S3Resource@ objects. Each @S3Resource@ object represents an Amazon S3 bucket that your transferred data will be exported from or imported into. jmResources :: Lens' JobMetadata (Maybe JobResource) jmResources = lens _jmResources (\ s a -> s{_jmResources = a}); +-- | The 39-character ID for the cluster, for example @CID123e4567-e89b-12d3-a456-426655440000@ .+jmClusterId :: Lens' JobMetadata (Maybe Text)+jmClusterId = lens _jmClusterId (\ s a -> s{_jmClusterId = a});+ -- | The creation date for this job. jmCreationDate :: Lens' JobMetadata (Maybe UTCTime) jmCreationDate = lens _jmCreationDate (\ s a -> s{_jmCreationDate = a}) . mapping _Time;@@ -468,7 +768,7 @@ jmDescription :: Lens' JobMetadata (Maybe Text) jmDescription = lens _jmDescription (\ s a -> s{_jmDescription = a}); --- | The role ARN associated with this job. This ARN was created using the 'CreateRole' API action in AWS Identity and Access Management (IAM).+-- | The role ARN associated with this job. This ARN was created using the @CreateRole@ API action in AWS Identity and Access Management (IAM). jmRoleARN :: Lens' JobMetadata (Maybe Text) jmRoleARN = lens _jmRoleARN (\ s a -> s{_jmRoleARN = a}); @@ -488,8 +788,10 @@ <*> (x .:? "JobState") <*> (x .:? "ShippingDetails") <*> (x .:? "AddressId")+ <*> (x .:? "SnowballType") <*> (x .:? "DataTransferProgress") <*> (x .:? "Resources")+ <*> (x .:? "ClusterId") <*> (x .:? "CreationDate") <*> (x .:? "Description") <*> (x .:? "RoleARN")@@ -499,26 +801,36 @@ instance NFData JobMetadata --- | Contains an array of 'S3Resource' objects. Each 'S3Resource' object represents an Amazon S3 bucket that your transferred data will be exported from or imported into.+-- | Contains an array of @S3Resource@ objects. Each @S3Resource@ object represents an Amazon S3 bucket that your transferred data will be exported from or imported into. --+--+-- -- /See:/ 'jobResource' smart constructor.-newtype JobResource = JobResource'- { _jrS3Resources :: Maybe [S3Resource]+data JobResource = JobResource'+ { _jrLambdaResources :: !(Maybe [LambdaResource])+ , _jrS3Resources :: !(Maybe [S3Resource]) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'JobResource' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'jrS3Resources'+-- * 'jrLambdaResources' - The Python-language Lambda functions for this job.+--+-- * 'jrS3Resources' - An array of @S3Resource@ objects. jobResource :: JobResource jobResource = JobResource'- { _jrS3Resources = Nothing+ { _jrLambdaResources = Nothing+ , _jrS3Resources = Nothing } --- | An array of 'S3Resource' objects.+-- | The Python-language Lambda functions for this job.+jrLambdaResources :: Lens' JobResource [LambdaResource]+jrLambdaResources = lens _jrLambdaResources (\ s a -> s{_jrLambdaResources = a}) . _Default . _Coerce;++-- | An array of @S3Resource@ objects. jrS3Resources :: Lens' JobResource [S3Resource] jrS3Resources = lens _jrS3Resources (\ s a -> s{_jrS3Resources = a}) . _Default . _Coerce; @@ -526,7 +838,9 @@ parseJSON = withObject "JobResource" (\ x ->- JobResource' <$> (x .:? "S3Resources" .!= mempty))+ JobResource' <$>+ (x .:? "LambdaResources" .!= mempty) <*>+ (x .:? "S3Resources" .!= mempty)) instance Hashable JobResource @@ -535,10 +849,14 @@ instance ToJSON JobResource where toJSON JobResource'{..} = object- (catMaybes [("S3Resources" .=) <$> _jrS3Resources])+ (catMaybes+ [("LambdaResources" .=) <$> _jrLambdaResources,+ ("S3Resources" .=) <$> _jrS3Resources]) --- | Contains a key range. For export jobs, a 'S3Resource' object can have an optional 'KeyRange' value. The length of the range is defined at job creation, and has either an inclusive 'BeginMarker', an inclusive 'EndMarker', or both. Ranges are UTF-8 binary sorted.+-- | Contains a key range. For export jobs, a @S3Resource@ object can have an optional @KeyRange@ value. The length of the range is defined at job creation, and has either an inclusive @BeginMarker@ , an inclusive @EndMarker@ , or both. Ranges are UTF-8 binary sorted. --+--+-- -- /See:/ 'keyRange' smart constructor. data KeyRange = KeyRange' { _krEndMarker :: !(Maybe Text)@@ -549,9 +867,9 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'krEndMarker'+-- * 'krEndMarker' - The key that ends an optional key range for an export job. Ranges are inclusive and UTF-8 binary sorted. ----- * 'krBeginMarker'+-- * 'krBeginMarker' - The key that starts an optional key range for an export job. Ranges are inclusive and UTF-8 binary sorted. keyRange :: KeyRange keyRange =@@ -586,10 +904,64 @@ [("EndMarker" .=) <$> _krEndMarker, ("BeginMarker" .=) <$> _krBeginMarker]) --- | The Amazon Simple Notification Service (Amazon SNS) notification settings associated with a specific job. The 'Notification' object is returned as a part of the response syntax of the 'DescribeJob' action in the 'JobMetadata' data type.+-- | Identifies ----- When the notification settings are defined during job creation, you can choose to notify based on a specific set of job states using the 'JobStatesToNotify' array of strings, or you can specify that you want to have Amazon SNS notifications sent out for all job states with 'NotifyAll' set to true. --+--+-- /See:/ 'lambdaResource' smart constructor.+data LambdaResource = LambdaResource'+ { _lrEventTriggers :: !(Maybe [EventTriggerDefinition])+ , _lrLambdaARN :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'LambdaResource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lrEventTriggers' - The array of ARNs for 'S3Resource' objects to trigger the 'LambdaResource' objects associated with this job.+--+-- * 'lrLambdaARN' - An Amazon Resource Name (ARN) that represents an AWS Lambda function to be triggered by PUT object actions on the associated local Amazon S3 resource.+lambdaResource+ :: LambdaResource+lambdaResource =+ LambdaResource'+ { _lrEventTriggers = Nothing+ , _lrLambdaARN = Nothing+ }++-- | The array of ARNs for 'S3Resource' objects to trigger the 'LambdaResource' objects associated with this job.+lrEventTriggers :: Lens' LambdaResource [EventTriggerDefinition]+lrEventTriggers = lens _lrEventTriggers (\ s a -> s{_lrEventTriggers = a}) . _Default . _Coerce;++-- | An Amazon Resource Name (ARN) that represents an AWS Lambda function to be triggered by PUT object actions on the associated local Amazon S3 resource.+lrLambdaARN :: Lens' LambdaResource (Maybe Text)+lrLambdaARN = lens _lrLambdaARN (\ s a -> s{_lrLambdaARN = a});++instance FromJSON LambdaResource where+ parseJSON+ = withObject "LambdaResource"+ (\ x ->+ LambdaResource' <$>+ (x .:? "EventTriggers" .!= mempty) <*>+ (x .:? "LambdaArn"))++instance Hashable LambdaResource++instance NFData LambdaResource++instance ToJSON LambdaResource where+ toJSON LambdaResource'{..}+ = object+ (catMaybes+ [("EventTriggers" .=) <$> _lrEventTriggers,+ ("LambdaArn" .=) <$> _lrLambdaARN])++-- | The Amazon Simple Notification Service (Amazon SNS) notification settings associated with a specific job. The @Notification@ object is returned as a part of the response syntax of the @DescribeJob@ action in the @JobMetadata@ data type.+--+--+-- When the notification settings are defined during job creation, you can choose to notify based on a specific set of job states using the @JobStatesToNotify@ array of strings, or you can specify that you want to have Amazon SNS notifications sent out for all job states with @NotifyAll@ set to true.+--+-- -- /See:/ 'notification' smart constructor. data Notification = Notification' { _nNotifyAll :: !(Maybe Bool)@@ -601,11 +973,11 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'nNotifyAll'+-- * 'nNotifyAll' - Any change in job state will trigger a notification for this job. ----- * 'nSNSTopicARN'+-- * 'nSNSTopicARN' - The new SNS @TopicArn@ that you want to associate with this job. You can create Amazon Resource Names (ARNs) for topics by using the <http://docs.aws.amazon.com/sns/latest/api/API_CreateTopic.html CreateTopic> Amazon SNS API action. You can subscribe email addresses to an Amazon SNS topic through the AWS Management Console, or by using the <http://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html Subscribe> AWS Simple Notification Service (SNS) API action. ----- * 'nJobStatesToNotify'+-- * 'nJobStatesToNotify' - The list of job states that will trigger a notification for this job. notification :: Notification notification =@@ -619,9 +991,7 @@ nNotifyAll :: Lens' Notification (Maybe Bool) nNotifyAll = lens _nNotifyAll (\ s a -> s{_nNotifyAll = a}); --- | The new SNS 'TopicArn' that you want to associate with this job. You can create Amazon Resource Names (ARNs) for topics by using the <http://docs.aws.amazon.com/sns/latest/api/API_CreateTopic.html CreateTopic> Amazon SNS API action.------ Note that you can subscribe email addresses to an Amazon SNS topic through the AWS Management Console, or by using the <http://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html Subscribe> AWS Simple Notification Service (SNS) API action.+-- | The new SNS @TopicArn@ that you want to associate with this job. You can create Amazon Resource Names (ARNs) for topics by using the <http://docs.aws.amazon.com/sns/latest/api/API_CreateTopic.html CreateTopic> Amazon SNS API action. You can subscribe email addresses to an Amazon SNS topic through the AWS Management Console, or by using the <http://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html Subscribe> AWS Simple Notification Service (SNS) API action. nSNSTopicARN :: Lens' Notification (Maybe Text) nSNSTopicARN = lens _nSNSTopicARN (\ s a -> s{_nSNSTopicARN = a}); @@ -649,8 +1019,10 @@ ("SnsTopicARN" .=) <$> _nSNSTopicARN, ("JobStatesToNotify" .=) <$> _nJobStatesToNotify]) --- | Each 'S3Resource' object represents an Amazon S3 bucket that your transferred data will be exported from or imported into. For export jobs, this object can have an optional 'KeyRange' value. The length of the range is defined at job creation, and has either an inclusive 'BeginMarker', an inclusive 'EndMarker', or both. Ranges are UTF-8 binary sorted.+-- | Each @S3Resource@ object represents an Amazon S3 bucket that your transferred data will be exported from or imported into. For export jobs, this object can have an optional @KeyRange@ value. The length of the range is defined at job creation, and has either an inclusive @BeginMarker@ , an inclusive @EndMarker@ , or both. Ranges are UTF-8 binary sorted. --+--+-- -- /See:/ 's3Resource' smart constructor. data S3Resource = S3Resource' { _srKeyRange :: !(Maybe KeyRange)@@ -661,9 +1033,9 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'srKeyRange'+-- * 'srKeyRange' - For export jobs, you can provide an optional @KeyRange@ within a specific Amazon S3 bucket. The length of the range is defined at job creation, and has either an inclusive @BeginMarker@ , an inclusive @EndMarker@ , or both. Ranges are UTF-8 binary sorted. ----- * 'srBucketARN'+-- * 'srBucketARN' - The Amazon Resource Name (ARN) of an Amazon S3 bucket. s3Resource :: S3Resource s3Resource =@@ -672,7 +1044,7 @@ , _srBucketARN = Nothing } --- | For export jobs, you can provide an optional 'KeyRange' within a specific Amazon S3 bucket. The length of the range is defined at job creation, and has either an inclusive 'BeginMarker', an inclusive 'EndMarker', or both. Ranges are UTF-8 binary sorted.+-- | For export jobs, you can provide an optional @KeyRange@ within a specific Amazon S3 bucket. The length of the range is defined at job creation, and has either an inclusive @BeginMarker@ , an inclusive @EndMarker@ , or both. Ranges are UTF-8 binary sorted. srKeyRange :: Lens' S3Resource (Maybe KeyRange) srKeyRange = lens _srKeyRange (\ s a -> s{_srKeyRange = a}); @@ -698,8 +1070,10 @@ [("KeyRange" .=) <$> _srKeyRange, ("BucketArn" .=) <$> _srBucketARN]) --- | The 'Status' and 'TrackingNumber' information for an inbound or outbound shipment.+-- | The @Status@ and @TrackingNumber@ information for an inbound or outbound shipment. --+--+-- -- /See:/ 'shipment' smart constructor. data Shipment = Shipment' { _sStatus :: !(Maybe Text)@@ -710,9 +1084,9 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'sStatus'+-- * 'sStatus' - Status information for a shipment. Valid statuses include @NEW@ , @IN_TRANSIT@ , and @DELIVERED@ . ----- * 'sTrackingNumber'+-- * 'sTrackingNumber' - The tracking number for this job. Using this tracking number with your region's carrier's website, you can track a Snowball as the carrier transports it. For India, the carrier is Amazon Logistics. For all other regions, UPS is the carrier. shipment :: Shipment shipment =@@ -721,13 +1095,11 @@ , _sTrackingNumber = Nothing } --- | Status information for a shipment. Valid statuses include 'NEW', 'IN_TRANSIT', and 'DELIVERED'.+-- | Status information for a shipment. Valid statuses include @NEW@ , @IN_TRANSIT@ , and @DELIVERED@ . sStatus :: Lens' Shipment (Maybe Text) sStatus = lens _sStatus (\ s a -> s{_sStatus = a}); --- | The tracking number for this job. Using this tracking number with your region\'s carrier\'s website, you can track a Snowball as the carrier transports it.------ For India, the carrier is Amazon Logistics. For all other regions, UPS is the carrier.+-- | The tracking number for this job. Using this tracking number with your region's carrier's website, you can track a Snowball as the carrier transports it. For India, the carrier is Amazon Logistics. For all other regions, UPS is the carrier. sTrackingNumber :: Lens' Shipment (Maybe Text) sTrackingNumber = lens _sTrackingNumber (\ s a -> s{_sTrackingNumber = a}); @@ -742,8 +1114,10 @@ instance NFData Shipment --- | A job\'s shipping information, including inbound and outbound tracking numbers and shipping speed options.+-- | A job's shipping information, including inbound and outbound tracking numbers and shipping speed options. --+--+-- -- /See:/ 'shippingDetails' smart constructor. data ShippingDetails = ShippingDetails' { _sdShippingOption :: !(Maybe ShippingOption)@@ -755,11 +1129,11 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'sdShippingOption'+-- * 'sdShippingOption' - The shipping speed for a particular job. This speed doesn't dictate how soon you'll get the Snowball from the job's creation date. This speed represents how quickly it moves to its destination while in transit. Regional shipping speeds are as follows: * In Australia, you have access to express shipping. Typically, Snowballs shipped express are delivered in about a day. * In the European Union (EU), you have access to express shipping. Typically, Snowballs shipped express are delivered in about a day. In addition, most countries in the EU have access to standard shipping, which typically takes less than a week, one way. * In India, Snowballs are delivered in one to seven days. * In the United States of America (US), you have access to one-day shipping and two-day shipping. ----- * 'sdOutboundShipment'+-- * 'sdOutboundShipment' - The @Status@ and @TrackingNumber@ values for a Snowball being returned to AWS for a particular job. ----- * 'sdInboundShipment'+-- * 'sdInboundShipment' - The @Status@ and @TrackingNumber@ values for a Snowball being delivered to the address that you specified for a particular job. shippingDetails :: ShippingDetails shippingDetails =@@ -769,24 +1143,15 @@ , _sdInboundShipment = Nothing } --- | The shipping speed for a particular job. Note that this speed does not dictate how soon you\'ll get the Snowball from the job\'s creation date. This speed represents how quickly it moves to its destination while in transit. Regional shipping speeds are as follows:------ - In Australia, you have access to express shipping. Typically, Snowballs shipped express are delivered in about a day.------ - In the European Union (EU), you have access to express shipping. Typically, Snowballs shipped express are delivered in about a day. In addition, most countries in the EU have access to standard shipping, which typically takes less than a week, one way.------ - In India, Snowballs are delivered in one to seven days.------ - In the United States of America (US), you have access to one-day shipping and two-day shipping.---+-- | The shipping speed for a particular job. This speed doesn't dictate how soon you'll get the Snowball from the job's creation date. This speed represents how quickly it moves to its destination while in transit. Regional shipping speeds are as follows: * In Australia, you have access to express shipping. Typically, Snowballs shipped express are delivered in about a day. * In the European Union (EU), you have access to express shipping. Typically, Snowballs shipped express are delivered in about a day. In addition, most countries in the EU have access to standard shipping, which typically takes less than a week, one way. * In India, Snowballs are delivered in one to seven days. * In the United States of America (US), you have access to one-day shipping and two-day shipping. sdShippingOption :: Lens' ShippingDetails (Maybe ShippingOption) sdShippingOption = lens _sdShippingOption (\ s a -> s{_sdShippingOption = a}); --- | The 'Status' and 'TrackingNumber' values for a Snowball being returned to AWS for a particular job.+-- | The @Status@ and @TrackingNumber@ values for a Snowball being returned to AWS for a particular job. sdOutboundShipment :: Lens' ShippingDetails (Maybe Shipment) sdOutboundShipment = lens _sdOutboundShipment (\ s a -> s{_sdOutboundShipment = a}); --- | The 'Status' and 'TrackingNumber' values for a Snowball being delivered to the address that you specified for a particular job.+-- | The @Status@ and @TrackingNumber@ values for a Snowball being delivered to the address that you specified for a particular job. sdInboundShipment :: Lens' ShippingDetails (Maybe Shipment) sdInboundShipment = lens _sdInboundShipment (\ s a -> s{_sdInboundShipment = a});
gen/Network/AWS/Snowball/Types/Sum.hs view
@@ -19,53 +19,88 @@ import Network.AWS.Prelude -data JobState- = Cancelled+data ClusterState+ = AwaitingQuorum+ | Cancelled | Complete- | InProgress- | InTransitToAWS- | InTransitToCustomer- | Listing- | New+ | InUse | Pending- | PreparingAppliance- | PreparingShipment- | WithAWS- | WithCustomer deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic) -instance FromText JobState where+instance FromText ClusterState where parser = takeLowerText >>= \case+ "awaitingquorum" -> pure AwaitingQuorum "cancelled" -> pure Cancelled "complete" -> pure Complete- "inprogress" -> pure InProgress- "intransittoaws" -> pure InTransitToAWS- "intransittocustomer" -> pure InTransitToCustomer- "listing" -> pure Listing- "new" -> pure New+ "inuse" -> pure InUse "pending" -> pure Pending- "preparingappliance" -> pure PreparingAppliance- "preparingshipment" -> pure PreparingShipment- "withaws" -> pure WithAWS- "withcustomer" -> pure WithCustomer- e -> fromTextError $ "Failure parsing JobState from value: '" <> e- <> "'. Accepted values: cancelled, complete, inprogress, intransittoaws, intransittocustomer, listing, new, pending, preparingappliance, preparingshipment, withaws, withcustomer"+ e -> fromTextError $ "Failure parsing ClusterState from value: '" <> e+ <> "'. Accepted values: awaitingquorum, cancelled, complete, inuse, pending" -instance ToText JobState where+instance ToText ClusterState where toText = \case+ AwaitingQuorum -> "AwaitingQuorum" Cancelled -> "Cancelled" Complete -> "Complete"- InProgress -> "InProgress"- InTransitToAWS -> "InTransitToAWS"- InTransitToCustomer -> "InTransitToCustomer"- Listing -> "Listing"- New -> "New"+ InUse -> "InUse" Pending -> "Pending"- PreparingAppliance -> "PreparingAppliance"- PreparingShipment -> "PreparingShipment"- WithAWS -> "WithAWS"- WithCustomer -> "WithCustomer" +instance Hashable ClusterState+instance NFData ClusterState+instance ToByteString ClusterState+instance ToQuery ClusterState+instance ToHeader ClusterState++instance FromJSON ClusterState where+ parseJSON = parseJSONText "ClusterState"++data JobState+ = JSCancelled+ | JSComplete+ | JSInProgress+ | JSInTransitToAWS+ | JSInTransitToCustomer+ | JSListing+ | JSNew+ | JSPending+ | JSPreparingAppliance+ | JSPreparingShipment+ | JSWithAWS+ | JSWithCustomer+ deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText JobState where+ parser = takeLowerText >>= \case+ "cancelled" -> pure JSCancelled+ "complete" -> pure JSComplete+ "inprogress" -> pure JSInProgress+ "intransittoaws" -> pure JSInTransitToAWS+ "intransittocustomer" -> pure JSInTransitToCustomer+ "listing" -> pure JSListing+ "new" -> pure JSNew+ "pending" -> pure JSPending+ "preparingappliance" -> pure JSPreparingAppliance+ "preparingshipment" -> pure JSPreparingShipment+ "withaws" -> pure JSWithAWS+ "withcustomer" -> pure JSWithCustomer+ e -> fromTextError $ "Failure parsing JobState from value: '" <> e+ <> "'. Accepted values: cancelled, complete, inprogress, intransittoaws, intransittocustomer, listing, new, pending, preparingappliance, preparingshipment, withaws, withcustomer"++instance ToText JobState where+ toText = \case+ JSCancelled -> "Cancelled"+ JSComplete -> "Complete"+ JSInProgress -> "InProgress"+ JSInTransitToAWS -> "InTransitToAWS"+ JSInTransitToCustomer -> "InTransitToCustomer"+ JSListing -> "Listing"+ JSNew -> "New"+ JSPending -> "Pending"+ JSPreparingAppliance -> "PreparingAppliance"+ JSPreparingShipment -> "PreparingShipment"+ JSWithAWS -> "WithAWS"+ JSWithCustomer -> "WithCustomer"+ instance Hashable JobState instance NFData JobState instance ToByteString JobState@@ -81,19 +116,22 @@ data JobType = Export | Import+ | LocalUse deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic) instance FromText JobType where parser = takeLowerText >>= \case "export" -> pure Export "import" -> pure Import+ "local_use" -> pure LocalUse e -> fromTextError $ "Failure parsing JobType from value: '" <> e- <> "'. Accepted values: export, import"+ <> "'. Accepted values: export, import, local_use" instance ToText JobType where toText = \case Export -> "EXPORT" Import -> "IMPORT"+ LocalUse -> "LOCAL_USE" instance Hashable JobType instance NFData JobType@@ -108,27 +146,27 @@ parseJSON = parseJSONText "JobType" data ShippingOption- = Express- | NextDay- | SecondDay- | Standard+ = SOExpress+ | SONextDay+ | SOSecondDay+ | SOStandard deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic) instance FromText ShippingOption where parser = takeLowerText >>= \case- "express" -> pure Express- "next_day" -> pure NextDay- "second_day" -> pure SecondDay- "standard" -> pure Standard+ "express" -> pure SOExpress+ "next_day" -> pure SONextDay+ "second_day" -> pure SOSecondDay+ "standard" -> pure SOStandard e -> fromTextError $ "Failure parsing ShippingOption from value: '" <> e <> "'. Accepted values: express, next_day, second_day, standard" instance ToText ShippingOption where toText = \case- Express -> "EXPRESS"- NextDay -> "NEXT_DAY"- SecondDay -> "SECOND_DAY"- Standard -> "STANDARD"+ SOExpress -> "EXPRESS"+ SONextDay -> "NEXT_DAY"+ SOSecondDay -> "SECOND_DAY"+ SOStandard -> "STANDARD" instance Hashable ShippingOption instance NFData ShippingOption@@ -144,6 +182,7 @@ data SnowballCapacity = NoPreference+ | T100 | T50 | T80 deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)@@ -151,14 +190,16 @@ instance FromText SnowballCapacity where parser = takeLowerText >>= \case "nopreference" -> pure NoPreference+ "t100" -> pure T100 "t50" -> pure T50 "t80" -> pure T80 e -> fromTextError $ "Failure parsing SnowballCapacity from value: '" <> e- <> "'. Accepted values: nopreference, t50, t80"+ <> "'. Accepted values: nopreference, t100, t50, t80" instance ToText SnowballCapacity where toText = \case NoPreference -> "NoPreference"+ T100 -> "T100" T50 -> "T50" T80 -> "T80" @@ -173,3 +214,32 @@ instance FromJSON SnowballCapacity where parseJSON = parseJSONText "SnowballCapacity"++data SnowballType+ = Edge+ | Standard+ deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText SnowballType where+ parser = takeLowerText >>= \case+ "edge" -> pure Edge+ "standard" -> pure Standard+ e -> fromTextError $ "Failure parsing SnowballType from value: '" <> e+ <> "'. Accepted values: edge, standard"++instance ToText SnowballType where+ toText = \case+ Edge -> "EDGE"+ Standard -> "STANDARD"++instance Hashable SnowballType+instance NFData SnowballType+instance ToByteString SnowballType+instance ToQuery SnowballType+instance ToHeader SnowballType++instance ToJSON SnowballType where+ toJSON = toJSONText++instance FromJSON SnowballType where+ parseJSON = parseJSONText "SnowballType"
+ gen/Network/AWS/Snowball/UpdateCluster.hs view
@@ -0,0 +1,184 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.Snowball.UpdateCluster+-- Copyright : (c) 2013-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- While a cluster's @ClusterState@ value is in the @AwaitingQuorum@ state, you can update some of the information associated with a cluster. Once the cluster changes to a different job state, usually 60 minutes after the cluster being created, this action is no longer available.+--+--+module Network.AWS.Snowball.UpdateCluster+ (+ -- * Creating a Request+ updateCluster+ , UpdateCluster+ -- * Request Lenses+ , ucNotification+ , ucAddressId+ , ucShippingOption+ , ucResources+ , ucDescription+ , ucRoleARN+ , ucClusterId++ -- * Destructuring the Response+ , updateClusterResponse+ , UpdateClusterResponse+ -- * Response Lenses+ , ucrsResponseStatus+ ) where++import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response+import Network.AWS.Snowball.Types+import Network.AWS.Snowball.Types.Product++-- | /See:/ 'updateCluster' smart constructor.+data UpdateCluster = UpdateCluster'+ { _ucNotification :: !(Maybe Notification)+ , _ucAddressId :: !(Maybe Text)+ , _ucShippingOption :: !(Maybe ShippingOption)+ , _ucResources :: !(Maybe JobResource)+ , _ucDescription :: !(Maybe Text)+ , _ucRoleARN :: !(Maybe Text)+ , _ucClusterId :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateCluster' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ucNotification' - The new or updated 'Notification' object.+--+-- * 'ucAddressId' - The ID of the updated 'Address' object.+--+-- * 'ucShippingOption' - The updated shipping option value of this cluster's 'ShippingDetails' object.+--+-- * 'ucResources' - The updated arrays of 'JobResource' objects that can include updated 'S3Resource' objects or 'LambdaResource' objects.+--+-- * 'ucDescription' - The updated description of this cluster.+--+-- * 'ucRoleARN' - The new role Amazon Resource Name (ARN) that you want to associate with this cluster. To create a role ARN, use the <http://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html CreateRole> API action in AWS Identity and Access Management (IAM).+--+-- * 'ucClusterId' - The cluster ID of the cluster that you want to update, for example @CID123e4567-e89b-12d3-a456-426655440000@ .+updateCluster+ :: Text -- ^ 'ucClusterId'+ -> UpdateCluster+updateCluster pClusterId_ =+ UpdateCluster'+ { _ucNotification = Nothing+ , _ucAddressId = Nothing+ , _ucShippingOption = Nothing+ , _ucResources = Nothing+ , _ucDescription = Nothing+ , _ucRoleARN = Nothing+ , _ucClusterId = pClusterId_+ }++-- | The new or updated 'Notification' object.+ucNotification :: Lens' UpdateCluster (Maybe Notification)+ucNotification = lens _ucNotification (\ s a -> s{_ucNotification = a});++-- | The ID of the updated 'Address' object.+ucAddressId :: Lens' UpdateCluster (Maybe Text)+ucAddressId = lens _ucAddressId (\ s a -> s{_ucAddressId = a});++-- | The updated shipping option value of this cluster's 'ShippingDetails' object.+ucShippingOption :: Lens' UpdateCluster (Maybe ShippingOption)+ucShippingOption = lens _ucShippingOption (\ s a -> s{_ucShippingOption = a});++-- | The updated arrays of 'JobResource' objects that can include updated 'S3Resource' objects or 'LambdaResource' objects.+ucResources :: Lens' UpdateCluster (Maybe JobResource)+ucResources = lens _ucResources (\ s a -> s{_ucResources = a});++-- | The updated description of this cluster.+ucDescription :: Lens' UpdateCluster (Maybe Text)+ucDescription = lens _ucDescription (\ s a -> s{_ucDescription = a});++-- | The new role Amazon Resource Name (ARN) that you want to associate with this cluster. To create a role ARN, use the <http://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html CreateRole> API action in AWS Identity and Access Management (IAM).+ucRoleARN :: Lens' UpdateCluster (Maybe Text)+ucRoleARN = lens _ucRoleARN (\ s a -> s{_ucRoleARN = a});++-- | The cluster ID of the cluster that you want to update, for example @CID123e4567-e89b-12d3-a456-426655440000@ .+ucClusterId :: Lens' UpdateCluster Text+ucClusterId = lens _ucClusterId (\ s a -> s{_ucClusterId = a});++instance AWSRequest UpdateCluster where+ type Rs UpdateCluster = UpdateClusterResponse+ request = postJSON snowball+ response+ = receiveEmpty+ (\ s h x ->+ UpdateClusterResponse' <$> (pure (fromEnum s)))++instance Hashable UpdateCluster++instance NFData UpdateCluster++instance ToHeaders UpdateCluster where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("AWSIESnowballJobManagementService.UpdateCluster" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdateCluster where+ toJSON UpdateCluster'{..}+ = object+ (catMaybes+ [("Notification" .=) <$> _ucNotification,+ ("AddressId" .=) <$> _ucAddressId,+ ("ShippingOption" .=) <$> _ucShippingOption,+ ("Resources" .=) <$> _ucResources,+ ("Description" .=) <$> _ucDescription,+ ("RoleARN" .=) <$> _ucRoleARN,+ Just ("ClusterId" .= _ucClusterId)])++instance ToPath UpdateCluster where+ toPath = const "/"++instance ToQuery UpdateCluster where+ toQuery = const mempty++-- | /See:/ 'updateClusterResponse' smart constructor.+newtype UpdateClusterResponse = UpdateClusterResponse'+ { _ucrsResponseStatus :: Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateClusterResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ucrsResponseStatus' - -- | The response status code.+updateClusterResponse+ :: Int -- ^ 'ucrsResponseStatus'+ -> UpdateClusterResponse+updateClusterResponse pResponseStatus_ =+ UpdateClusterResponse'+ { _ucrsResponseStatus = pResponseStatus_+ }++-- | -- | The response status code.+ucrsResponseStatus :: Lens' UpdateClusterResponse Int+ucrsResponseStatus = lens _ucrsResponseStatus (\ s a -> s{_ucrsResponseStatus = a});++instance NFData UpdateClusterResponse
gen/Network/AWS/Snowball/UpdateJob.hs view
@@ -18,7 +18,9 @@ -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- While a job\'s 'JobState' value is 'New', you can update some of the information associated with a job. Once the job changes to a different job state, usually within 60 minutes of the job being created, this action is no longer available.+-- While a job's @JobState@ value is @New@ , you can update some of the information associated with a job. Once the job changes to a different job state, usually within 60 minutes of the job being created, this action is no longer available.+--+-- module Network.AWS.Snowball.UpdateJob ( -- * Creating a Request@@ -64,21 +66,21 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'ujNotification'+-- * 'ujNotification' - The new or updated 'Notification' object. ----- * 'ujAddressId'+-- * 'ujAddressId' - The ID of the updated 'Address' object. ----- * 'ujShippingOption'+-- * 'ujShippingOption' - The updated shipping option value of this job's 'ShippingDetails' object. ----- * 'ujResources'+-- * 'ujResources' - The updated 'S3Resource' object (for a single Amazon S3 bucket or key range), or the updated 'JobResource' object (for multiple buckets or key ranges). ----- * 'ujDescription'+-- * 'ujDescription' - The updated description of this job's 'JobMetadata' object. ----- * 'ujRoleARN'+-- * 'ujRoleARN' - The new role Amazon Resource Name (ARN) that you want to associate with this job. To create a role ARN, use the <http://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html CreateRole> AWS Identity and Access Management (IAM) API action. ----- * 'ujSnowballCapacityPreference'+-- * 'ujSnowballCapacityPreference' - The updated @SnowballCapacityPreference@ of this job's 'JobMetadata' object. The 50 TB Snowballs are only available in the US regions. ----- * 'ujJobId'+-- * 'ujJobId' - The job ID of the job that you want to update, for example @JID123e4567-e89b-12d3-a456-426655440000@ . updateJob :: Text -- ^ 'ujJobId' -> UpdateJob@@ -94,23 +96,23 @@ , _ujJobId = pJobId_ } --- | The new or updated < Notification> object.+-- | The new or updated 'Notification' object. ujNotification :: Lens' UpdateJob (Maybe Notification) ujNotification = lens _ujNotification (\ s a -> s{_ujNotification = a}); --- | The ID of the updated < Address> object.+-- | The ID of the updated 'Address' object. ujAddressId :: Lens' UpdateJob (Maybe Text) ujAddressId = lens _ujAddressId (\ s a -> s{_ujAddressId = a}); --- | The updated shipping option value of this job\'s < ShippingDetails> object.+-- | The updated shipping option value of this job's 'ShippingDetails' object. ujShippingOption :: Lens' UpdateJob (Maybe ShippingOption) ujShippingOption = lens _ujShippingOption (\ s a -> s{_ujShippingOption = a}); --- | The updated < S3Resource> object (for a single Amazon S3 bucket or key range), or the updated < JobResource> object (for multiple buckets or key ranges).+-- | The updated 'S3Resource' object (for a single Amazon S3 bucket or key range), or the updated 'JobResource' object (for multiple buckets or key ranges). ujResources :: Lens' UpdateJob (Maybe JobResource) ujResources = lens _ujResources (\ s a -> s{_ujResources = a}); --- | The updated description of this job\'s < JobMetadata> object.+-- | The updated description of this job's 'JobMetadata' object. ujDescription :: Lens' UpdateJob (Maybe Text) ujDescription = lens _ujDescription (\ s a -> s{_ujDescription = a}); @@ -118,11 +120,11 @@ ujRoleARN :: Lens' UpdateJob (Maybe Text) ujRoleARN = lens _ujRoleARN (\ s a -> s{_ujRoleARN = a}); --- | The updated 'SnowballCapacityPreference' of this job\'s < JobMetadata> object. Note that the 50 TB Snowballs are only available in the US regions.+-- | The updated @SnowballCapacityPreference@ of this job's 'JobMetadata' object. The 50 TB Snowballs are only available in the US regions. ujSnowballCapacityPreference :: Lens' UpdateJob (Maybe SnowballCapacity) ujSnowballCapacityPreference = lens _ujSnowballCapacityPreference (\ s a -> s{_ujSnowballCapacityPreference = a}); --- | The job ID of the job that you want to update, for example 'JID123e4567-e89b-12d3-a456-426655440000'.+-- | The job ID of the job that you want to update, for example @JID123e4567-e89b-12d3-a456-426655440000@ . ujJobId :: Lens' UpdateJob Text ujJobId = lens _ujJobId (\ s a -> s{_ujJobId = a}); @@ -177,7 +179,7 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'ujrsResponseStatus'+-- * 'ujrsResponseStatus' - -- | The response status code. updateJobResponse :: Int -- ^ 'ujrsResponseStatus' -> UpdateJobResponse@@ -186,7 +188,7 @@ { _ujrsResponseStatus = pResponseStatus_ } --- | The response status code.+-- | -- | The response status code. ujrsResponseStatus :: Lens' UpdateJobResponse Int ujrsResponseStatus = lens _ujrsResponseStatus (\ s a -> s{_ujrsResponseStatus = a});
test/Test/AWS/Gen/Snowball.hs view
@@ -28,7 +28,13 @@ -- fixtures :: TestTree -- fixtures = -- [ testGroup "request"--- [ requestCreateAddress $+-- [ requestCancelCluster $+-- cancelCluster+--+-- , requestDescribeCluster $+-- describeCluster+--+-- , requestCreateAddress $ -- createAddress -- -- , requestGetSnowballUsage $@@ -37,12 +43,18 @@ -- , requestDescribeAddresses $ -- describeAddresses --+-- , requestUpdateCluster $+-- updateCluster+-- -- , requestCreateJob $ -- createJob -- -- , requestGetJobManifest $ -- getJobManifest --+-- , requestCreateCluster $+-- createCluster+-- -- , requestListJobs $ -- listJobs --@@ -52,9 +64,15 @@ -- , requestGetJobUnlockCode $ -- getJobUnlockCode --+-- , requestListClusterJobs $+-- listClusterJobs+-- -- , requestDescribeJob $ -- describeJob --+-- , requestListClusters $+-- listClusters+-- -- , requestDescribeAddress $ -- describeAddress --@@ -64,7 +82,13 @@ -- ] -- , testGroup "response"--- [ responseCreateAddress $+-- [ responseCancelCluster $+-- cancelClusterResponse+--+-- , responseDescribeCluster $+-- describeClusterResponse+--+-- , responseCreateAddress $ -- createAddressResponse -- -- , responseGetSnowballUsage $@@ -73,12 +97,18 @@ -- , responseDescribeAddresses $ -- describeAddressesResponse --+-- , responseUpdateCluster $+-- updateClusterResponse+-- -- , responseCreateJob $ -- createJobResponse -- -- , responseGetJobManifest $ -- getJobManifestResponse --+-- , responseCreateCluster $+-- createClusterResponse+-- -- , responseListJobs $ -- listJobsResponse --@@ -88,9 +118,15 @@ -- , responseGetJobUnlockCode $ -- getJobUnlockCodeResponse --+-- , responseListClusterJobs $+-- listClusterJobsResponse+-- -- , responseDescribeJob $ -- describeJobResponse --+-- , responseListClusters $+-- listClustersResponse+-- -- , responseDescribeAddress $ -- describeAddressResponse --@@ -102,6 +138,16 @@ -- Requests +requestCancelCluster :: CancelCluster -> TestTree+requestCancelCluster = req+ "CancelCluster"+ "fixture/CancelCluster.yaml"++requestDescribeCluster :: DescribeCluster -> TestTree+requestDescribeCluster = req+ "DescribeCluster"+ "fixture/DescribeCluster.yaml"+ requestCreateAddress :: CreateAddress -> TestTree requestCreateAddress = req "CreateAddress"@@ -117,6 +163,11 @@ "DescribeAddresses" "fixture/DescribeAddresses.yaml" +requestUpdateCluster :: UpdateCluster -> TestTree+requestUpdateCluster = req+ "UpdateCluster"+ "fixture/UpdateCluster.yaml"+ requestCreateJob :: CreateJob -> TestTree requestCreateJob = req "CreateJob"@@ -127,6 +178,11 @@ "GetJobManifest" "fixture/GetJobManifest.yaml" +requestCreateCluster :: CreateCluster -> TestTree+requestCreateCluster = req+ "CreateCluster"+ "fixture/CreateCluster.yaml"+ requestListJobs :: ListJobs -> TestTree requestListJobs = req "ListJobs"@@ -142,11 +198,21 @@ "GetJobUnlockCode" "fixture/GetJobUnlockCode.yaml" +requestListClusterJobs :: ListClusterJobs -> TestTree+requestListClusterJobs = req+ "ListClusterJobs"+ "fixture/ListClusterJobs.yaml"+ requestDescribeJob :: DescribeJob -> TestTree requestDescribeJob = req "DescribeJob" "fixture/DescribeJob.yaml" +requestListClusters :: ListClusters -> TestTree+requestListClusters = req+ "ListClusters"+ "fixture/ListClusters.yaml"+ requestDescribeAddress :: DescribeAddress -> TestTree requestDescribeAddress = req "DescribeAddress"@@ -159,6 +225,20 @@ -- Responses +responseCancelCluster :: CancelClusterResponse -> TestTree+responseCancelCluster = res+ "CancelClusterResponse"+ "fixture/CancelClusterResponse.proto"+ snowball+ (Proxy :: Proxy CancelCluster)++responseDescribeCluster :: DescribeClusterResponse -> TestTree+responseDescribeCluster = res+ "DescribeClusterResponse"+ "fixture/DescribeClusterResponse.proto"+ snowball+ (Proxy :: Proxy DescribeCluster)+ responseCreateAddress :: CreateAddressResponse -> TestTree responseCreateAddress = res "CreateAddressResponse"@@ -180,6 +260,13 @@ snowball (Proxy :: Proxy DescribeAddresses) +responseUpdateCluster :: UpdateClusterResponse -> TestTree+responseUpdateCluster = res+ "UpdateClusterResponse"+ "fixture/UpdateClusterResponse.proto"+ snowball+ (Proxy :: Proxy UpdateCluster)+ responseCreateJob :: CreateJobResponse -> TestTree responseCreateJob = res "CreateJobResponse"@@ -194,6 +281,13 @@ snowball (Proxy :: Proxy GetJobManifest) +responseCreateCluster :: CreateClusterResponse -> TestTree+responseCreateCluster = res+ "CreateClusterResponse"+ "fixture/CreateClusterResponse.proto"+ snowball+ (Proxy :: Proxy CreateCluster)+ responseListJobs :: ListJobsResponse -> TestTree responseListJobs = res "ListJobsResponse"@@ -215,12 +309,26 @@ snowball (Proxy :: Proxy GetJobUnlockCode) +responseListClusterJobs :: ListClusterJobsResponse -> TestTree+responseListClusterJobs = res+ "ListClusterJobsResponse"+ "fixture/ListClusterJobsResponse.proto"+ snowball+ (Proxy :: Proxy ListClusterJobs)+ responseDescribeJob :: DescribeJobResponse -> TestTree responseDescribeJob = res "DescribeJobResponse" "fixture/DescribeJobResponse.proto" snowball (Proxy :: Proxy DescribeJob)++responseListClusters :: ListClustersResponse -> TestTree+responseListClusters = res+ "ListClustersResponse"+ "fixture/ListClustersResponse.proto"+ snowball+ (Proxy :: Proxy ListClusters) responseDescribeAddress :: DescribeAddressResponse -> TestTree responseDescribeAddress = res