packages feed

amazonka-glue 1.5.0 → 1.6.0

raw patch · 95 files changed

+6948/−5406 lines, 95 filesdep ~amazonka-coredep ~amazonka-testPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: amazonka-core, amazonka-test

API changes (from Hackage documentation)

- Network.AWS.Glue: jcScriptLocation :: Lens' JobCommand (Maybe Text)
- Network.AWS.Glue.GetTableVersions: gtvCatalogId :: Lens' GetTableVersions (Maybe Text)
- Network.AWS.Glue.GetTableVersions: gtvDatabaseName :: Lens' GetTableVersions Text
- Network.AWS.Glue.GetTableVersions: gtvMaxResults :: Lens' GetTableVersions (Maybe Natural)
- Network.AWS.Glue.GetTableVersions: gtvNextToken :: Lens' GetTableVersions (Maybe Text)
- Network.AWS.Glue.GetTableVersions: gtvTableName :: Lens' GetTableVersions Text
- Network.AWS.Glue.GetTableVersions: gtvrsNextToken :: Lens' GetTableVersionsResponse (Maybe Text)
- Network.AWS.Glue.GetTableVersions: gtvrsResponseStatus :: Lens' GetTableVersionsResponse Int
- Network.AWS.Glue.GetTableVersions: gtvrsTableVersions :: Lens' GetTableVersionsResponse [TableVersion]
- Network.AWS.Glue.Types: jcScriptLocation :: Lens' JobCommand (Maybe Text)
+ Network.AWS.Glue: Any :: Logical
+ Network.AWS.Glue: Python :: Language
+ Network.AWS.Glue: Scala :: Language
+ Network.AWS.Glue: Timeout :: JobRunState
+ Network.AWS.Glue: aTimeout :: Lens' Action (Maybe Natural)
+ Network.AWS.Glue: cJSONClassifier :: Lens' Classifier (Maybe JSONClassifier)
+ Network.AWS.Glue: cXMLClassifier :: Lens' Classifier (Maybe XMLClassifier)
+ Network.AWS.Glue: cjcrJSONPath :: Lens' CreateJSONClassifierRequest Text
+ Network.AWS.Glue: cjcrName :: Lens' CreateJSONClassifierRequest Text
+ Network.AWS.Glue: craConfiguration :: Lens' Crawler (Maybe Text)
+ Network.AWS.Glue: createJSONClassifierRequest :: Text -> Text -> CreateJSONClassifierRequest
+ Network.AWS.Glue: createXMLClassifierRequest :: Text -> Text -> CreateXMLClassifierRequest
+ Network.AWS.Glue: cxcrClassification :: Lens' CreateXMLClassifierRequest Text
+ Network.AWS.Glue: cxcrName :: Lens' CreateXMLClassifierRequest Text
+ Network.AWS.Glue: cxcrRowTag :: Lens' CreateXMLClassifierRequest (Maybe Text)
+ Network.AWS.Glue: data CreateJSONClassifierRequest
+ Network.AWS.Glue: data CreateXMLClassifierRequest
+ Network.AWS.Glue: data JSONClassifier
+ Network.AWS.Glue: data Language
+ Network.AWS.Glue: data TableVersionError
+ Network.AWS.Glue: data UpdateJSONClassifierRequest
+ Network.AWS.Glue: data UpdateXMLClassifierRequest
+ Network.AWS.Glue: data XMLClassifier
+ Network.AWS.Glue: dePrivateAddress :: Lens' DevEndpoint (Maybe Text)
+ Network.AWS.Glue: jTimeout :: Lens' Job (Maybe Natural)
+ Network.AWS.Glue: jcCreationTime :: Lens' JSONClassifier (Maybe UTCTime)
+ Network.AWS.Glue: jcJSONPath :: Lens' JSONClassifier Text
+ Network.AWS.Glue: jcLastUpdated :: Lens' JSONClassifier (Maybe UTCTime)
+ Network.AWS.Glue: jcVersion :: Lens' JSONClassifier (Maybe Integer)
+ Network.AWS.Glue: jobName :: Lens' JobCommand (Maybe Text)
+ Network.AWS.Glue: jobScriptLocation :: Lens' JobCommand (Maybe Text)
+ Network.AWS.Glue: jrExecutionTime :: Lens' JobRun (Maybe Int)
+ Network.AWS.Glue: jrTimeout :: Lens' JobRun (Maybe Natural)
+ Network.AWS.Glue: jsonClassifier :: Text -> Text -> JSONClassifier
+ Network.AWS.Glue: juTimeout :: Lens' JobUpdate (Maybe Natural)
+ Network.AWS.Glue: tableVersionError :: TableVersionError
+ Network.AWS.Glue: tveErrorDetail :: Lens' TableVersionError (Maybe ErrorDetail)
+ Network.AWS.Glue: tveTableName :: Lens' TableVersionError (Maybe Text)
+ Network.AWS.Glue: tveVersionId :: Lens' TableVersionError (Maybe Text)
+ Network.AWS.Glue: ujcrJSONPath :: Lens' UpdateJSONClassifierRequest (Maybe Text)
+ Network.AWS.Glue: ujcrName :: Lens' UpdateJSONClassifierRequest Text
+ Network.AWS.Glue: updateJSONClassifierRequest :: Text -> UpdateJSONClassifierRequest
+ Network.AWS.Glue: updateXMLClassifierRequest :: Text -> UpdateXMLClassifierRequest
+ Network.AWS.Glue: uxcrClassification :: Lens' UpdateXMLClassifierRequest (Maybe Text)
+ Network.AWS.Glue: uxcrName :: Lens' UpdateXMLClassifierRequest Text
+ Network.AWS.Glue: uxcrRowTag :: Lens' UpdateXMLClassifierRequest (Maybe Text)
+ Network.AWS.Glue: xcClassification :: Lens' XMLClassifier Text
+ Network.AWS.Glue: xcCreationTime :: Lens' XMLClassifier (Maybe UTCTime)
+ Network.AWS.Glue: xcLastUpdated :: Lens' XMLClassifier (Maybe UTCTime)
+ Network.AWS.Glue: xcName :: Lens' XMLClassifier Text
+ Network.AWS.Glue: xcRowTag :: Lens' XMLClassifier (Maybe Text)
+ Network.AWS.Glue: xcVersion :: Lens' XMLClassifier (Maybe Integer)
+ Network.AWS.Glue: xmlClassifier :: Text -> Text -> XMLClassifier
+ Network.AWS.Glue.BatchDeleteTableVersion: batchDeleteTableVersion :: Text -> Text -> BatchDeleteTableVersion
+ Network.AWS.Glue.BatchDeleteTableVersion: batchDeleteTableVersionResponse :: Int -> BatchDeleteTableVersionResponse
+ Network.AWS.Glue.BatchDeleteTableVersion: bdtvCatalogId :: Lens' BatchDeleteTableVersion (Maybe Text)
+ Network.AWS.Glue.BatchDeleteTableVersion: bdtvDatabaseName :: Lens' BatchDeleteTableVersion Text
+ Network.AWS.Glue.BatchDeleteTableVersion: bdtvTableName :: Lens' BatchDeleteTableVersion Text
+ Network.AWS.Glue.BatchDeleteTableVersion: bdtvVersionIds :: Lens' BatchDeleteTableVersion [Text]
+ Network.AWS.Glue.BatchDeleteTableVersion: bdtvrsErrors :: Lens' BatchDeleteTableVersionResponse [TableVersionError]
+ Network.AWS.Glue.BatchDeleteTableVersion: bdtvrsResponseStatus :: Lens' BatchDeleteTableVersionResponse Int
+ Network.AWS.Glue.BatchDeleteTableVersion: data BatchDeleteTableVersion
+ Network.AWS.Glue.BatchDeleteTableVersion: data BatchDeleteTableVersionResponse
+ Network.AWS.Glue.BatchDeleteTableVersion: instance Control.DeepSeq.NFData Network.AWS.Glue.BatchDeleteTableVersion.BatchDeleteTableVersion
+ Network.AWS.Glue.BatchDeleteTableVersion: instance Control.DeepSeq.NFData Network.AWS.Glue.BatchDeleteTableVersion.BatchDeleteTableVersionResponse
+ Network.AWS.Glue.BatchDeleteTableVersion: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Glue.BatchDeleteTableVersion.BatchDeleteTableVersion
+ Network.AWS.Glue.BatchDeleteTableVersion: instance Data.Data.Data Network.AWS.Glue.BatchDeleteTableVersion.BatchDeleteTableVersion
+ Network.AWS.Glue.BatchDeleteTableVersion: instance Data.Data.Data Network.AWS.Glue.BatchDeleteTableVersion.BatchDeleteTableVersionResponse
+ Network.AWS.Glue.BatchDeleteTableVersion: instance Data.Hashable.Class.Hashable Network.AWS.Glue.BatchDeleteTableVersion.BatchDeleteTableVersion
+ Network.AWS.Glue.BatchDeleteTableVersion: instance GHC.Classes.Eq Network.AWS.Glue.BatchDeleteTableVersion.BatchDeleteTableVersion
+ Network.AWS.Glue.BatchDeleteTableVersion: instance GHC.Classes.Eq Network.AWS.Glue.BatchDeleteTableVersion.BatchDeleteTableVersionResponse
+ Network.AWS.Glue.BatchDeleteTableVersion: instance GHC.Generics.Generic Network.AWS.Glue.BatchDeleteTableVersion.BatchDeleteTableVersion
+ Network.AWS.Glue.BatchDeleteTableVersion: instance GHC.Generics.Generic Network.AWS.Glue.BatchDeleteTableVersion.BatchDeleteTableVersionResponse
+ Network.AWS.Glue.BatchDeleteTableVersion: instance GHC.Read.Read Network.AWS.Glue.BatchDeleteTableVersion.BatchDeleteTableVersion
+ Network.AWS.Glue.BatchDeleteTableVersion: instance GHC.Read.Read Network.AWS.Glue.BatchDeleteTableVersion.BatchDeleteTableVersionResponse
+ Network.AWS.Glue.BatchDeleteTableVersion: instance GHC.Show.Show Network.AWS.Glue.BatchDeleteTableVersion.BatchDeleteTableVersion
+ Network.AWS.Glue.BatchDeleteTableVersion: instance GHC.Show.Show Network.AWS.Glue.BatchDeleteTableVersion.BatchDeleteTableVersionResponse
+ Network.AWS.Glue.BatchDeleteTableVersion: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Glue.BatchDeleteTableVersion.BatchDeleteTableVersion
+ Network.AWS.Glue.BatchDeleteTableVersion: instance Network.AWS.Data.Path.ToPath Network.AWS.Glue.BatchDeleteTableVersion.BatchDeleteTableVersion
+ Network.AWS.Glue.BatchDeleteTableVersion: instance Network.AWS.Data.Query.ToQuery Network.AWS.Glue.BatchDeleteTableVersion.BatchDeleteTableVersion
+ Network.AWS.Glue.BatchDeleteTableVersion: instance Network.AWS.Types.AWSRequest Network.AWS.Glue.BatchDeleteTableVersion.BatchDeleteTableVersion
+ Network.AWS.Glue.CreateClassifier: ccJSONClassifier :: Lens' CreateClassifier (Maybe CreateJSONClassifierRequest)
+ Network.AWS.Glue.CreateClassifier: ccXMLClassifier :: Lens' CreateClassifier (Maybe CreateXMLClassifierRequest)
+ Network.AWS.Glue.CreateCrawler: ccConfiguration :: Lens' CreateCrawler (Maybe Text)
+ Network.AWS.Glue.CreateJob: cjTimeout :: Lens' CreateJob (Maybe Natural)
+ Network.AWS.Glue.CreateScript: csLanguage :: Lens' CreateScript (Maybe Language)
+ Network.AWS.Glue.CreateScript: csrsScalaCode :: Lens' CreateScriptResponse (Maybe Text)
+ Network.AWS.Glue.CreateTrigger: ctStartOnCreation :: Lens' CreateTrigger (Maybe Bool)
+ Network.AWS.Glue.DeleteTableVersion: data DeleteTableVersion
+ Network.AWS.Glue.DeleteTableVersion: data DeleteTableVersionResponse
+ Network.AWS.Glue.DeleteTableVersion: deleteTableVersion :: Text -> Text -> Text -> DeleteTableVersion
+ Network.AWS.Glue.DeleteTableVersion: deleteTableVersionResponse :: Int -> DeleteTableVersionResponse
+ Network.AWS.Glue.DeleteTableVersion: dtvCatalogId :: Lens' DeleteTableVersion (Maybe Text)
+ Network.AWS.Glue.DeleteTableVersion: dtvDatabaseName :: Lens' DeleteTableVersion Text
+ Network.AWS.Glue.DeleteTableVersion: dtvTableName :: Lens' DeleteTableVersion Text
+ Network.AWS.Glue.DeleteTableVersion: dtvVersionId :: Lens' DeleteTableVersion Text
+ Network.AWS.Glue.DeleteTableVersion: dtvrsResponseStatus :: Lens' DeleteTableVersionResponse Int
+ Network.AWS.Glue.DeleteTableVersion: instance Control.DeepSeq.NFData Network.AWS.Glue.DeleteTableVersion.DeleteTableVersion
+ Network.AWS.Glue.DeleteTableVersion: instance Control.DeepSeq.NFData Network.AWS.Glue.DeleteTableVersion.DeleteTableVersionResponse
+ Network.AWS.Glue.DeleteTableVersion: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Glue.DeleteTableVersion.DeleteTableVersion
+ Network.AWS.Glue.DeleteTableVersion: instance Data.Data.Data Network.AWS.Glue.DeleteTableVersion.DeleteTableVersion
+ Network.AWS.Glue.DeleteTableVersion: instance Data.Data.Data Network.AWS.Glue.DeleteTableVersion.DeleteTableVersionResponse
+ Network.AWS.Glue.DeleteTableVersion: instance Data.Hashable.Class.Hashable Network.AWS.Glue.DeleteTableVersion.DeleteTableVersion
+ Network.AWS.Glue.DeleteTableVersion: instance GHC.Classes.Eq Network.AWS.Glue.DeleteTableVersion.DeleteTableVersion
+ Network.AWS.Glue.DeleteTableVersion: instance GHC.Classes.Eq Network.AWS.Glue.DeleteTableVersion.DeleteTableVersionResponse
+ Network.AWS.Glue.DeleteTableVersion: instance GHC.Generics.Generic Network.AWS.Glue.DeleteTableVersion.DeleteTableVersion
+ Network.AWS.Glue.DeleteTableVersion: instance GHC.Generics.Generic Network.AWS.Glue.DeleteTableVersion.DeleteTableVersionResponse
+ Network.AWS.Glue.DeleteTableVersion: instance GHC.Read.Read Network.AWS.Glue.DeleteTableVersion.DeleteTableVersion
+ Network.AWS.Glue.DeleteTableVersion: instance GHC.Read.Read Network.AWS.Glue.DeleteTableVersion.DeleteTableVersionResponse
+ Network.AWS.Glue.DeleteTableVersion: instance GHC.Show.Show Network.AWS.Glue.DeleteTableVersion.DeleteTableVersion
+ Network.AWS.Glue.DeleteTableVersion: instance GHC.Show.Show Network.AWS.Glue.DeleteTableVersion.DeleteTableVersionResponse
+ Network.AWS.Glue.DeleteTableVersion: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Glue.DeleteTableVersion.DeleteTableVersion
+ Network.AWS.Glue.DeleteTableVersion: instance Network.AWS.Data.Path.ToPath Network.AWS.Glue.DeleteTableVersion.DeleteTableVersion
+ Network.AWS.Glue.DeleteTableVersion: instance Network.AWS.Data.Query.ToQuery Network.AWS.Glue.DeleteTableVersion.DeleteTableVersion
+ Network.AWS.Glue.DeleteTableVersion: instance Network.AWS.Types.AWSRequest Network.AWS.Glue.DeleteTableVersion.DeleteTableVersion
+ Network.AWS.Glue.GetClassifiers: instance Network.AWS.Pager.AWSPager Network.AWS.Glue.GetClassifiers.GetClassifiers
+ Network.AWS.Glue.GetConnections: instance Network.AWS.Pager.AWSPager Network.AWS.Glue.GetConnections.GetConnections
+ Network.AWS.Glue.GetCrawlerMetrics: instance Network.AWS.Pager.AWSPager Network.AWS.Glue.GetCrawlerMetrics.GetCrawlerMetrics
+ Network.AWS.Glue.GetCrawlers: instance Network.AWS.Pager.AWSPager Network.AWS.Glue.GetCrawlers.GetCrawlers
+ Network.AWS.Glue.GetDatabases: instance Network.AWS.Pager.AWSPager Network.AWS.Glue.GetDatabases.GetDatabases
+ Network.AWS.Glue.GetDevEndpoints: instance Network.AWS.Pager.AWSPager Network.AWS.Glue.GetDevEndpoints.GetDevEndpoints
+ Network.AWS.Glue.GetJobRuns: instance Network.AWS.Pager.AWSPager Network.AWS.Glue.GetJobRuns.GetJobRuns
+ Network.AWS.Glue.GetJobs: instance Network.AWS.Pager.AWSPager Network.AWS.Glue.GetJobs.GetJobs
+ Network.AWS.Glue.GetPartitions: instance Network.AWS.Pager.AWSPager Network.AWS.Glue.GetPartitions.GetPartitions
+ Network.AWS.Glue.GetPlan: gpLanguage :: Lens' GetPlan (Maybe Language)
+ Network.AWS.Glue.GetPlan: gpprsScalaCode :: Lens' GetPlanResponse (Maybe Text)
+ Network.AWS.Glue.GetTableVersion: data GetTableVersion
+ Network.AWS.Glue.GetTableVersion: data GetTableVersionResponse
+ Network.AWS.Glue.GetTableVersion: getTableVersion :: Text -> Text -> GetTableVersion
+ Network.AWS.Glue.GetTableVersion: getTableVersionResponse :: Int -> GetTableVersionResponse
+ Network.AWS.Glue.GetTableVersion: gtvCatalogId :: Lens' GetTableVersion (Maybe Text)
+ Network.AWS.Glue.GetTableVersion: gtvDatabaseName :: Lens' GetTableVersion Text
+ Network.AWS.Glue.GetTableVersion: gtvTableName :: Lens' GetTableVersion Text
+ Network.AWS.Glue.GetTableVersion: gtvVersionId :: Lens' GetTableVersion (Maybe Text)
+ Network.AWS.Glue.GetTableVersion: gtvrsResponseStatus :: Lens' GetTableVersionResponse Int
+ Network.AWS.Glue.GetTableVersion: gtvrsTableVersion :: Lens' GetTableVersionResponse (Maybe TableVersion)
+ Network.AWS.Glue.GetTableVersion: instance Control.DeepSeq.NFData Network.AWS.Glue.GetTableVersion.GetTableVersion
+ Network.AWS.Glue.GetTableVersion: instance Control.DeepSeq.NFData Network.AWS.Glue.GetTableVersion.GetTableVersionResponse
+ Network.AWS.Glue.GetTableVersion: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Glue.GetTableVersion.GetTableVersion
+ Network.AWS.Glue.GetTableVersion: instance Data.Data.Data Network.AWS.Glue.GetTableVersion.GetTableVersion
+ Network.AWS.Glue.GetTableVersion: instance Data.Data.Data Network.AWS.Glue.GetTableVersion.GetTableVersionResponse
+ Network.AWS.Glue.GetTableVersion: instance Data.Hashable.Class.Hashable Network.AWS.Glue.GetTableVersion.GetTableVersion
+ Network.AWS.Glue.GetTableVersion: instance GHC.Classes.Eq Network.AWS.Glue.GetTableVersion.GetTableVersion
+ Network.AWS.Glue.GetTableVersion: instance GHC.Classes.Eq Network.AWS.Glue.GetTableVersion.GetTableVersionResponse
+ Network.AWS.Glue.GetTableVersion: instance GHC.Generics.Generic Network.AWS.Glue.GetTableVersion.GetTableVersion
+ Network.AWS.Glue.GetTableVersion: instance GHC.Generics.Generic Network.AWS.Glue.GetTableVersion.GetTableVersionResponse
+ Network.AWS.Glue.GetTableVersion: instance GHC.Read.Read Network.AWS.Glue.GetTableVersion.GetTableVersion
+ Network.AWS.Glue.GetTableVersion: instance GHC.Read.Read Network.AWS.Glue.GetTableVersion.GetTableVersionResponse
+ Network.AWS.Glue.GetTableVersion: instance GHC.Show.Show Network.AWS.Glue.GetTableVersion.GetTableVersion
+ Network.AWS.Glue.GetTableVersion: instance GHC.Show.Show Network.AWS.Glue.GetTableVersion.GetTableVersionResponse
+ Network.AWS.Glue.GetTableVersion: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Glue.GetTableVersion.GetTableVersion
+ Network.AWS.Glue.GetTableVersion: instance Network.AWS.Data.Path.ToPath Network.AWS.Glue.GetTableVersion.GetTableVersion
+ Network.AWS.Glue.GetTableVersion: instance Network.AWS.Data.Query.ToQuery Network.AWS.Glue.GetTableVersion.GetTableVersion
+ Network.AWS.Glue.GetTableVersion: instance Network.AWS.Types.AWSRequest Network.AWS.Glue.GetTableVersion.GetTableVersion
+ Network.AWS.Glue.GetTableVersions: gtvsCatalogId :: Lens' GetTableVersions (Maybe Text)
+ Network.AWS.Glue.GetTableVersions: gtvsDatabaseName :: Lens' GetTableVersions Text
+ Network.AWS.Glue.GetTableVersions: gtvsMaxResults :: Lens' GetTableVersions (Maybe Natural)
+ Network.AWS.Glue.GetTableVersions: gtvsNextToken :: Lens' GetTableVersions (Maybe Text)
+ Network.AWS.Glue.GetTableVersions: gtvsTableName :: Lens' GetTableVersions Text
+ Network.AWS.Glue.GetTableVersions: gtvsrsNextToken :: Lens' GetTableVersionsResponse (Maybe Text)
+ Network.AWS.Glue.GetTableVersions: gtvsrsResponseStatus :: Lens' GetTableVersionsResponse Int
+ Network.AWS.Glue.GetTableVersions: gtvsrsTableVersions :: Lens' GetTableVersionsResponse [TableVersion]
+ Network.AWS.Glue.GetTableVersions: instance Network.AWS.Pager.AWSPager Network.AWS.Glue.GetTableVersions.GetTableVersions
+ Network.AWS.Glue.GetTables: instance Network.AWS.Pager.AWSPager Network.AWS.Glue.GetTables.GetTables
+ Network.AWS.Glue.GetTriggers: instance Network.AWS.Pager.AWSPager Network.AWS.Glue.GetTriggers.GetTriggers
+ Network.AWS.Glue.GetUserDefinedFunctions: instance Network.AWS.Pager.AWSPager Network.AWS.Glue.GetUserDefinedFunctions.GetUserDefinedFunctions
+ Network.AWS.Glue.StartJobRun: sjrTimeout :: Lens' StartJobRun (Maybe Natural)
+ Network.AWS.Glue.Types: Any :: Logical
+ Network.AWS.Glue.Types: Python :: Language
+ Network.AWS.Glue.Types: Scala :: Language
+ Network.AWS.Glue.Types: Timeout :: JobRunState
+ Network.AWS.Glue.Types: aTimeout :: Lens' Action (Maybe Natural)
+ Network.AWS.Glue.Types: cJSONClassifier :: Lens' Classifier (Maybe JSONClassifier)
+ Network.AWS.Glue.Types: cXMLClassifier :: Lens' Classifier (Maybe XMLClassifier)
+ Network.AWS.Glue.Types: cjcrJSONPath :: Lens' CreateJSONClassifierRequest Text
+ Network.AWS.Glue.Types: cjcrName :: Lens' CreateJSONClassifierRequest Text
+ Network.AWS.Glue.Types: craConfiguration :: Lens' Crawler (Maybe Text)
+ Network.AWS.Glue.Types: createJSONClassifierRequest :: Text -> Text -> CreateJSONClassifierRequest
+ Network.AWS.Glue.Types: createXMLClassifierRequest :: Text -> Text -> CreateXMLClassifierRequest
+ Network.AWS.Glue.Types: cxcrClassification :: Lens' CreateXMLClassifierRequest Text
+ Network.AWS.Glue.Types: cxcrName :: Lens' CreateXMLClassifierRequest Text
+ Network.AWS.Glue.Types: cxcrRowTag :: Lens' CreateXMLClassifierRequest (Maybe Text)
+ Network.AWS.Glue.Types: data CreateJSONClassifierRequest
+ Network.AWS.Glue.Types: data CreateXMLClassifierRequest
+ Network.AWS.Glue.Types: data JSONClassifier
+ Network.AWS.Glue.Types: data Language
+ Network.AWS.Glue.Types: data TableVersionError
+ Network.AWS.Glue.Types: data UpdateJSONClassifierRequest
+ Network.AWS.Glue.Types: data UpdateXMLClassifierRequest
+ Network.AWS.Glue.Types: data XMLClassifier
+ Network.AWS.Glue.Types: dePrivateAddress :: Lens' DevEndpoint (Maybe Text)
+ Network.AWS.Glue.Types: jTimeout :: Lens' Job (Maybe Natural)
+ Network.AWS.Glue.Types: jcCreationTime :: Lens' JSONClassifier (Maybe UTCTime)
+ Network.AWS.Glue.Types: jcJSONPath :: Lens' JSONClassifier Text
+ Network.AWS.Glue.Types: jcLastUpdated :: Lens' JSONClassifier (Maybe UTCTime)
+ Network.AWS.Glue.Types: jcVersion :: Lens' JSONClassifier (Maybe Integer)
+ Network.AWS.Glue.Types: jobName :: Lens' JobCommand (Maybe Text)
+ Network.AWS.Glue.Types: jobScriptLocation :: Lens' JobCommand (Maybe Text)
+ Network.AWS.Glue.Types: jrExecutionTime :: Lens' JobRun (Maybe Int)
+ Network.AWS.Glue.Types: jrTimeout :: Lens' JobRun (Maybe Natural)
+ Network.AWS.Glue.Types: jsonClassifier :: Text -> Text -> JSONClassifier
+ Network.AWS.Glue.Types: juTimeout :: Lens' JobUpdate (Maybe Natural)
+ Network.AWS.Glue.Types: tableVersionError :: TableVersionError
+ Network.AWS.Glue.Types: tveErrorDetail :: Lens' TableVersionError (Maybe ErrorDetail)
+ Network.AWS.Glue.Types: tveTableName :: Lens' TableVersionError (Maybe Text)
+ Network.AWS.Glue.Types: tveVersionId :: Lens' TableVersionError (Maybe Text)
+ Network.AWS.Glue.Types: ujcrJSONPath :: Lens' UpdateJSONClassifierRequest (Maybe Text)
+ Network.AWS.Glue.Types: ujcrName :: Lens' UpdateJSONClassifierRequest Text
+ Network.AWS.Glue.Types: updateJSONClassifierRequest :: Text -> UpdateJSONClassifierRequest
+ Network.AWS.Glue.Types: updateXMLClassifierRequest :: Text -> UpdateXMLClassifierRequest
+ Network.AWS.Glue.Types: uxcrClassification :: Lens' UpdateXMLClassifierRequest (Maybe Text)
+ Network.AWS.Glue.Types: uxcrName :: Lens' UpdateXMLClassifierRequest Text
+ Network.AWS.Glue.Types: uxcrRowTag :: Lens' UpdateXMLClassifierRequest (Maybe Text)
+ Network.AWS.Glue.Types: xcClassification :: Lens' XMLClassifier Text
+ Network.AWS.Glue.Types: xcCreationTime :: Lens' XMLClassifier (Maybe UTCTime)
+ Network.AWS.Glue.Types: xcLastUpdated :: Lens' XMLClassifier (Maybe UTCTime)
+ Network.AWS.Glue.Types: xcName :: Lens' XMLClassifier Text
+ Network.AWS.Glue.Types: xcRowTag :: Lens' XMLClassifier (Maybe Text)
+ Network.AWS.Glue.Types: xcVersion :: Lens' XMLClassifier (Maybe Integer)
+ Network.AWS.Glue.Types: xmlClassifier :: Text -> Text -> XMLClassifier
+ Network.AWS.Glue.UpdateClassifier: ucJSONClassifier :: Lens' UpdateClassifier (Maybe UpdateJSONClassifierRequest)
+ Network.AWS.Glue.UpdateClassifier: ucXMLClassifier :: Lens' UpdateClassifier (Maybe UpdateXMLClassifierRequest)
+ Network.AWS.Glue.UpdateCrawler: uConfiguration :: Lens' UpdateCrawler (Maybe Text)
+ Network.AWS.Glue.UpdateTable: utSkipArchive :: Lens' UpdateTable (Maybe Bool)
- Network.AWS.Glue: ciConnectionType :: Lens' ConnectionInput (Maybe ConnectionType)
+ Network.AWS.Glue: ciConnectionType :: Lens' ConnectionInput ConnectionType
- Network.AWS.Glue: ciName :: Lens' ConnectionInput (Maybe Text)
+ Network.AWS.Glue: ciName :: Lens' ConnectionInput Text
- Network.AWS.Glue: connectionInput :: ConnectionInput
+ Network.AWS.Glue: connectionInput :: Text -> ConnectionType -> ConnectionInput
- Network.AWS.Glue: jcName :: Lens' JobCommand (Maybe Text)
+ Network.AWS.Glue: jcName :: Lens' JSONClassifier Text
- Network.AWS.Glue.CreateDevEndpoint: cdePublicKey :: Lens' CreateDevEndpoint Text
+ Network.AWS.Glue.CreateDevEndpoint: cdePublicKey :: Lens' CreateDevEndpoint (Maybe Text)
- Network.AWS.Glue.CreateDevEndpoint: createDevEndpoint :: Text -> Text -> Text -> CreateDevEndpoint
+ Network.AWS.Glue.CreateDevEndpoint: createDevEndpoint :: Text -> Text -> CreateDevEndpoint
- Network.AWS.Glue.Types: ciConnectionType :: Lens' ConnectionInput (Maybe ConnectionType)
+ Network.AWS.Glue.Types: ciConnectionType :: Lens' ConnectionInput ConnectionType
- Network.AWS.Glue.Types: ciName :: Lens' ConnectionInput (Maybe Text)
+ Network.AWS.Glue.Types: ciName :: Lens' ConnectionInput Text
- Network.AWS.Glue.Types: connectionInput :: ConnectionInput
+ Network.AWS.Glue.Types: connectionInput :: Text -> ConnectionType -> ConnectionInput
- Network.AWS.Glue.Types: jcName :: Lens' JobCommand (Maybe Text)
+ Network.AWS.Glue.Types: jcName :: Lens' JSONClassifier Text

Files

README.md view
@@ -8,7 +8,7 @@  ## Version -`1.5.0`+`1.6.0`   ## Description
amazonka-glue.cabal view
@@ -1,5 +1,5 @@ name:                  amazonka-glue-version:               1.5.0+version:               1.6.0 synopsis:              Amazon Glue SDK. homepage:              https://github.com/brendanhay/amazonka bug-reports:           https://github.com/brendanhay/amazonka/issues@@ -7,7 +7,7 @@ license-file:          LICENSE author:                Brendan Hay maintainer:            Brendan Hay <brendan.g.hay+amazonka@gmail.com>-copyright:             Copyright (c) 2013-2017 Brendan Hay+copyright:             Copyright (c) 2013-2018 Brendan Hay category:              Network, AWS, Cloud, Distributed Computing build-type:            Simple cabal-version:         >= 1.10@@ -49,6 +49,7 @@         , Network.AWS.Glue.BatchDeleteConnection         , Network.AWS.Glue.BatchDeletePartition         , Network.AWS.Glue.BatchDeleteTable+        , Network.AWS.Glue.BatchDeleteTableVersion         , Network.AWS.Glue.BatchGetPartition         , Network.AWS.Glue.BatchStopJobRun         , Network.AWS.Glue.CreateClassifier@@ -70,6 +71,7 @@         , Network.AWS.Glue.DeleteJob         , Network.AWS.Glue.DeletePartition         , Network.AWS.Glue.DeleteTable+        , Network.AWS.Glue.DeleteTableVersion         , Network.AWS.Glue.DeleteTrigger         , Network.AWS.Glue.DeleteUserDefinedFunction         , Network.AWS.Glue.GetCatalogImportStatus@@ -94,6 +96,7 @@         , Network.AWS.Glue.GetPartitions         , Network.AWS.Glue.GetPlan         , Network.AWS.Glue.GetTable+        , Network.AWS.Glue.GetTableVersion         , Network.AWS.Glue.GetTableVersions         , Network.AWS.Glue.GetTables         , Network.AWS.Glue.GetTrigger@@ -128,7 +131,7 @@         , Network.AWS.Glue.Types.Sum      build-depends:-          amazonka-core == 1.5.0.*+          amazonka-core == 1.6.0.*         , base          >= 4.7     && < 5  test-suite amazonka-glue-test@@ -148,8 +151,8 @@         , Test.AWS.Glue.Internal      build-depends:-          amazonka-core == 1.5.0.*-        , amazonka-test == 1.5.0.*+          amazonka-core == 1.6.0.*+        , amazonka-test == 1.6.0.*         , amazonka-glue         , base         , bytestring
+ fixture/BatchDeleteTableVersion.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/BatchDeleteTableVersionResponse.proto view
+ fixture/DeleteTableVersion.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/DeleteTableVersionResponse.proto view
+ fixture/GetTableVersion.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/glue/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  glue.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/GetTableVersionResponse.proto view
gen/Network/AWS/Glue.hs view
@@ -5,7 +5,7 @@  -- | -- Module      : Network.AWS.Glue--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -110,7 +110,7 @@     -- ** UpdateConnection     , module Network.AWS.Glue.UpdateConnection -    -- ** GetUserDefinedFunctions+    -- ** GetUserDefinedFunctions (Paginated)     , module Network.AWS.Glue.GetUserDefinedFunctions      -- ** BatchCreatePartition@@ -119,15 +119,21 @@     -- ** GetMapping     , module Network.AWS.Glue.GetMapping -    -- ** GetJobs+    -- ** GetTableVersion+    , module Network.AWS.Glue.GetTableVersion++    -- ** GetJobs (Paginated)     , module Network.AWS.Glue.GetJobs -    -- ** GetClassifiers+    -- ** GetClassifiers (Paginated)     , module Network.AWS.Glue.GetClassifiers      -- ** CreateConnection     , module Network.AWS.Glue.CreateConnection +    -- ** DeleteTableVersion+    , module Network.AWS.Glue.DeleteTableVersion+     -- ** DeleteDevEndpoint     , module Network.AWS.Glue.DeleteDevEndpoint @@ -161,7 +167,7 @@     -- ** BatchDeleteTable     , module Network.AWS.Glue.BatchDeleteTable -    -- ** GetTables+    -- ** GetTables (Paginated)     , module Network.AWS.Glue.GetTables      -- ** CreateClassifier@@ -173,7 +179,7 @@     -- ** CreateJob     , module Network.AWS.Glue.CreateJob -    -- ** GetJobRuns+    -- ** GetJobRuns (Paginated)     , module Network.AWS.Glue.GetJobRuns      -- ** CreateUserDefinedFunction@@ -188,7 +194,7 @@     -- ** UpdateJob     , module Network.AWS.Glue.UpdateJob -    -- ** GetCrawlers+    -- ** GetCrawlers (Paginated)     , module Network.AWS.Glue.GetCrawlers      -- ** GetClassifier@@ -197,7 +203,10 @@     -- ** GetJob     , module Network.AWS.Glue.GetJob -    -- ** GetDevEndpoints+    -- ** BatchDeleteTableVersion+    , module Network.AWS.Glue.BatchDeleteTableVersion++    -- ** GetDevEndpoints (Paginated)     , module Network.AWS.Glue.GetDevEndpoints      -- ** StartCrawlerSchedule@@ -215,7 +224,7 @@     -- ** StopCrawler     , module Network.AWS.Glue.StopCrawler -    -- ** GetPartitions+    -- ** GetPartitions (Paginated)     , module Network.AWS.Glue.GetPartitions      -- ** BatchDeletePartition@@ -233,13 +242,13 @@     -- ** CreateTable     , module Network.AWS.Glue.CreateTable -    -- ** GetCrawlerMetrics+    -- ** GetCrawlerMetrics (Paginated)     , module Network.AWS.Glue.GetCrawlerMetrics      -- ** GetPlan     , module Network.AWS.Glue.GetPlan -    -- ** GetTriggers+    -- ** GetTriggers (Paginated)     , module Network.AWS.Glue.GetTriggers      -- ** StartTrigger@@ -248,7 +257,7 @@     -- ** GetDataflowGraph     , module Network.AWS.Glue.GetDataflowGraph -    -- ** GetDatabases+    -- ** GetDatabases (Paginated)     , module Network.AWS.Glue.GetDatabases      -- ** GetTable@@ -275,7 +284,7 @@     -- ** CreateScript     , module Network.AWS.Glue.CreateScript -    -- ** GetConnections+    -- ** GetConnections (Paginated)     , module Network.AWS.Glue.GetConnections      -- ** GetTrigger@@ -302,7 +311,7 @@     -- ** CreateDatabase     , module Network.AWS.Glue.CreateDatabase -    -- ** GetTableVersions+    -- ** GetTableVersions (Paginated)     , module Network.AWS.Glue.GetTableVersions      -- ** DeleteTrigger@@ -328,6 +337,9 @@     -- ** JobRunState     , JobRunState (..) +    -- ** Language+    , Language (..)+     -- ** LastCrawlStatus     , LastCrawlStatus (..) @@ -360,6 +372,7 @@     , action     , aArguments     , aJobName+    , aTimeout      -- ** BatchStopJobRunError     , BatchStopJobRunError@@ -391,6 +404,8 @@     , Classifier     , classifier     , cGrokClassifier+    , cXMLClassifier+    , cJSONClassifier      -- ** CodeGenEdge     , CodeGenEdge@@ -444,12 +459,12 @@     -- ** ConnectionInput     , ConnectionInput     , connectionInput-    , ciConnectionProperties     , ciMatchCriteria     , ciPhysicalConnectionRequirements-    , ciName     , ciDescription+    , ciName     , ciConnectionType+    , ciConnectionProperties      -- ** ConnectionsList     , ConnectionsList@@ -472,6 +487,7 @@     , craTargets     , craVersion     , craDatabaseName+    , craConfiguration     , craTablePrefix     , craDescription @@ -501,6 +517,19 @@     , cgcrName     , cgcrGrokPattern +    -- ** CreateJSONClassifierRequest+    , CreateJSONClassifierRequest+    , createJSONClassifierRequest+    , cjcrName+    , cjcrJSONPath++    -- ** CreateXMLClassifierRequest+    , CreateXMLClassifierRequest+    , createXMLClassifierRequest+    , cxcrRowTag+    , cxcrClassification+    , cxcrName+     -- ** Database     , Database     , database@@ -529,6 +558,7 @@     , deSecurityGroupIds     , deLastModifiedTimestamp     , deVPCId+    , dePrivateAddress     , dePublicKey     , deSubnetId     , deNumberOfNodes@@ -574,6 +604,15 @@     , gcClassification     , gcGrokPattern +    -- ** JSONClassifier+    , JSONClassifier+    , jsonClassifier+    , jcCreationTime+    , jcLastUpdated+    , jcVersion+    , jcName+    , jcJSONPath+     -- ** JdbcTarget     , JdbcTarget     , jdbcTarget@@ -593,6 +632,7 @@     , jMaxRetries     , jExecutionProperty     , jAllocatedCapacity+    , jTimeout     , jDefaultArguments     , jDescription     , jCreatedOn@@ -609,8 +649,8 @@     -- ** JobCommand     , JobCommand     , jobCommand-    , jcScriptLocation-    , jcName+    , jobScriptLocation+    , jobName      -- ** JobRun     , JobRun@@ -622,11 +662,13 @@     , jrJobName     , jrStartedOn     , jrJobRunState+    , jrExecutionTime     , jrPredecessorRuns     , jrPreviousRunId     , jrId     , jrAttempt     , jrAllocatedCapacity+    , jrTimeout     , jrErrorMessage      -- ** JobUpdate@@ -639,6 +681,7 @@     , juMaxRetries     , juExecutionProperty     , juAllocatedCapacity+    , juTimeout     , juDefaultArguments     , juDescription @@ -833,6 +876,13 @@     , tvVersionId     , tvTable +    -- ** TableVersionError+    , TableVersionError+    , tableVersionError+    , tveVersionId+    , tveTableName+    , tveErrorDetail+     -- ** Trigger     , Trigger     , trigger@@ -862,6 +912,19 @@     , ugcrGrokPattern     , ugcrName +    -- ** UpdateJSONClassifierRequest+    , UpdateJSONClassifierRequest+    , updateJSONClassifierRequest+    , ujcrJSONPath+    , ujcrName++    -- ** UpdateXMLClassifierRequest+    , UpdateXMLClassifierRequest+    , updateXMLClassifierRequest+    , uxcrClassification+    , uxcrRowTag+    , uxcrName+     -- ** UserDefinedFunction     , UserDefinedFunction     , userDefinedFunction@@ -880,12 +943,23 @@     , udfiFunctionName     , udfiOwnerType     , udfiClassName++    -- ** XMLClassifier+    , XMLClassifier+    , xmlClassifier+    , xcCreationTime+    , xcLastUpdated+    , xcVersion+    , xcRowTag+    , xcName+    , xcClassification     ) where  import Network.AWS.Glue.BatchCreatePartition import Network.AWS.Glue.BatchDeleteConnection import Network.AWS.Glue.BatchDeletePartition import Network.AWS.Glue.BatchDeleteTable+import Network.AWS.Glue.BatchDeleteTableVersion import Network.AWS.Glue.BatchGetPartition import Network.AWS.Glue.BatchStopJobRun import Network.AWS.Glue.CreateClassifier@@ -907,6 +981,7 @@ import Network.AWS.Glue.DeleteJob import Network.AWS.Glue.DeletePartition import Network.AWS.Glue.DeleteTable+import Network.AWS.Glue.DeleteTableVersion import Network.AWS.Glue.DeleteTrigger import Network.AWS.Glue.DeleteUserDefinedFunction import Network.AWS.Glue.GetCatalogImportStatus@@ -932,6 +1007,7 @@ import Network.AWS.Glue.GetPlan import Network.AWS.Glue.GetTable import Network.AWS.Glue.GetTables+import Network.AWS.Glue.GetTableVersion import Network.AWS.Glue.GetTableVersions import Network.AWS.Glue.GetTrigger import Network.AWS.Glue.GetTriggers
gen/Network/AWS/Glue/BatchCreatePartition.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.BatchCreatePartition--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -73,28 +73,28 @@     -> BatchCreatePartition batchCreatePartition pDatabaseName_ pTableName_ =   BatchCreatePartition'-  { _bcpCatalogId = Nothing-  , _bcpDatabaseName = pDatabaseName_-  , _bcpTableName = pTableName_-  , _bcpPartitionInputList = mempty-  }+    { _bcpCatalogId = Nothing+    , _bcpDatabaseName = pDatabaseName_+    , _bcpTableName = pTableName_+    , _bcpPartitionInputList = mempty+    }   -- | The ID of the catalog in which the partion is to be created. Currently, this should be the AWS account ID. bcpCatalogId :: Lens' BatchCreatePartition (Maybe Text)-bcpCatalogId = lens _bcpCatalogId (\ s a -> s{_bcpCatalogId = a});+bcpCatalogId = lens _bcpCatalogId (\ s a -> s{_bcpCatalogId = a})  -- | The name of the metadata database in which the partition is to be created. bcpDatabaseName :: Lens' BatchCreatePartition Text-bcpDatabaseName = lens _bcpDatabaseName (\ s a -> s{_bcpDatabaseName = a});+bcpDatabaseName = lens _bcpDatabaseName (\ s a -> s{_bcpDatabaseName = a})  -- | The name of the metadata table in which the partition is to be created. bcpTableName :: Lens' BatchCreatePartition Text-bcpTableName = lens _bcpTableName (\ s a -> s{_bcpTableName = a});+bcpTableName = lens _bcpTableName (\ s a -> s{_bcpTableName = a})  -- | A list of @PartitionInput@ structures that define the partitions to be created. bcpPartitionInputList :: Lens' BatchCreatePartition [PartitionInput]-bcpPartitionInputList = lens _bcpPartitionInputList (\ s a -> s{_bcpPartitionInputList = a}) . _Coerce;+bcpPartitionInputList = lens _bcpPartitionInputList (\ s a -> s{_bcpPartitionInputList = a}) . _Coerce  instance AWSRequest BatchCreatePartition where         type Rs BatchCreatePartition =@@ -154,15 +154,15 @@     -> BatchCreatePartitionResponse batchCreatePartitionResponse pResponseStatus_ =   BatchCreatePartitionResponse'-  {_bcprsErrors = Nothing, _bcprsResponseStatus = pResponseStatus_}+    {_bcprsErrors = Nothing, _bcprsResponseStatus = pResponseStatus_}   -- | Errors encountered when trying to create the requested partitions. bcprsErrors :: Lens' BatchCreatePartitionResponse [PartitionError]-bcprsErrors = lens _bcprsErrors (\ s a -> s{_bcprsErrors = a}) . _Default . _Coerce;+bcprsErrors = lens _bcprsErrors (\ s a -> s{_bcprsErrors = a}) . _Default . _Coerce  -- | -- | The response status code. bcprsResponseStatus :: Lens' BatchCreatePartitionResponse Int-bcprsResponseStatus = lens _bcprsResponseStatus (\ s a -> s{_bcprsResponseStatus = a});+bcprsResponseStatus = lens _bcprsResponseStatus (\ s a -> s{_bcprsResponseStatus = a})  instance NFData BatchCreatePartitionResponse where
gen/Network/AWS/Glue/BatchDeleteConnection.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.BatchDeleteConnection--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -64,16 +64,16 @@     :: BatchDeleteConnection batchDeleteConnection =   BatchDeleteConnection'-  {_bdcCatalogId = Nothing, _bdcConnectionNameList = mempty}+    {_bdcCatalogId = Nothing, _bdcConnectionNameList = mempty}   -- | The ID of the Data Catalog in which the connections reside. If none is supplied, the AWS account ID is used by default. bdcCatalogId :: Lens' BatchDeleteConnection (Maybe Text)-bdcCatalogId = lens _bdcCatalogId (\ s a -> s{_bdcCatalogId = a});+bdcCatalogId = lens _bdcCatalogId (\ s a -> s{_bdcCatalogId = a})  -- | A list of names of the connections to delete. bdcConnectionNameList :: Lens' BatchDeleteConnection [Text]-bdcConnectionNameList = lens _bdcConnectionNameList (\ s a -> s{_bdcConnectionNameList = a}) . _Coerce;+bdcConnectionNameList = lens _bdcConnectionNameList (\ s a -> s{_bdcConnectionNameList = a}) . _Coerce  instance AWSRequest BatchDeleteConnection where         type Rs BatchDeleteConnection =@@ -136,22 +136,22 @@     -> BatchDeleteConnectionResponse batchDeleteConnectionResponse pResponseStatus_ =   BatchDeleteConnectionResponse'-  { _bdcrsSucceeded = Nothing-  , _bdcrsErrors = Nothing-  , _bdcrsResponseStatus = pResponseStatus_-  }+    { _bdcrsSucceeded = Nothing+    , _bdcrsErrors = Nothing+    , _bdcrsResponseStatus = pResponseStatus_+    }   -- | A list of names of the connection definitions that were successfully deleted. bdcrsSucceeded :: Lens' BatchDeleteConnectionResponse [Text]-bdcrsSucceeded = lens _bdcrsSucceeded (\ s a -> s{_bdcrsSucceeded = a}) . _Default . _Coerce;+bdcrsSucceeded = lens _bdcrsSucceeded (\ s a -> s{_bdcrsSucceeded = a}) . _Default . _Coerce  -- | A map of the names of connections that were not successfully deleted to error details. bdcrsErrors :: Lens' BatchDeleteConnectionResponse (HashMap Text ErrorDetail)-bdcrsErrors = lens _bdcrsErrors (\ s a -> s{_bdcrsErrors = a}) . _Default . _Map;+bdcrsErrors = lens _bdcrsErrors (\ s a -> s{_bdcrsErrors = a}) . _Default . _Map  -- | -- | The response status code. bdcrsResponseStatus :: Lens' BatchDeleteConnectionResponse Int-bdcrsResponseStatus = lens _bdcrsResponseStatus (\ s a -> s{_bdcrsResponseStatus = a});+bdcrsResponseStatus = lens _bdcrsResponseStatus (\ s a -> s{_bdcrsResponseStatus = a})  instance NFData BatchDeleteConnectionResponse where
gen/Network/AWS/Glue/BatchDeletePartition.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.BatchDeletePartition--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -73,28 +73,28 @@     -> BatchDeletePartition batchDeletePartition pDatabaseName_ pTableName_ =   BatchDeletePartition'-  { _bdpCatalogId = Nothing-  , _bdpDatabaseName = pDatabaseName_-  , _bdpTableName = pTableName_-  , _bdpPartitionsToDelete = mempty-  }+    { _bdpCatalogId = Nothing+    , _bdpDatabaseName = pDatabaseName_+    , _bdpTableName = pTableName_+    , _bdpPartitionsToDelete = mempty+    }   -- | The ID of the Data Catalog where the partition to be deleted resides. If none is supplied, the AWS account ID is used by default. bdpCatalogId :: Lens' BatchDeletePartition (Maybe Text)-bdpCatalogId = lens _bdpCatalogId (\ s a -> s{_bdpCatalogId = a});+bdpCatalogId = lens _bdpCatalogId (\ s a -> s{_bdpCatalogId = a})  -- | The name of the catalog database in which the table in question resides. bdpDatabaseName :: Lens' BatchDeletePartition Text-bdpDatabaseName = lens _bdpDatabaseName (\ s a -> s{_bdpDatabaseName = a});+bdpDatabaseName = lens _bdpDatabaseName (\ s a -> s{_bdpDatabaseName = a})  -- | The name of the table where the partitions to be deleted is located. bdpTableName :: Lens' BatchDeletePartition Text-bdpTableName = lens _bdpTableName (\ s a -> s{_bdpTableName = a});+bdpTableName = lens _bdpTableName (\ s a -> s{_bdpTableName = a})  -- | A list of @PartitionInput@ structures that define the partitions to be deleted. bdpPartitionsToDelete :: Lens' BatchDeletePartition [PartitionValueList]-bdpPartitionsToDelete = lens _bdpPartitionsToDelete (\ s a -> s{_bdpPartitionsToDelete = a}) . _Coerce;+bdpPartitionsToDelete = lens _bdpPartitionsToDelete (\ s a -> s{_bdpPartitionsToDelete = a}) . _Coerce  instance AWSRequest BatchDeletePartition where         type Rs BatchDeletePartition =@@ -154,15 +154,15 @@     -> BatchDeletePartitionResponse batchDeletePartitionResponse pResponseStatus_ =   BatchDeletePartitionResponse'-  {_bdprsErrors = Nothing, _bdprsResponseStatus = pResponseStatus_}+    {_bdprsErrors = Nothing, _bdprsResponseStatus = pResponseStatus_}   -- | Errors encountered when trying to delete the requested partitions. bdprsErrors :: Lens' BatchDeletePartitionResponse [PartitionError]-bdprsErrors = lens _bdprsErrors (\ s a -> s{_bdprsErrors = a}) . _Default . _Coerce;+bdprsErrors = lens _bdprsErrors (\ s a -> s{_bdprsErrors = a}) . _Default . _Coerce  -- | -- | The response status code. bdprsResponseStatus :: Lens' BatchDeletePartitionResponse Int-bdprsResponseStatus = lens _bdprsResponseStatus (\ s a -> s{_bdprsResponseStatus = a});+bdprsResponseStatus = lens _bdprsResponseStatus (\ s a -> s{_bdprsResponseStatus = a})  instance NFData BatchDeletePartitionResponse where
gen/Network/AWS/Glue/BatchDeleteTable.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.BatchDeleteTable--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -60,7 +60,7 @@ -- -- * 'bdtCatalogId' - The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default. ----- * 'bdtDatabaseName' - The name of the catalog database where the tables to delete reside.+-- * 'bdtDatabaseName' - The name of the catalog database where the tables to delete reside. For Hive compatibility, this name is entirely lowercase. -- -- * 'bdtTablesToDelete' - A list of the table to delete. batchDeleteTable@@ -68,23 +68,23 @@     -> BatchDeleteTable batchDeleteTable pDatabaseName_ =   BatchDeleteTable'-  { _bdtCatalogId = Nothing-  , _bdtDatabaseName = pDatabaseName_-  , _bdtTablesToDelete = mempty-  }+    { _bdtCatalogId = Nothing+    , _bdtDatabaseName = pDatabaseName_+    , _bdtTablesToDelete = mempty+    }   -- | The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default. bdtCatalogId :: Lens' BatchDeleteTable (Maybe Text)-bdtCatalogId = lens _bdtCatalogId (\ s a -> s{_bdtCatalogId = a});+bdtCatalogId = lens _bdtCatalogId (\ s a -> s{_bdtCatalogId = a}) --- | The name of the catalog database where the tables to delete reside.+-- | The name of the catalog database where the tables to delete reside. For Hive compatibility, this name is entirely lowercase. bdtDatabaseName :: Lens' BatchDeleteTable Text-bdtDatabaseName = lens _bdtDatabaseName (\ s a -> s{_bdtDatabaseName = a});+bdtDatabaseName = lens _bdtDatabaseName (\ s a -> s{_bdtDatabaseName = a})  -- | A list of the table to delete. bdtTablesToDelete :: Lens' BatchDeleteTable [Text]-bdtTablesToDelete = lens _bdtTablesToDelete (\ s a -> s{_bdtTablesToDelete = a}) . _Coerce;+bdtTablesToDelete = lens _bdtTablesToDelete (\ s a -> s{_bdtTablesToDelete = a}) . _Coerce  instance AWSRequest BatchDeleteTable where         type Rs BatchDeleteTable = BatchDeleteTableResponse@@ -141,15 +141,15 @@     -> BatchDeleteTableResponse batchDeleteTableResponse pResponseStatus_ =   BatchDeleteTableResponse'-  {_bdtrsErrors = Nothing, _bdtrsResponseStatus = pResponseStatus_}+    {_bdtrsErrors = Nothing, _bdtrsResponseStatus = pResponseStatus_}   -- | A list of errors encountered in attempting to delete the specified tables. bdtrsErrors :: Lens' BatchDeleteTableResponse [TableError]-bdtrsErrors = lens _bdtrsErrors (\ s a -> s{_bdtrsErrors = a}) . _Default . _Coerce;+bdtrsErrors = lens _bdtrsErrors (\ s a -> s{_bdtrsErrors = a}) . _Default . _Coerce  -- | -- | The response status code. bdtrsResponseStatus :: Lens' BatchDeleteTableResponse Int-bdtrsResponseStatus = lens _bdtrsResponseStatus (\ s a -> s{_bdtrsResponseStatus = a});+bdtrsResponseStatus = lens _bdtrsResponseStatus (\ s a -> s{_bdtrsResponseStatus = a})  instance NFData BatchDeleteTableResponse where
+ gen/Network/AWS/Glue/BatchDeleteTableVersion.hs view
@@ -0,0 +1,167 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Glue.BatchDeleteTableVersion+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a specified batch of versions of a table.+--+--+module Network.AWS.Glue.BatchDeleteTableVersion+    (+    -- * Creating a Request+      batchDeleteTableVersion+    , BatchDeleteTableVersion+    -- * Request Lenses+    , bdtvCatalogId+    , bdtvDatabaseName+    , bdtvTableName+    , bdtvVersionIds++    -- * Destructuring the Response+    , batchDeleteTableVersionResponse+    , BatchDeleteTableVersionResponse+    -- * Response Lenses+    , bdtvrsErrors+    , bdtvrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'batchDeleteTableVersion' smart constructor.+data BatchDeleteTableVersion = BatchDeleteTableVersion'+  { _bdtvCatalogId    :: !(Maybe Text)+  , _bdtvDatabaseName :: !Text+  , _bdtvTableName    :: !Text+  , _bdtvVersionIds   :: ![Text]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchDeleteTableVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bdtvCatalogId' - The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default.+--+-- * 'bdtvDatabaseName' - The database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase.+--+-- * 'bdtvTableName' - The name of the table. For Hive compatibility, this name is entirely lowercase.+--+-- * 'bdtvVersionIds' - A list of the IDs of versions to be deleted.+batchDeleteTableVersion+    :: Text -- ^ 'bdtvDatabaseName'+    -> Text -- ^ 'bdtvTableName'+    -> BatchDeleteTableVersion+batchDeleteTableVersion pDatabaseName_ pTableName_ =+  BatchDeleteTableVersion'+    { _bdtvCatalogId = Nothing+    , _bdtvDatabaseName = pDatabaseName_+    , _bdtvTableName = pTableName_+    , _bdtvVersionIds = mempty+    }+++-- | The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default.+bdtvCatalogId :: Lens' BatchDeleteTableVersion (Maybe Text)+bdtvCatalogId = lens _bdtvCatalogId (\ s a -> s{_bdtvCatalogId = a})++-- | The database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase.+bdtvDatabaseName :: Lens' BatchDeleteTableVersion Text+bdtvDatabaseName = lens _bdtvDatabaseName (\ s a -> s{_bdtvDatabaseName = a})++-- | The name of the table. For Hive compatibility, this name is entirely lowercase.+bdtvTableName :: Lens' BatchDeleteTableVersion Text+bdtvTableName = lens _bdtvTableName (\ s a -> s{_bdtvTableName = a})++-- | A list of the IDs of versions to be deleted.+bdtvVersionIds :: Lens' BatchDeleteTableVersion [Text]+bdtvVersionIds = lens _bdtvVersionIds (\ s a -> s{_bdtvVersionIds = a}) . _Coerce++instance AWSRequest BatchDeleteTableVersion where+        type Rs BatchDeleteTableVersion =+             BatchDeleteTableVersionResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 BatchDeleteTableVersionResponse' <$>+                   (x .?> "Errors" .!@ mempty) <*> (pure (fromEnum s)))++instance Hashable BatchDeleteTableVersion where++instance NFData BatchDeleteTableVersion where++instance ToHeaders BatchDeleteTableVersion where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.BatchDeleteTableVersion" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON BatchDeleteTableVersion where+        toJSON BatchDeleteTableVersion'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _bdtvCatalogId,+                  Just ("DatabaseName" .= _bdtvDatabaseName),+                  Just ("TableName" .= _bdtvTableName),+                  Just ("VersionIds" .= _bdtvVersionIds)])++instance ToPath BatchDeleteTableVersion where+        toPath = const "/"++instance ToQuery BatchDeleteTableVersion where+        toQuery = const mempty++-- | /See:/ 'batchDeleteTableVersionResponse' smart constructor.+data BatchDeleteTableVersionResponse = BatchDeleteTableVersionResponse'+  { _bdtvrsErrors         :: !(Maybe [TableVersionError])+  , _bdtvrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchDeleteTableVersionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bdtvrsErrors' - A list of errors encountered while trying to delete the specified table versions.+--+-- * 'bdtvrsResponseStatus' - -- | The response status code.+batchDeleteTableVersionResponse+    :: Int -- ^ 'bdtvrsResponseStatus'+    -> BatchDeleteTableVersionResponse+batchDeleteTableVersionResponse pResponseStatus_ =+  BatchDeleteTableVersionResponse'+    {_bdtvrsErrors = Nothing, _bdtvrsResponseStatus = pResponseStatus_}+++-- | A list of errors encountered while trying to delete the specified table versions.+bdtvrsErrors :: Lens' BatchDeleteTableVersionResponse [TableVersionError]+bdtvrsErrors = lens _bdtvrsErrors (\ s a -> s{_bdtvrsErrors = a}) . _Default . _Coerce++-- | -- | The response status code.+bdtvrsResponseStatus :: Lens' BatchDeleteTableVersionResponse Int+bdtvrsResponseStatus = lens _bdtvrsResponseStatus (\ s a -> s{_bdtvrsResponseStatus = a})++instance NFData BatchDeleteTableVersionResponse where
gen/Network/AWS/Glue/BatchGetPartition.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.BatchGetPartition--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -74,28 +74,28 @@     -> BatchGetPartition batchGetPartition pDatabaseName_ pTableName_ =   BatchGetPartition'-  { _bgpCatalogId = Nothing-  , _bgpDatabaseName = pDatabaseName_-  , _bgpTableName = pTableName_-  , _bgpPartitionsToGet = mempty-  }+    { _bgpCatalogId = Nothing+    , _bgpDatabaseName = pDatabaseName_+    , _bgpTableName = pTableName_+    , _bgpPartitionsToGet = mempty+    }   -- | The ID of the Data Catalog where the partitions in question reside. If none is supplied, the AWS account ID is used by default. bgpCatalogId :: Lens' BatchGetPartition (Maybe Text)-bgpCatalogId = lens _bgpCatalogId (\ s a -> s{_bgpCatalogId = a});+bgpCatalogId = lens _bgpCatalogId (\ s a -> s{_bgpCatalogId = a})  -- | The name of the catalog database where the partitions reside. bgpDatabaseName :: Lens' BatchGetPartition Text-bgpDatabaseName = lens _bgpDatabaseName (\ s a -> s{_bgpDatabaseName = a});+bgpDatabaseName = lens _bgpDatabaseName (\ s a -> s{_bgpDatabaseName = a})  -- | The name of the partitions' table. bgpTableName :: Lens' BatchGetPartition Text-bgpTableName = lens _bgpTableName (\ s a -> s{_bgpTableName = a});+bgpTableName = lens _bgpTableName (\ s a -> s{_bgpTableName = a})  -- | A list of partition values identifying the partitions to retrieve. bgpPartitionsToGet :: Lens' BatchGetPartition [PartitionValueList]-bgpPartitionsToGet = lens _bgpPartitionsToGet (\ s a -> s{_bgpPartitionsToGet = a}) . _Coerce;+bgpPartitionsToGet = lens _bgpPartitionsToGet (\ s a -> s{_bgpPartitionsToGet = a}) . _Coerce  instance AWSRequest BatchGetPartition where         type Rs BatchGetPartition = BatchGetPartitionResponse@@ -158,22 +158,22 @@     -> BatchGetPartitionResponse batchGetPartitionResponse pResponseStatus_ =   BatchGetPartitionResponse'-  { _bgprsUnprocessedKeys = Nothing-  , _bgprsPartitions = Nothing-  , _bgprsResponseStatus = pResponseStatus_-  }+    { _bgprsUnprocessedKeys = Nothing+    , _bgprsPartitions = Nothing+    , _bgprsResponseStatus = pResponseStatus_+    }   -- | A list of the partition values in the request for which partions were not returned. bgprsUnprocessedKeys :: Lens' BatchGetPartitionResponse [PartitionValueList]-bgprsUnprocessedKeys = lens _bgprsUnprocessedKeys (\ s a -> s{_bgprsUnprocessedKeys = a}) . _Default . _Coerce;+bgprsUnprocessedKeys = lens _bgprsUnprocessedKeys (\ s a -> s{_bgprsUnprocessedKeys = a}) . _Default . _Coerce  -- | A list of the requested partitions. bgprsPartitions :: Lens' BatchGetPartitionResponse [Partition]-bgprsPartitions = lens _bgprsPartitions (\ s a -> s{_bgprsPartitions = a}) . _Default . _Coerce;+bgprsPartitions = lens _bgprsPartitions (\ s a -> s{_bgprsPartitions = a}) . _Default . _Coerce  -- | -- | The response status code. bgprsResponseStatus :: Lens' BatchGetPartitionResponse Int-bgprsResponseStatus = lens _bgprsResponseStatus (\ s a -> s{_bgprsResponseStatus = a});+bgprsResponseStatus = lens _bgprsResponseStatus (\ s a -> s{_bgprsResponseStatus = a})  instance NFData BatchGetPartitionResponse where
gen/Network/AWS/Glue/BatchStopJobRun.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.Glue.BatchStopJobRun--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Stops a batch of job runs for a given job.+-- Stops one or more job runs for a specified job definition. -- -- module Network.AWS.Glue.BatchStopJobRun@@ -57,25 +57,25 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'bsjrJobName' - The name of the job whose job runs are to be stopped.+-- * 'bsjrJobName' - The name of the job definition for which to stop job runs. ----- * 'bsjrJobRunIds' - A list of job run Ids of the given job to be stopped.+-- * 'bsjrJobRunIds' - A list of the JobRunIds that should be stopped for that job definition. batchStopJobRun     :: Text -- ^ 'bsjrJobName'     -> NonEmpty Text -- ^ 'bsjrJobRunIds'     -> BatchStopJobRun batchStopJobRun pJobName_ pJobRunIds_ =   BatchStopJobRun'-  {_bsjrJobName = pJobName_, _bsjrJobRunIds = _List1 # pJobRunIds_}+    {_bsjrJobName = pJobName_, _bsjrJobRunIds = _List1 # pJobRunIds_}  --- | The name of the job whose job runs are to be stopped.+-- | The name of the job definition for which to stop job runs. bsjrJobName :: Lens' BatchStopJobRun Text-bsjrJobName = lens _bsjrJobName (\ s a -> s{_bsjrJobName = a});+bsjrJobName = lens _bsjrJobName (\ s a -> s{_bsjrJobName = a}) --- | A list of job run Ids of the given job to be stopped.+-- | A list of the JobRunIds that should be stopped for that job definition. bsjrJobRunIds :: Lens' BatchStopJobRun (NonEmpty Text)-bsjrJobRunIds = lens _bsjrJobRunIds (\ s a -> s{_bsjrJobRunIds = a}) . _List1;+bsjrJobRunIds = lens _bsjrJobRunIds (\ s a -> s{_bsjrJobRunIds = a}) . _List1  instance AWSRequest BatchStopJobRun where         type Rs BatchStopJobRun = BatchStopJobRunResponse@@ -126,9 +126,9 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'bsjrrsSuccessfulSubmissions' - A list of job runs which are successfully submitted for stopping.+-- * 'bsjrrsSuccessfulSubmissions' - A list of the JobRuns that were successfully submitted for stopping. ----- * 'bsjrrsErrors' - A list containing the job run Ids and details of the error that occurred for each job run while submitting to stop.+-- * 'bsjrrsErrors' - A list of the errors that were encountered in tryng to stop JobRuns, including the JobRunId for which each error was encountered and details about the error. -- -- * 'bsjrrsResponseStatus' - -- | The response status code. batchStopJobRunResponse@@ -136,22 +136,22 @@     -> BatchStopJobRunResponse batchStopJobRunResponse pResponseStatus_ =   BatchStopJobRunResponse'-  { _bsjrrsSuccessfulSubmissions = Nothing-  , _bsjrrsErrors = Nothing-  , _bsjrrsResponseStatus = pResponseStatus_-  }+    { _bsjrrsSuccessfulSubmissions = Nothing+    , _bsjrrsErrors = Nothing+    , _bsjrrsResponseStatus = pResponseStatus_+    }  --- | A list of job runs which are successfully submitted for stopping.+-- | A list of the JobRuns that were successfully submitted for stopping. bsjrrsSuccessfulSubmissions :: Lens' BatchStopJobRunResponse [BatchStopJobRunSuccessfulSubmission]-bsjrrsSuccessfulSubmissions = lens _bsjrrsSuccessfulSubmissions (\ s a -> s{_bsjrrsSuccessfulSubmissions = a}) . _Default . _Coerce;+bsjrrsSuccessfulSubmissions = lens _bsjrrsSuccessfulSubmissions (\ s a -> s{_bsjrrsSuccessfulSubmissions = a}) . _Default . _Coerce --- | A list containing the job run Ids and details of the error that occurred for each job run while submitting to stop.+-- | A list of the errors that were encountered in tryng to stop JobRuns, including the JobRunId for which each error was encountered and details about the error. bsjrrsErrors :: Lens' BatchStopJobRunResponse [BatchStopJobRunError]-bsjrrsErrors = lens _bsjrrsErrors (\ s a -> s{_bsjrrsErrors = a}) . _Default . _Coerce;+bsjrrsErrors = lens _bsjrrsErrors (\ s a -> s{_bsjrrsErrors = a}) . _Default . _Coerce  -- | -- | The response status code. bsjrrsResponseStatus :: Lens' BatchStopJobRunResponse Int-bsjrrsResponseStatus = lens _bsjrrsResponseStatus (\ s a -> s{_bsjrrsResponseStatus = a});+bsjrrsResponseStatus = lens _bsjrrsResponseStatus (\ s a -> s{_bsjrrsResponseStatus = a})  instance NFData BatchStopJobRunResponse where
gen/Network/AWS/Glue/CreateClassifier.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.Glue.CreateClassifier--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Creates a @Classifier@ in the user's account.+-- Creates a classifier in the user's account. This may be a @GrokClassifier@ , an @XMLClassifier@ , or abbrev @JsonClassifier@ , depending on which field of the request is present. -- -- module Network.AWS.Glue.CreateClassifier@@ -28,6 +28,8 @@     , CreateClassifier     -- * Request Lenses     , ccGrokClassifier+    , ccXMLClassifier+    , ccJSONClassifier      -- * Destructuring the Response     , createClassifierResponse@@ -44,8 +46,10 @@ import Network.AWS.Response  -- | /See:/ 'createClassifier' smart constructor.-newtype CreateClassifier = CreateClassifier'-  { _ccGrokClassifier :: Maybe CreateGrokClassifierRequest+data CreateClassifier = CreateClassifier'+  { _ccGrokClassifier :: !(Maybe CreateGrokClassifierRequest)+  , _ccXMLClassifier  :: !(Maybe CreateXMLClassifierRequest)+  , _ccJSONClassifier :: !(Maybe CreateJSONClassifierRequest)   } deriving (Eq, Read, Show, Data, Typeable, Generic)  @@ -53,16 +57,33 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'ccGrokClassifier' - A grok classifier to create.+-- * 'ccGrokClassifier' - A @GrokClassifier@ object specifying the classifier to create.+--+-- * 'ccXMLClassifier' - An @XMLClassifier@ object specifying the classifier to create.+--+-- * 'ccJSONClassifier' - A @JsonClassifier@ object specifying the classifier to create. createClassifier     :: CreateClassifier-createClassifier = CreateClassifier' {_ccGrokClassifier = Nothing}+createClassifier =+  CreateClassifier'+    { _ccGrokClassifier = Nothing+    , _ccXMLClassifier = Nothing+    , _ccJSONClassifier = Nothing+    }  --- | A grok classifier to create.+-- | A @GrokClassifier@ object specifying the classifier to create. ccGrokClassifier :: Lens' CreateClassifier (Maybe CreateGrokClassifierRequest)-ccGrokClassifier = lens _ccGrokClassifier (\ s a -> s{_ccGrokClassifier = a});+ccGrokClassifier = lens _ccGrokClassifier (\ s a -> s{_ccGrokClassifier = a}) +-- | An @XMLClassifier@ object specifying the classifier to create.+ccXMLClassifier :: Lens' CreateClassifier (Maybe CreateXMLClassifierRequest)+ccXMLClassifier = lens _ccXMLClassifier (\ s a -> s{_ccXMLClassifier = a})++-- | A @JsonClassifier@ object specifying the classifier to create.+ccJSONClassifier :: Lens' CreateClassifier (Maybe CreateJSONClassifierRequest)+ccJSONClassifier = lens _ccJSONClassifier (\ s a -> s{_ccJSONClassifier = a})+ instance AWSRequest CreateClassifier where         type Rs CreateClassifier = CreateClassifierResponse         request = postJSON glue@@ -88,7 +109,9 @@         toJSON CreateClassifier'{..}           = object               (catMaybes-                 [("GrokClassifier" .=) <$> _ccGrokClassifier])+                 [("GrokClassifier" .=) <$> _ccGrokClassifier,+                  ("XMLClassifier" .=) <$> _ccXMLClassifier,+                  ("JsonClassifier" .=) <$> _ccJSONClassifier])  instance ToPath CreateClassifier where         toPath = const "/"@@ -116,6 +139,6 @@  -- | -- | The response status code. ccrsResponseStatus :: Lens' CreateClassifierResponse Int-ccrsResponseStatus = lens _ccrsResponseStatus (\ s a -> s{_ccrsResponseStatus = a});+ccrsResponseStatus = lens _ccrsResponseStatus (\ s a -> s{_ccrsResponseStatus = a})  instance NFData CreateClassifierResponse where
gen/Network/AWS/Glue/CreateConnection.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.CreateConnection--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,16 +63,16 @@     -> CreateConnection createConnection pConnectionInput_ =   CreateConnection'-  {_ccCatalogId = Nothing, _ccConnectionInput = pConnectionInput_}+    {_ccCatalogId = Nothing, _ccConnectionInput = pConnectionInput_}   -- | The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default. ccCatalogId :: Lens' CreateConnection (Maybe Text)-ccCatalogId = lens _ccCatalogId (\ s a -> s{_ccCatalogId = a});+ccCatalogId = lens _ccCatalogId (\ s a -> s{_ccCatalogId = a})  -- | A @ConnectionInput@ object defining the connection to create. ccConnectionInput :: Lens' CreateConnection ConnectionInput-ccConnectionInput = lens _ccConnectionInput (\ s a -> s{_ccConnectionInput = a});+ccConnectionInput = lens _ccConnectionInput (\ s a -> s{_ccConnectionInput = a})  instance AWSRequest CreateConnection where         type Rs CreateConnection = CreateConnectionResponse@@ -128,6 +128,6 @@  -- | -- | The response status code. crsResponseStatus :: Lens' CreateConnectionResponse Int-crsResponseStatus = lens _crsResponseStatus (\ s a -> s{_crsResponseStatus = a});+crsResponseStatus = lens _crsResponseStatus (\ s a -> s{_crsResponseStatus = a})  instance NFData CreateConnectionResponse where
gen/Network/AWS/Glue/CreateCrawler.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.Glue.CreateCrawler--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Creates a new @Crawler@ with specified targets, role, configuration, and optional schedule. At least one crawl target must be specified, in either the /s3Targets/ or the /jdbcTargets/ field.+-- Creates a new crawler with specified targets, role, configuration, and optional schedule. At least one crawl target must be specified, in either the /s3Targets/ or the /jdbcTargets/ field. -- -- module Network.AWS.Glue.CreateCrawler@@ -30,6 +30,7 @@     , ccSchemaChangePolicy     , ccSchedule     , ccClassifiers+    , ccConfiguration     , ccTablePrefix     , ccDescription     , ccName@@ -56,6 +57,7 @@   { _ccSchemaChangePolicy :: !(Maybe SchemaChangePolicy)   , _ccSchedule           :: !(Maybe Text)   , _ccClassifiers        :: !(Maybe [Text])+  , _ccConfiguration      :: !(Maybe Text)   , _ccTablePrefix        :: !(Maybe Text)   , _ccDescription        :: !(Maybe Text)   , _ccName               :: !Text@@ -73,18 +75,20 @@ -- -- * 'ccSchedule' - A @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ . ----- * 'ccClassifiers' - A list of custom @Classifier@ names that the user has registered. By default, all AWS classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification.+-- * 'ccClassifiers' - A list of custom classifiers that the user has registered. By default, all AWS classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification. ----- * 'ccTablePrefix' - The table prefix used for catalog tables created.+-- * 'ccConfiguration' - Crawler configuration information. This versioned JSON string allows users to specify aspects of a Crawler's behavior. You can use this field to force partitions to inherit metadata such as classification, input format, output format, serde information, and schema from their parent table, rather than detect this information separately for each partition. Use the following JSON string to specify that behavior: Example: @'{ "Version": 1.0, "CrawlerOutput": { "Partitions": { "AddOrUpdateBehavior": "InheritFromTable" } } }'@ ----- * 'ccDescription' - A description of the new @Crawler@ .+-- * 'ccTablePrefix' - The table prefix used for catalog tables that are created. ----- * 'ccName' - Name of the new @Crawler@ .+-- * 'ccDescription' - A description of the new crawler. ----- * 'ccRole' - The IAM role (or ARN of an IAM role) used by the new @Crawler@ to access customer resources.+-- * 'ccName' - Name of the new crawler. ----- * 'ccDatabaseName' - The Glue @Database@ where results will be stored, such as: @arn:aws:daylight:us-east-1::database/sometable/*@ .+-- * 'ccRole' - The IAM role (or ARN of an IAM role) used by the new crawler to access customer resources. --+-- * 'ccDatabaseName' - The AWS Glue database where results are written, such as: @arn:aws:daylight:us-east-1::database/sometable/*@ .+-- -- * 'ccTargets' - A list of collection of targets to crawl. createCrawler     :: Text -- ^ 'ccName'@@ -94,53 +98,58 @@     -> CreateCrawler createCrawler pName_ pRole_ pDatabaseName_ pTargets_ =   CreateCrawler'-  { _ccSchemaChangePolicy = Nothing-  , _ccSchedule = Nothing-  , _ccClassifiers = Nothing-  , _ccTablePrefix = Nothing-  , _ccDescription = Nothing-  , _ccName = pName_-  , _ccRole = pRole_-  , _ccDatabaseName = pDatabaseName_-  , _ccTargets = pTargets_-  }+    { _ccSchemaChangePolicy = Nothing+    , _ccSchedule = Nothing+    , _ccClassifiers = Nothing+    , _ccConfiguration = Nothing+    , _ccTablePrefix = Nothing+    , _ccDescription = Nothing+    , _ccName = pName_+    , _ccRole = pRole_+    , _ccDatabaseName = pDatabaseName_+    , _ccTargets = pTargets_+    }   -- | Policy for the crawler's update and deletion behavior. ccSchemaChangePolicy :: Lens' CreateCrawler (Maybe SchemaChangePolicy)-ccSchemaChangePolicy = lens _ccSchemaChangePolicy (\ s a -> s{_ccSchemaChangePolicy = a});+ccSchemaChangePolicy = lens _ccSchemaChangePolicy (\ s a -> s{_ccSchemaChangePolicy = a})  -- | A @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ . ccSchedule :: Lens' CreateCrawler (Maybe Text)-ccSchedule = lens _ccSchedule (\ s a -> s{_ccSchedule = a});+ccSchedule = lens _ccSchedule (\ s a -> s{_ccSchedule = a}) --- | A list of custom @Classifier@ names that the user has registered. By default, all AWS classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification.+-- | A list of custom classifiers that the user has registered. By default, all AWS classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification. ccClassifiers :: Lens' CreateCrawler [Text]-ccClassifiers = lens _ccClassifiers (\ s a -> s{_ccClassifiers = a}) . _Default . _Coerce;+ccClassifiers = lens _ccClassifiers (\ s a -> s{_ccClassifiers = a}) . _Default . _Coerce --- | The table prefix used for catalog tables created.+-- | Crawler configuration information. This versioned JSON string allows users to specify aspects of a Crawler's behavior. You can use this field to force partitions to inherit metadata such as classification, input format, output format, serde information, and schema from their parent table, rather than detect this information separately for each partition. Use the following JSON string to specify that behavior: Example: @'{ "Version": 1.0, "CrawlerOutput": { "Partitions": { "AddOrUpdateBehavior": "InheritFromTable" } } }'@+ccConfiguration :: Lens' CreateCrawler (Maybe Text)+ccConfiguration = lens _ccConfiguration (\ s a -> s{_ccConfiguration = a})++-- | The table prefix used for catalog tables that are created. ccTablePrefix :: Lens' CreateCrawler (Maybe Text)-ccTablePrefix = lens _ccTablePrefix (\ s a -> s{_ccTablePrefix = a});+ccTablePrefix = lens _ccTablePrefix (\ s a -> s{_ccTablePrefix = a}) --- | A description of the new @Crawler@ .+-- | A description of the new crawler. ccDescription :: Lens' CreateCrawler (Maybe Text)-ccDescription = lens _ccDescription (\ s a -> s{_ccDescription = a});+ccDescription = lens _ccDescription (\ s a -> s{_ccDescription = a}) --- | Name of the new @Crawler@ .+-- | Name of the new crawler. ccName :: Lens' CreateCrawler Text-ccName = lens _ccName (\ s a -> s{_ccName = a});+ccName = lens _ccName (\ s a -> s{_ccName = a}) --- | The IAM role (or ARN of an IAM role) used by the new @Crawler@ to access customer resources.+-- | The IAM role (or ARN of an IAM role) used by the new crawler to access customer resources. ccRole :: Lens' CreateCrawler Text-ccRole = lens _ccRole (\ s a -> s{_ccRole = a});+ccRole = lens _ccRole (\ s a -> s{_ccRole = a}) --- | The Glue @Database@ where results will be stored, such as: @arn:aws:daylight:us-east-1::database/sometable/*@ .+-- | The AWS Glue database where results are written, such as: @arn:aws:daylight:us-east-1::database/sometable/*@ . ccDatabaseName :: Lens' CreateCrawler Text-ccDatabaseName = lens _ccDatabaseName (\ s a -> s{_ccDatabaseName = a});+ccDatabaseName = lens _ccDatabaseName (\ s a -> s{_ccDatabaseName = a})  -- | A list of collection of targets to crawl. ccTargets :: Lens' CreateCrawler CrawlerTargets-ccTargets = lens _ccTargets (\ s a -> s{_ccTargets = a});+ccTargets = lens _ccTargets (\ s a -> s{_ccTargets = a})  instance AWSRequest CreateCrawler where         type Rs CreateCrawler = CreateCrawlerResponse@@ -170,6 +179,7 @@                  [("SchemaChangePolicy" .=) <$> _ccSchemaChangePolicy,                   ("Schedule" .=) <$> _ccSchedule,                   ("Classifiers" .=) <$> _ccClassifiers,+                  ("Configuration" .=) <$> _ccConfiguration,                   ("TablePrefix" .=) <$> _ccTablePrefix,                   ("Description" .=) <$> _ccDescription,                   Just ("Name" .= _ccName), Just ("Role" .= _ccRole),@@ -202,6 +212,6 @@  -- | -- | The response status code. crersResponseStatus :: Lens' CreateCrawlerResponse Int-crersResponseStatus = lens _crersResponseStatus (\ s a -> s{_crersResponseStatus = a});+crersResponseStatus = lens _crersResponseStatus (\ s a -> s{_crersResponseStatus = a})  instance NFData CreateCrawlerResponse where
gen/Network/AWS/Glue/CreateDatabase.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.CreateDatabase--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -67,11 +67,11 @@  -- | The ID of the Data Catalog in which to create the database. If none is supplied, the AWS account ID is used by default. cdCatalogId :: Lens' CreateDatabase (Maybe Text)-cdCatalogId = lens _cdCatalogId (\ s a -> s{_cdCatalogId = a});+cdCatalogId = lens _cdCatalogId (\ s a -> s{_cdCatalogId = a})  -- | A @DatabaseInput@ object defining the metadata database to create in the catalog. cdDatabaseInput :: Lens' CreateDatabase DatabaseInput-cdDatabaseInput = lens _cdDatabaseInput (\ s a -> s{_cdDatabaseInput = a});+cdDatabaseInput = lens _cdDatabaseInput (\ s a -> s{_cdDatabaseInput = a})  instance AWSRequest CreateDatabase where         type Rs CreateDatabase = CreateDatabaseResponse@@ -127,6 +127,6 @@  -- | -- | The response status code. cdrsResponseStatus :: Lens' CreateDatabaseResponse Int-cdrsResponseStatus = lens _cdrsResponseStatus (\ s a -> s{_cdrsResponseStatus = a});+cdrsResponseStatus = lens _cdrsResponseStatus (\ s a -> s{_cdrsResponseStatus = a})  instance NFData CreateDatabaseResponse where
gen/Network/AWS/Glue/CreateDevEndpoint.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.CreateDevEndpoint--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -29,12 +29,12 @@     -- * Request Lenses     , cdeExtraPythonLibsS3Path     , cdeSecurityGroupIds+    , cdePublicKey     , cdeSubnetId     , cdeNumberOfNodes     , cdeExtraJARsS3Path     , cdeEndpointName     , cdeRoleARN-    , cdePublicKey      -- * Destructuring the Response     , createDevEndpointResponse@@ -68,12 +68,12 @@ data CreateDevEndpoint = CreateDevEndpoint'   { _cdeExtraPythonLibsS3Path :: !(Maybe Text)   , _cdeSecurityGroupIds      :: !(Maybe [Text])+  , _cdePublicKey             :: !(Maybe Text)   , _cdeSubnetId              :: !(Maybe Text)   , _cdeNumberOfNodes         :: !(Maybe Int)   , _cdeExtraJARsS3Path       :: !(Maybe Text)   , _cdeEndpointName          :: !Text   , _cdeRoleARN               :: !Text-  , _cdePublicKey             :: !Text   } deriving (Eq, Read, Show, Data, Typeable, Generic)  @@ -85,6 +85,8 @@ -- -- * 'cdeSecurityGroupIds' - Security group IDs for the security groups to be used by the new DevEndpoint. --+-- * 'cdePublicKey' - The public key to use for authentication.+-- -- * 'cdeSubnetId' - The subnet ID for the new DevEndpoint to use. -- -- * 'cdeNumberOfNodes' - The number of AWS Glue Data Processing Units (DPUs) to allocate to this DevEndpoint.@@ -94,57 +96,54 @@ -- * 'cdeEndpointName' - The name to be assigned to the new DevEndpoint. -- -- * 'cdeRoleARN' - The IAM role for the DevEndpoint.------ * 'cdePublicKey' - The public key to use for authentication. createDevEndpoint     :: Text -- ^ 'cdeEndpointName'     -> Text -- ^ 'cdeRoleARN'-    -> Text -- ^ 'cdePublicKey'     -> CreateDevEndpoint-createDevEndpoint pEndpointName_ pRoleARN_ pPublicKey_ =+createDevEndpoint pEndpointName_ pRoleARN_ =   CreateDevEndpoint'-  { _cdeExtraPythonLibsS3Path = Nothing-  , _cdeSecurityGroupIds = Nothing-  , _cdeSubnetId = Nothing-  , _cdeNumberOfNodes = Nothing-  , _cdeExtraJARsS3Path = Nothing-  , _cdeEndpointName = pEndpointName_-  , _cdeRoleARN = pRoleARN_-  , _cdePublicKey = pPublicKey_-  }+    { _cdeExtraPythonLibsS3Path = Nothing+    , _cdeSecurityGroupIds = Nothing+    , _cdePublicKey = Nothing+    , _cdeSubnetId = Nothing+    , _cdeNumberOfNodes = Nothing+    , _cdeExtraJARsS3Path = Nothing+    , _cdeEndpointName = pEndpointName_+    , _cdeRoleARN = pRoleARN_+    }   -- | Path(s) to one or more Python libraries in an S3 bucket that should be loaded in your DevEndpoint. Multiple values must be complete paths separated by a comma. Please note that only pure Python libraries can currently be used on a DevEndpoint. Libraries that rely on C extensions, such as the <http://pandas.pydata.org/ pandas> Python data analysis library, are not yet supported. cdeExtraPythonLibsS3Path :: Lens' CreateDevEndpoint (Maybe Text)-cdeExtraPythonLibsS3Path = lens _cdeExtraPythonLibsS3Path (\ s a -> s{_cdeExtraPythonLibsS3Path = a});+cdeExtraPythonLibsS3Path = lens _cdeExtraPythonLibsS3Path (\ s a -> s{_cdeExtraPythonLibsS3Path = a})  -- | Security group IDs for the security groups to be used by the new DevEndpoint. cdeSecurityGroupIds :: Lens' CreateDevEndpoint [Text]-cdeSecurityGroupIds = lens _cdeSecurityGroupIds (\ s a -> s{_cdeSecurityGroupIds = a}) . _Default . _Coerce;+cdeSecurityGroupIds = lens _cdeSecurityGroupIds (\ s a -> s{_cdeSecurityGroupIds = a}) . _Default . _Coerce +-- | The public key to use for authentication.+cdePublicKey :: Lens' CreateDevEndpoint (Maybe Text)+cdePublicKey = lens _cdePublicKey (\ s a -> s{_cdePublicKey = a})+ -- | The subnet ID for the new DevEndpoint to use. cdeSubnetId :: Lens' CreateDevEndpoint (Maybe Text)-cdeSubnetId = lens _cdeSubnetId (\ s a -> s{_cdeSubnetId = a});+cdeSubnetId = lens _cdeSubnetId (\ s a -> s{_cdeSubnetId = a})  -- | The number of AWS Glue Data Processing Units (DPUs) to allocate to this DevEndpoint. cdeNumberOfNodes :: Lens' CreateDevEndpoint (Maybe Int)-cdeNumberOfNodes = lens _cdeNumberOfNodes (\ s a -> s{_cdeNumberOfNodes = a});+cdeNumberOfNodes = lens _cdeNumberOfNodes (\ s a -> s{_cdeNumberOfNodes = a})  -- | Path to one or more Java Jars in an S3 bucket that should be loaded in your DevEndpoint. cdeExtraJARsS3Path :: Lens' CreateDevEndpoint (Maybe Text)-cdeExtraJARsS3Path = lens _cdeExtraJARsS3Path (\ s a -> s{_cdeExtraJARsS3Path = a});+cdeExtraJARsS3Path = lens _cdeExtraJARsS3Path (\ s a -> s{_cdeExtraJARsS3Path = a})  -- | The name to be assigned to the new DevEndpoint. cdeEndpointName :: Lens' CreateDevEndpoint Text-cdeEndpointName = lens _cdeEndpointName (\ s a -> s{_cdeEndpointName = a});+cdeEndpointName = lens _cdeEndpointName (\ s a -> s{_cdeEndpointName = a})  -- | The IAM role for the DevEndpoint. cdeRoleARN :: Lens' CreateDevEndpoint Text-cdeRoleARN = lens _cdeRoleARN (\ s a -> s{_cdeRoleARN = a});---- | The public key to use for authentication.-cdePublicKey :: Lens' CreateDevEndpoint Text-cdePublicKey = lens _cdePublicKey (\ s a -> s{_cdePublicKey = a});+cdeRoleARN = lens _cdeRoleARN (\ s a -> s{_cdeRoleARN = a})  instance AWSRequest CreateDevEndpoint where         type Rs CreateDevEndpoint = CreateDevEndpointResponse@@ -188,12 +187,12 @@                  [("ExtraPythonLibsS3Path" .=) <$>                     _cdeExtraPythonLibsS3Path,                   ("SecurityGroupIds" .=) <$> _cdeSecurityGroupIds,+                  ("PublicKey" .=) <$> _cdePublicKey,                   ("SubnetId" .=) <$> _cdeSubnetId,                   ("NumberOfNodes" .=) <$> _cdeNumberOfNodes,                   ("ExtraJarsS3Path" .=) <$> _cdeExtraJARsS3Path,                   Just ("EndpointName" .= _cdeEndpointName),-                  Just ("RoleArn" .= _cdeRoleARN),-                  Just ("PublicKey" .= _cdePublicKey)])+                  Just ("RoleArn" .= _cdeRoleARN)])  instance ToPath CreateDevEndpoint where         toPath = const "/"@@ -259,82 +258,82 @@     -> CreateDevEndpointResponse createDevEndpointResponse pResponseStatus_ =   CreateDevEndpointResponse'-  { _cdersStatus = Nothing-  , _cdersFailureReason = Nothing-  , _cdersEndpointName = Nothing-  , _cdersExtraPythonLibsS3Path = Nothing-  , _cdersSecurityGroupIds = Nothing-  , _cdersVPCId = Nothing-  , _cdersSubnetId = Nothing-  , _cdersNumberOfNodes = Nothing-  , _cdersAvailabilityZone = Nothing-  , _cdersZeppelinRemoteSparkInterpreterPort = Nothing-  , _cdersExtraJARsS3Path = Nothing-  , _cdersCreatedTimestamp = Nothing-  , _cdersYarnEndpointAddress = Nothing-  , _cdersRoleARN = Nothing-  , _cdersResponseStatus = pResponseStatus_-  }+    { _cdersStatus = Nothing+    , _cdersFailureReason = Nothing+    , _cdersEndpointName = Nothing+    , _cdersExtraPythonLibsS3Path = Nothing+    , _cdersSecurityGroupIds = Nothing+    , _cdersVPCId = Nothing+    , _cdersSubnetId = Nothing+    , _cdersNumberOfNodes = Nothing+    , _cdersAvailabilityZone = Nothing+    , _cdersZeppelinRemoteSparkInterpreterPort = Nothing+    , _cdersExtraJARsS3Path = Nothing+    , _cdersCreatedTimestamp = Nothing+    , _cdersYarnEndpointAddress = Nothing+    , _cdersRoleARN = Nothing+    , _cdersResponseStatus = pResponseStatus_+    }   -- | The current status of the new DevEndpoint. cdersStatus :: Lens' CreateDevEndpointResponse (Maybe Text)-cdersStatus = lens _cdersStatus (\ s a -> s{_cdersStatus = a});+cdersStatus = lens _cdersStatus (\ s a -> s{_cdersStatus = a})  -- | The reason for a current failure in this DevEndpoint. cdersFailureReason :: Lens' CreateDevEndpointResponse (Maybe Text)-cdersFailureReason = lens _cdersFailureReason (\ s a -> s{_cdersFailureReason = a});+cdersFailureReason = lens _cdersFailureReason (\ s a -> s{_cdersFailureReason = a})  -- | The name assigned to the new DevEndpoint. cdersEndpointName :: Lens' CreateDevEndpointResponse (Maybe Text)-cdersEndpointName = lens _cdersEndpointName (\ s a -> s{_cdersEndpointName = a});+cdersEndpointName = lens _cdersEndpointName (\ s a -> s{_cdersEndpointName = a})  -- | Path(s) to one or more Python libraries in an S3 bucket that will be loaded in your DevEndpoint. cdersExtraPythonLibsS3Path :: Lens' CreateDevEndpointResponse (Maybe Text)-cdersExtraPythonLibsS3Path = lens _cdersExtraPythonLibsS3Path (\ s a -> s{_cdersExtraPythonLibsS3Path = a});+cdersExtraPythonLibsS3Path = lens _cdersExtraPythonLibsS3Path (\ s a -> s{_cdersExtraPythonLibsS3Path = a})  -- | The security groups assigned to the new DevEndpoint. cdersSecurityGroupIds :: Lens' CreateDevEndpointResponse [Text]-cdersSecurityGroupIds = lens _cdersSecurityGroupIds (\ s a -> s{_cdersSecurityGroupIds = a}) . _Default . _Coerce;+cdersSecurityGroupIds = lens _cdersSecurityGroupIds (\ s a -> s{_cdersSecurityGroupIds = a}) . _Default . _Coerce  -- | The ID of the VPC used by this DevEndpoint. cdersVPCId :: Lens' CreateDevEndpointResponse (Maybe Text)-cdersVPCId = lens _cdersVPCId (\ s a -> s{_cdersVPCId = a});+cdersVPCId = lens _cdersVPCId (\ s a -> s{_cdersVPCId = a})  -- | The subnet ID assigned to the new DevEndpoint. cdersSubnetId :: Lens' CreateDevEndpointResponse (Maybe Text)-cdersSubnetId = lens _cdersSubnetId (\ s a -> s{_cdersSubnetId = a});+cdersSubnetId = lens _cdersSubnetId (\ s a -> s{_cdersSubnetId = a})  -- | The number of AWS Glue Data Processing Units (DPUs) allocated to this DevEndpoint. cdersNumberOfNodes :: Lens' CreateDevEndpointResponse (Maybe Int)-cdersNumberOfNodes = lens _cdersNumberOfNodes (\ s a -> s{_cdersNumberOfNodes = a});+cdersNumberOfNodes = lens _cdersNumberOfNodes (\ s a -> s{_cdersNumberOfNodes = a})  -- | The AWS availability zone where this DevEndpoint is located. cdersAvailabilityZone :: Lens' CreateDevEndpointResponse (Maybe Text)-cdersAvailabilityZone = lens _cdersAvailabilityZone (\ s a -> s{_cdersAvailabilityZone = a});+cdersAvailabilityZone = lens _cdersAvailabilityZone (\ s a -> s{_cdersAvailabilityZone = a})  -- | The Apache Zeppelin port for the remote Apache Spark interpreter. cdersZeppelinRemoteSparkInterpreterPort :: Lens' CreateDevEndpointResponse (Maybe Int)-cdersZeppelinRemoteSparkInterpreterPort = lens _cdersZeppelinRemoteSparkInterpreterPort (\ s a -> s{_cdersZeppelinRemoteSparkInterpreterPort = a});+cdersZeppelinRemoteSparkInterpreterPort = lens _cdersZeppelinRemoteSparkInterpreterPort (\ s a -> s{_cdersZeppelinRemoteSparkInterpreterPort = a})  -- | Path to one or more Java Jars in an S3 bucket that will be loaded in your DevEndpoint. cdersExtraJARsS3Path :: Lens' CreateDevEndpointResponse (Maybe Text)-cdersExtraJARsS3Path = lens _cdersExtraJARsS3Path (\ s a -> s{_cdersExtraJARsS3Path = a});+cdersExtraJARsS3Path = lens _cdersExtraJARsS3Path (\ s a -> s{_cdersExtraJARsS3Path = a})  -- | The point in time at which this DevEndpoint was created. cdersCreatedTimestamp :: Lens' CreateDevEndpointResponse (Maybe UTCTime)-cdersCreatedTimestamp = lens _cdersCreatedTimestamp (\ s a -> s{_cdersCreatedTimestamp = a}) . mapping _Time;+cdersCreatedTimestamp = lens _cdersCreatedTimestamp (\ s a -> s{_cdersCreatedTimestamp = a}) . mapping _Time  -- | The address of the YARN endpoint used by this DevEndpoint. cdersYarnEndpointAddress :: Lens' CreateDevEndpointResponse (Maybe Text)-cdersYarnEndpointAddress = lens _cdersYarnEndpointAddress (\ s a -> s{_cdersYarnEndpointAddress = a});+cdersYarnEndpointAddress = lens _cdersYarnEndpointAddress (\ s a -> s{_cdersYarnEndpointAddress = a})  -- | The AWS ARN of the role assigned to the new DevEndpoint. cdersRoleARN :: Lens' CreateDevEndpointResponse (Maybe Text)-cdersRoleARN = lens _cdersRoleARN (\ s a -> s{_cdersRoleARN = a});+cdersRoleARN = lens _cdersRoleARN (\ s a -> s{_cdersRoleARN = a})  -- | -- | The response status code. cdersResponseStatus :: Lens' CreateDevEndpointResponse Int-cdersResponseStatus = lens _cdersResponseStatus (\ s a -> s{_cdersResponseStatus = a});+cdersResponseStatus = lens _cdersResponseStatus (\ s a -> s{_cdersResponseStatus = a})  instance NFData CreateDevEndpointResponse where
gen/Network/AWS/Glue/CreateJob.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.Glue.CreateJob--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Creates a new job.+-- Creates a new job definition. -- -- module Network.AWS.Glue.CreateJob@@ -32,6 +32,7 @@     , cjMaxRetries     , cjExecutionProperty     , cjAllocatedCapacity+    , cjTimeout     , cjDefaultArguments     , cjDescription     , cjName@@ -60,6 +61,7 @@   , _cjMaxRetries        :: !(Maybe Int)   , _cjExecutionProperty :: !(Maybe ExecutionProperty)   , _cjAllocatedCapacity :: !(Maybe Int)+  , _cjTimeout           :: !(Maybe Nat)   , _cjDefaultArguments  :: !(Maybe (Map Text Text))   , _cjDescription       :: !(Maybe Text)   , _cjName              :: !Text@@ -80,16 +82,18 @@ -- -- * 'cjExecutionProperty' - An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job. ----- * 'cjAllocatedCapacity' - The number of capacity units allocated to this job.+-- * 'cjAllocatedCapacity' - The number of AWS Glue data processing units (DPUs) to allocate to this Job. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the <https://aws.amazon.com/glue/pricing/ AWS Glue pricing page> . ----- * 'cjDefaultArguments' - The default parameters for this job.+-- * 'cjTimeout' - The job timeout in minutes. The default is 2880 minutes (48 hours). ----- * 'cjDescription' - Description of the job.+-- * 'cjDefaultArguments' - The default arguments for this job. You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes. For information about how to specify and consume your own Job arguments, see the <http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html Calling AWS Glue APIs in Python> topic in the developer guide. For information about the key-value pairs that AWS Glue consumes to set up your job, see the <http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html Special Parameters Used by AWS Glue> topic in the developer guide. ----- * 'cjName' - The name you assign to this job.+-- * 'cjDescription' - Description of the job being defined. ----- * 'cjRole' - The role associated with this job.+-- * 'cjName' - The name you assign to this job definition. It must be unique in your account. --+-- * 'cjRole' - The name or ARN of the IAM role associated with this job.+-- -- * 'cjCommand' - The JobCommand that executes this job. createJob     :: Text -- ^ 'cjName'@@ -98,58 +102,63 @@     -> CreateJob createJob pName_ pRole_ pCommand_ =   CreateJob'-  { _cjConnections = Nothing-  , _cjLogURI = Nothing-  , _cjMaxRetries = Nothing-  , _cjExecutionProperty = Nothing-  , _cjAllocatedCapacity = Nothing-  , _cjDefaultArguments = Nothing-  , _cjDescription = Nothing-  , _cjName = pName_-  , _cjRole = pRole_-  , _cjCommand = pCommand_-  }+    { _cjConnections = Nothing+    , _cjLogURI = Nothing+    , _cjMaxRetries = Nothing+    , _cjExecutionProperty = Nothing+    , _cjAllocatedCapacity = Nothing+    , _cjTimeout = Nothing+    , _cjDefaultArguments = Nothing+    , _cjDescription = Nothing+    , _cjName = pName_+    , _cjRole = pRole_+    , _cjCommand = pCommand_+    }   -- | The connections used for this job. cjConnections :: Lens' CreateJob (Maybe ConnectionsList)-cjConnections = lens _cjConnections (\ s a -> s{_cjConnections = a});+cjConnections = lens _cjConnections (\ s a -> s{_cjConnections = a})  -- | This field is reserved for future use. cjLogURI :: Lens' CreateJob (Maybe Text)-cjLogURI = lens _cjLogURI (\ s a -> s{_cjLogURI = a});+cjLogURI = lens _cjLogURI (\ s a -> s{_cjLogURI = a})  -- | The maximum number of times to retry this job if it fails. cjMaxRetries :: Lens' CreateJob (Maybe Int)-cjMaxRetries = lens _cjMaxRetries (\ s a -> s{_cjMaxRetries = a});+cjMaxRetries = lens _cjMaxRetries (\ s a -> s{_cjMaxRetries = a})  -- | An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job. cjExecutionProperty :: Lens' CreateJob (Maybe ExecutionProperty)-cjExecutionProperty = lens _cjExecutionProperty (\ s a -> s{_cjExecutionProperty = a});+cjExecutionProperty = lens _cjExecutionProperty (\ s a -> s{_cjExecutionProperty = a}) --- | The number of capacity units allocated to this job.+-- | The number of AWS Glue data processing units (DPUs) to allocate to this Job. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the <https://aws.amazon.com/glue/pricing/ AWS Glue pricing page> . cjAllocatedCapacity :: Lens' CreateJob (Maybe Int)-cjAllocatedCapacity = lens _cjAllocatedCapacity (\ s a -> s{_cjAllocatedCapacity = a});+cjAllocatedCapacity = lens _cjAllocatedCapacity (\ s a -> s{_cjAllocatedCapacity = a}) --- | The default parameters for this job.+-- | The job timeout in minutes. The default is 2880 minutes (48 hours).+cjTimeout :: Lens' CreateJob (Maybe Natural)+cjTimeout = lens _cjTimeout (\ s a -> s{_cjTimeout = a}) . mapping _Nat++-- | The default arguments for this job. You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes. For information about how to specify and consume your own Job arguments, see the <http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html Calling AWS Glue APIs in Python> topic in the developer guide. For information about the key-value pairs that AWS Glue consumes to set up your job, see the <http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html Special Parameters Used by AWS Glue> topic in the developer guide. cjDefaultArguments :: Lens' CreateJob (HashMap Text Text)-cjDefaultArguments = lens _cjDefaultArguments (\ s a -> s{_cjDefaultArguments = a}) . _Default . _Map;+cjDefaultArguments = lens _cjDefaultArguments (\ s a -> s{_cjDefaultArguments = a}) . _Default . _Map --- | Description of the job.+-- | Description of the job being defined. cjDescription :: Lens' CreateJob (Maybe Text)-cjDescription = lens _cjDescription (\ s a -> s{_cjDescription = a});+cjDescription = lens _cjDescription (\ s a -> s{_cjDescription = a}) --- | The name you assign to this job.+-- | The name you assign to this job definition. It must be unique in your account. cjName :: Lens' CreateJob Text-cjName = lens _cjName (\ s a -> s{_cjName = a});+cjName = lens _cjName (\ s a -> s{_cjName = a}) --- | The role associated with this job.+-- | The name or ARN of the IAM role associated with this job. cjRole :: Lens' CreateJob Text-cjRole = lens _cjRole (\ s a -> s{_cjRole = a});+cjRole = lens _cjRole (\ s a -> s{_cjRole = a})  -- | The JobCommand that executes this job. cjCommand :: Lens' CreateJob JobCommand-cjCommand = lens _cjCommand (\ s a -> s{_cjCommand = a});+cjCommand = lens _cjCommand (\ s a -> s{_cjCommand = a})  instance AWSRequest CreateJob where         type Rs CreateJob = CreateJobResponse@@ -182,6 +191,7 @@                   ("MaxRetries" .=) <$> _cjMaxRetries,                   ("ExecutionProperty" .=) <$> _cjExecutionProperty,                   ("AllocatedCapacity" .=) <$> _cjAllocatedCapacity,+                  ("Timeout" .=) <$> _cjTimeout,                   ("DefaultArguments" .=) <$> _cjDefaultArguments,                   ("Description" .=) <$> _cjDescription,                   Just ("Name" .= _cjName), Just ("Role" .= _cjRole),@@ -204,7 +214,7 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'cjrsName' - The unique name of the new job that has been created.+-- * 'cjrsName' - The unique name that was provided for this job definition. -- -- * 'cjrsResponseStatus' - -- | The response status code. createJobResponse@@ -212,15 +222,15 @@     -> CreateJobResponse createJobResponse pResponseStatus_ =   CreateJobResponse'-  {_cjrsName = Nothing, _cjrsResponseStatus = pResponseStatus_}+    {_cjrsName = Nothing, _cjrsResponseStatus = pResponseStatus_}  --- | The unique name of the new job that has been created.+-- | The unique name that was provided for this job definition. cjrsName :: Lens' CreateJobResponse (Maybe Text)-cjrsName = lens _cjrsName (\ s a -> s{_cjrsName = a});+cjrsName = lens _cjrsName (\ s a -> s{_cjrsName = a})  -- | -- | The response status code. cjrsResponseStatus :: Lens' CreateJobResponse Int-cjrsResponseStatus = lens _cjrsResponseStatus (\ s a -> s{_cjrsResponseStatus = a});+cjrsResponseStatus = lens _cjrsResponseStatus (\ s a -> s{_cjrsResponseStatus = a})  instance NFData CreateJobResponse where
gen/Network/AWS/Glue/CreatePartition.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.CreatePartition--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -73,28 +73,28 @@     -> CreatePartition createPartition pDatabaseName_ pTableName_ pPartitionInput_ =   CreatePartition'-  { _cpCatalogId = Nothing-  , _cpDatabaseName = pDatabaseName_-  , _cpTableName = pTableName_-  , _cpPartitionInput = pPartitionInput_-  }+    { _cpCatalogId = Nothing+    , _cpDatabaseName = pDatabaseName_+    , _cpTableName = pTableName_+    , _cpPartitionInput = pPartitionInput_+    }   -- | The ID of the catalog in which the partion is to be created. Currently, this should be the AWS account ID. cpCatalogId :: Lens' CreatePartition (Maybe Text)-cpCatalogId = lens _cpCatalogId (\ s a -> s{_cpCatalogId = a});+cpCatalogId = lens _cpCatalogId (\ s a -> s{_cpCatalogId = a})  -- | The name of the metadata database in which the partition is to be created. cpDatabaseName :: Lens' CreatePartition Text-cpDatabaseName = lens _cpDatabaseName (\ s a -> s{_cpDatabaseName = a});+cpDatabaseName = lens _cpDatabaseName (\ s a -> s{_cpDatabaseName = a})  -- | The name of the metadata table in which the partition is to be created. cpTableName :: Lens' CreatePartition Text-cpTableName = lens _cpTableName (\ s a -> s{_cpTableName = a});+cpTableName = lens _cpTableName (\ s a -> s{_cpTableName = a})  -- | A @PartitionInput@ structure defining the partition to be created. cpPartitionInput :: Lens' CreatePartition PartitionInput-cpPartitionInput = lens _cpPartitionInput (\ s a -> s{_cpPartitionInput = a});+cpPartitionInput = lens _cpPartitionInput (\ s a -> s{_cpPartitionInput = a})  instance AWSRequest CreatePartition where         type Rs CreatePartition = CreatePartitionResponse@@ -152,6 +152,6 @@  -- | -- | The response status code. cprsResponseStatus :: Lens' CreatePartitionResponse Int-cprsResponseStatus = lens _cprsResponseStatus (\ s a -> s{_cprsResponseStatus = a});+cprsResponseStatus = lens _cprsResponseStatus (\ s a -> s{_cprsResponseStatus = a})  instance NFData CreatePartitionResponse where
gen/Network/AWS/Glue/CreateScript.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.Glue.CreateScript--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Transforms a directed acyclic graph (DAG) into a Python script.+-- Transforms a directed acyclic graph (DAG) into code. -- -- module Network.AWS.Glue.CreateScript@@ -28,6 +28,7 @@     , CreateScript     -- * Request Lenses     , csDagEdges+    , csLanguage     , csDagNodes      -- * Destructuring the Response@@ -35,6 +36,7 @@     , CreateScriptResponse     -- * Response Lenses     , csrsPythonScript+    , csrsScalaCode     , csrsResponseStatus     ) where @@ -48,6 +50,7 @@ -- | /See:/ 'createScript' smart constructor. data CreateScript = CreateScript'   { _csDagEdges :: !(Maybe [CodeGenEdge])+  , _csLanguage :: !(Maybe Language)   , _csDagNodes :: !(Maybe [CodeGenNode])   } deriving (Eq, Read, Show, Data, Typeable, Generic) @@ -58,19 +61,27 @@ -- -- * 'csDagEdges' - A list of the edges in the DAG. --+-- * 'csLanguage' - The programming language of the resulting code from the DAG.+-- -- * 'csDagNodes' - A list of the nodes in the DAG. createScript     :: CreateScript-createScript = CreateScript' {_csDagEdges = Nothing, _csDagNodes = Nothing}+createScript =+  CreateScript'+    {_csDagEdges = Nothing, _csLanguage = Nothing, _csDagNodes = Nothing}   -- | A list of the edges in the DAG. csDagEdges :: Lens' CreateScript [CodeGenEdge]-csDagEdges = lens _csDagEdges (\ s a -> s{_csDagEdges = a}) . _Default . _Coerce;+csDagEdges = lens _csDagEdges (\ s a -> s{_csDagEdges = a}) . _Default . _Coerce +-- | The programming language of the resulting code from the DAG.+csLanguage :: Lens' CreateScript (Maybe Language)+csLanguage = lens _csLanguage (\ s a -> s{_csLanguage = a})+ -- | A list of the nodes in the DAG. csDagNodes :: Lens' CreateScript [CodeGenNode]-csDagNodes = lens _csDagNodes (\ s a -> s{_csDagNodes = a}) . _Default . _Coerce;+csDagNodes = lens _csDagNodes (\ s a -> s{_csDagNodes = a}) . _Default . _Coerce  instance AWSRequest CreateScript where         type Rs CreateScript = CreateScriptResponse@@ -79,7 +90,8 @@           = receiveJSON               (\ s h x ->                  CreateScriptResponse' <$>-                   (x .?> "PythonScript") <*> (pure (fromEnum s)))+                   (x .?> "PythonScript") <*> (x .?> "ScalaCode") <*>+                     (pure (fromEnum s)))  instance Hashable CreateScript where @@ -99,6 +111,7 @@           = object               (catMaybes                  [("DagEdges" .=) <$> _csDagEdges,+                  ("Language" .=) <$> _csLanguage,                   ("DagNodes" .=) <$> _csDagNodes])  instance ToPath CreateScript where@@ -110,6 +123,7 @@ -- | /See:/ 'createScriptResponse' smart constructor. data CreateScriptResponse = CreateScriptResponse'   { _csrsPythonScript   :: !(Maybe Text)+  , _csrsScalaCode      :: !(Maybe Text)   , _csrsResponseStatus :: !Int   } deriving (Eq, Read, Show, Data, Typeable, Generic) @@ -120,21 +134,30 @@ -- -- * 'csrsPythonScript' - The Python script generated from the DAG. --+-- * 'csrsScalaCode' - The Scala code generated from the DAG.+-- -- * 'csrsResponseStatus' - -- | The response status code. createScriptResponse     :: Int -- ^ 'csrsResponseStatus'     -> CreateScriptResponse createScriptResponse pResponseStatus_ =   CreateScriptResponse'-  {_csrsPythonScript = Nothing, _csrsResponseStatus = pResponseStatus_}+    { _csrsPythonScript = Nothing+    , _csrsScalaCode = Nothing+    , _csrsResponseStatus = pResponseStatus_+    }   -- | The Python script generated from the DAG. csrsPythonScript :: Lens' CreateScriptResponse (Maybe Text)-csrsPythonScript = lens _csrsPythonScript (\ s a -> s{_csrsPythonScript = a});+csrsPythonScript = lens _csrsPythonScript (\ s a -> s{_csrsPythonScript = a}) +-- | The Scala code generated from the DAG.+csrsScalaCode :: Lens' CreateScriptResponse (Maybe Text)+csrsScalaCode = lens _csrsScalaCode (\ s a -> s{_csrsScalaCode = a})+ -- | -- | The response status code. csrsResponseStatus :: Lens' CreateScriptResponse Int-csrsResponseStatus = lens _csrsResponseStatus (\ s a -> s{_csrsResponseStatus = a});+csrsResponseStatus = lens _csrsResponseStatus (\ s a -> s{_csrsResponseStatus = a})  instance NFData CreateScriptResponse where
gen/Network/AWS/Glue/CreateTable.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.CreateTable--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -59,7 +59,7 @@ -- -- * 'ctCatalogId' - The ID of the Data Catalog in which to create the @Table@ . If none is supplied, the AWS account ID is used by default. ----- * 'ctDatabaseName' - The catalog database in which to create the new table.+-- * 'ctDatabaseName' - The catalog database in which to create the new table. For Hive compatibility, this name is entirely lowercase. -- -- * 'ctTableInput' - The @TableInput@ object that defines the metadata table to create in the catalog. createTable@@ -68,23 +68,23 @@     -> CreateTable createTable pDatabaseName_ pTableInput_ =   CreateTable'-  { _ctCatalogId = Nothing-  , _ctDatabaseName = pDatabaseName_-  , _ctTableInput = pTableInput_-  }+    { _ctCatalogId = Nothing+    , _ctDatabaseName = pDatabaseName_+    , _ctTableInput = pTableInput_+    }   -- | The ID of the Data Catalog in which to create the @Table@ . If none is supplied, the AWS account ID is used by default. ctCatalogId :: Lens' CreateTable (Maybe Text)-ctCatalogId = lens _ctCatalogId (\ s a -> s{_ctCatalogId = a});+ctCatalogId = lens _ctCatalogId (\ s a -> s{_ctCatalogId = a}) --- | The catalog database in which to create the new table.+-- | The catalog database in which to create the new table. For Hive compatibility, this name is entirely lowercase. ctDatabaseName :: Lens' CreateTable Text-ctDatabaseName = lens _ctDatabaseName (\ s a -> s{_ctDatabaseName = a});+ctDatabaseName = lens _ctDatabaseName (\ s a -> s{_ctDatabaseName = a})  -- | The @TableInput@ object that defines the metadata table to create in the catalog. ctTableInput :: Lens' CreateTable TableInput-ctTableInput = lens _ctTableInput (\ s a -> s{_ctTableInput = a});+ctTableInput = lens _ctTableInput (\ s a -> s{_ctTableInput = a})  instance AWSRequest CreateTable where         type Rs CreateTable = CreateTableResponse@@ -141,6 +141,6 @@  -- | -- | The response status code. cttrsResponseStatus :: Lens' CreateTableResponse Int-cttrsResponseStatus = lens _cttrsResponseStatus (\ s a -> s{_cttrsResponseStatus = a});+cttrsResponseStatus = lens _cttrsResponseStatus (\ s a -> s{_cttrsResponseStatus = a})  instance NFData CreateTableResponse where
gen/Network/AWS/Glue/CreateTrigger.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.CreateTrigger--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -29,6 +29,7 @@     -- * Request Lenses     , ctSchedule     , ctPredicate+    , ctStartOnCreation     , ctDescription     , ctName     , ctType@@ -51,12 +52,13 @@  -- | /See:/ 'createTrigger' smart constructor. data CreateTrigger = CreateTrigger'-  { _ctSchedule    :: !(Maybe Text)-  , _ctPredicate   :: !(Maybe Predicate)-  , _ctDescription :: !(Maybe Text)-  , _ctName        :: !Text-  , _ctType        :: !TriggerType-  , _ctActions     :: ![Action]+  { _ctSchedule        :: !(Maybe Text)+  , _ctPredicate       :: !(Maybe Predicate)+  , _ctStartOnCreation :: !(Maybe Bool)+  , _ctDescription     :: !(Maybe Text)+  , _ctName            :: !Text+  , _ctType            :: !TriggerType+  , _ctActions         :: ![Action]   } deriving (Eq, Read, Show, Data, Typeable, Generic)  @@ -64,13 +66,15 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'ctSchedule' - A @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ .+-- * 'ctSchedule' - A @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ . This field is required when the trigger type is SCHEDULED. ----- * 'ctPredicate' - A predicate to specify when the new trigger should fire.+-- * 'ctPredicate' - A predicate to specify when the new trigger should fire. This field is required when the trigger type is CONDITIONAL. --+-- * 'ctStartOnCreation' - Set to true to start SCHEDULED and CONDITIONAL triggers when created. True not supported for ON_DEMAND triggers.+-- -- * 'ctDescription' - A description of the new trigger. ----- * 'ctName' - The name to assign to the new trigger.+-- * 'ctName' - The name of the trigger. -- -- * 'ctType' - The type of the new trigger. --@@ -81,38 +85,43 @@     -> CreateTrigger createTrigger pName_ pType_ =   CreateTrigger'-  { _ctSchedule = Nothing-  , _ctPredicate = Nothing-  , _ctDescription = Nothing-  , _ctName = pName_-  , _ctType = pType_-  , _ctActions = mempty-  }+    { _ctSchedule = Nothing+    , _ctPredicate = Nothing+    , _ctStartOnCreation = Nothing+    , _ctDescription = Nothing+    , _ctName = pName_+    , _ctType = pType_+    , _ctActions = mempty+    }  --- | A @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ .+-- | A @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ . This field is required when the trigger type is SCHEDULED. ctSchedule :: Lens' CreateTrigger (Maybe Text)-ctSchedule = lens _ctSchedule (\ s a -> s{_ctSchedule = a});+ctSchedule = lens _ctSchedule (\ s a -> s{_ctSchedule = a}) --- | A predicate to specify when the new trigger should fire.+-- | A predicate to specify when the new trigger should fire. This field is required when the trigger type is CONDITIONAL. ctPredicate :: Lens' CreateTrigger (Maybe Predicate)-ctPredicate = lens _ctPredicate (\ s a -> s{_ctPredicate = a});+ctPredicate = lens _ctPredicate (\ s a -> s{_ctPredicate = a}) +-- | Set to true to start SCHEDULED and CONDITIONAL triggers when created. True not supported for ON_DEMAND triggers.+ctStartOnCreation :: Lens' CreateTrigger (Maybe Bool)+ctStartOnCreation = lens _ctStartOnCreation (\ s a -> s{_ctStartOnCreation = a})+ -- | A description of the new trigger. ctDescription :: Lens' CreateTrigger (Maybe Text)-ctDescription = lens _ctDescription (\ s a -> s{_ctDescription = a});+ctDescription = lens _ctDescription (\ s a -> s{_ctDescription = a}) --- | The name to assign to the new trigger.+-- | The name of the trigger. ctName :: Lens' CreateTrigger Text-ctName = lens _ctName (\ s a -> s{_ctName = a});+ctName = lens _ctName (\ s a -> s{_ctName = a})  -- | The type of the new trigger. ctType :: Lens' CreateTrigger TriggerType-ctType = lens _ctType (\ s a -> s{_ctType = a});+ctType = lens _ctType (\ s a -> s{_ctType = a})  -- | The actions initiated by this trigger when it fires. ctActions :: Lens' CreateTrigger [Action]-ctActions = lens _ctActions (\ s a -> s{_ctActions = a}) . _Coerce;+ctActions = lens _ctActions (\ s a -> s{_ctActions = a}) . _Coerce  instance AWSRequest CreateTrigger where         type Rs CreateTrigger = CreateTriggerResponse@@ -142,6 +151,7 @@               (catMaybes                  [("Schedule" .=) <$> _ctSchedule,                   ("Predicate" .=) <$> _ctPredicate,+                  ("StartOnCreation" .=) <$> _ctStartOnCreation,                   ("Description" .=) <$> _ctDescription,                   Just ("Name" .= _ctName), Just ("Type" .= _ctType),                   Just ("Actions" .= _ctActions)])@@ -163,7 +173,7 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'ctrsName' - The name assigned to the new trigger.+-- * 'ctrsName' - The name of the trigger. -- -- * 'ctrsResponseStatus' - -- | The response status code. createTriggerResponse@@ -171,15 +181,15 @@     -> CreateTriggerResponse createTriggerResponse pResponseStatus_ =   CreateTriggerResponse'-  {_ctrsName = Nothing, _ctrsResponseStatus = pResponseStatus_}+    {_ctrsName = Nothing, _ctrsResponseStatus = pResponseStatus_}  --- | The name assigned to the new trigger.+-- | The name of the trigger. ctrsName :: Lens' CreateTriggerResponse (Maybe Text)-ctrsName = lens _ctrsName (\ s a -> s{_ctrsName = a});+ctrsName = lens _ctrsName (\ s a -> s{_ctrsName = a})  -- | -- | The response status code. ctrsResponseStatus :: Lens' CreateTriggerResponse Int-ctrsResponseStatus = lens _ctrsResponseStatus (\ s a -> s{_ctrsResponseStatus = a});+ctrsResponseStatus = lens _ctrsResponseStatus (\ s a -> s{_ctrsResponseStatus = a})  instance NFData CreateTriggerResponse where
gen/Network/AWS/Glue/CreateUserDefinedFunction.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.CreateUserDefinedFunction--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -68,23 +68,23 @@     -> CreateUserDefinedFunction createUserDefinedFunction pDatabaseName_ pFunctionInput_ =   CreateUserDefinedFunction'-  { _cudfCatalogId = Nothing-  , _cudfDatabaseName = pDatabaseName_-  , _cudfFunctionInput = pFunctionInput_-  }+    { _cudfCatalogId = Nothing+    , _cudfDatabaseName = pDatabaseName_+    , _cudfFunctionInput = pFunctionInput_+    }   -- | The ID of the Data Catalog in which to create the function. If none is supplied, the AWS account ID is used by default. cudfCatalogId :: Lens' CreateUserDefinedFunction (Maybe Text)-cudfCatalogId = lens _cudfCatalogId (\ s a -> s{_cudfCatalogId = a});+cudfCatalogId = lens _cudfCatalogId (\ s a -> s{_cudfCatalogId = a})  -- | The name of the catalog database in which to create the function. cudfDatabaseName :: Lens' CreateUserDefinedFunction Text-cudfDatabaseName = lens _cudfDatabaseName (\ s a -> s{_cudfDatabaseName = a});+cudfDatabaseName = lens _cudfDatabaseName (\ s a -> s{_cudfDatabaseName = a})  -- | A @FunctionInput@ object that defines the function to create in the Data Catalog. cudfFunctionInput :: Lens' CreateUserDefinedFunction UserDefinedFunctionInput-cudfFunctionInput = lens _cudfFunctionInput (\ s a -> s{_cudfFunctionInput = a});+cudfFunctionInput = lens _cudfFunctionInput (\ s a -> s{_cudfFunctionInput = a})  instance AWSRequest CreateUserDefinedFunction where         type Rs CreateUserDefinedFunction =@@ -143,7 +143,7 @@  -- | -- | The response status code. cudfrsResponseStatus :: Lens' CreateUserDefinedFunctionResponse Int-cudfrsResponseStatus = lens _cudfrsResponseStatus (\ s a -> s{_cudfrsResponseStatus = a});+cudfrsResponseStatus = lens _cudfrsResponseStatus (\ s a -> s{_cudfrsResponseStatus = a})  instance NFData CreateUserDefinedFunctionResponse          where
gen/Network/AWS/Glue/DeleteClassifier.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.Glue.DeleteClassifier--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Removes a @Classifier@ from the metadata store.+-- Removes a classifier from the Data Catalog. -- -- module Network.AWS.Glue.DeleteClassifier@@ -53,16 +53,16 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'delName' - Name of the @Classifier@ to remove.+-- * 'delName' - Name of the classifier to remove. deleteClassifier     :: Text -- ^ 'delName'     -> DeleteClassifier deleteClassifier pName_ = DeleteClassifier' {_delName = pName_}  --- | Name of the @Classifier@ to remove.+-- | Name of the classifier to remove. delName :: Lens' DeleteClassifier Text-delName = lens _delName (\ s a -> s{_delName = a});+delName = lens _delName (\ s a -> s{_delName = a})  instance AWSRequest DeleteClassifier where         type Rs DeleteClassifier = DeleteClassifierResponse@@ -115,6 +115,6 @@  -- | -- | The response status code. drsResponseStatus :: Lens' DeleteClassifierResponse Int-drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a});+drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a})  instance NFData DeleteClassifierResponse where
gen/Network/AWS/Glue/DeleteConnection.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.DeleteConnection--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,16 +63,16 @@     -> DeleteConnection deleteConnection pConnectionName_ =   DeleteConnection'-  {_dcCatalogId = Nothing, _dcConnectionName = pConnectionName_}+    {_dcCatalogId = Nothing, _dcConnectionName = pConnectionName_}   -- | The ID of the Data Catalog in which the connection resides. If none is supplied, the AWS account ID is used by default. dcCatalogId :: Lens' DeleteConnection (Maybe Text)-dcCatalogId = lens _dcCatalogId (\ s a -> s{_dcCatalogId = a});+dcCatalogId = lens _dcCatalogId (\ s a -> s{_dcCatalogId = a})  -- | The name of the connection to delete. dcConnectionName :: Lens' DeleteConnection Text-dcConnectionName = lens _dcConnectionName (\ s a -> s{_dcConnectionName = a});+dcConnectionName = lens _dcConnectionName (\ s a -> s{_dcConnectionName = a})  instance AWSRequest DeleteConnection where         type Rs DeleteConnection = DeleteConnectionResponse@@ -128,6 +128,6 @@  -- | -- | The response status code. dcrsResponseStatus :: Lens' DeleteConnectionResponse Int-dcrsResponseStatus = lens _dcrsResponseStatus (\ s a -> s{_dcrsResponseStatus = a});+dcrsResponseStatus = lens _dcrsResponseStatus (\ s a -> s{_dcrsResponseStatus = a})  instance NFData DeleteConnectionResponse where
gen/Network/AWS/Glue/DeleteCrawler.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.Glue.DeleteCrawler--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Removes a specified @Crawler@ from the metadata store, unless the @Crawler@ state is @RUNNING@ .+-- Removes a specified crawler from the Data Catalog, unless the crawler state is @RUNNING@ . -- -- module Network.AWS.Glue.DeleteCrawler@@ -53,16 +53,16 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'dcName' - Name of the @Crawler@ to remove.+-- * 'dcName' - Name of the crawler to remove. deleteCrawler     :: Text -- ^ 'dcName'     -> DeleteCrawler deleteCrawler pName_ = DeleteCrawler' {_dcName = pName_}  --- | Name of the @Crawler@ to remove.+-- | Name of the crawler to remove. dcName :: Lens' DeleteCrawler Text-dcName = lens _dcName (\ s a -> s{_dcName = a});+dcName = lens _dcName (\ s a -> s{_dcName = a})  instance AWSRequest DeleteCrawler where         type Rs DeleteCrawler = DeleteCrawlerResponse@@ -115,6 +115,6 @@  -- | -- | The response status code. dccrsResponseStatus :: Lens' DeleteCrawlerResponse Int-dccrsResponseStatus = lens _dccrsResponseStatus (\ s a -> s{_dccrsResponseStatus = a});+dccrsResponseStatus = lens _dccrsResponseStatus (\ s a -> s{_dccrsResponseStatus = a})  instance NFData DeleteCrawlerResponse where
gen/Network/AWS/Glue/DeleteDatabase.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.DeleteDatabase--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -57,7 +57,7 @@ -- -- * 'ddCatalogId' - The ID of the Data Catalog in which the database resides. If none is supplied, the AWS account ID is used by default. ----- * 'ddName' - The name of the Database to delete.+-- * 'ddName' - The name of the Database to delete. For Hive compatibility, this must be all lowercase. deleteDatabase     :: Text -- ^ 'ddName'     -> DeleteDatabase@@ -67,11 +67,11 @@  -- | The ID of the Data Catalog in which the database resides. If none is supplied, the AWS account ID is used by default. ddCatalogId :: Lens' DeleteDatabase (Maybe Text)-ddCatalogId = lens _ddCatalogId (\ s a -> s{_ddCatalogId = a});+ddCatalogId = lens _ddCatalogId (\ s a -> s{_ddCatalogId = a}) --- | The name of the Database to delete.+-- | The name of the Database to delete. For Hive compatibility, this must be all lowercase. ddName :: Lens' DeleteDatabase Text-ddName = lens _ddName (\ s a -> s{_ddName = a});+ddName = lens _ddName (\ s a -> s{_ddName = a})  instance AWSRequest DeleteDatabase where         type Rs DeleteDatabase = DeleteDatabaseResponse@@ -127,6 +127,6 @@  -- | -- | The response status code. ddrsResponseStatus :: Lens' DeleteDatabaseResponse Int-ddrsResponseStatus = lens _ddrsResponseStatus (\ s a -> s{_ddrsResponseStatus = a});+ddrsResponseStatus = lens _ddrsResponseStatus (\ s a -> s{_ddrsResponseStatus = a})  instance NFData DeleteDatabaseResponse where
gen/Network/AWS/Glue/DeleteDevEndpoint.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.DeleteDevEndpoint--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,7 +63,7 @@  -- | The name of the DevEndpoint. ddeEndpointName :: Lens' DeleteDevEndpoint Text-ddeEndpointName = lens _ddeEndpointName (\ s a -> s{_ddeEndpointName = a});+ddeEndpointName = lens _ddeEndpointName (\ s a -> s{_ddeEndpointName = a})  instance AWSRequest DeleteDevEndpoint where         type Rs DeleteDevEndpoint = DeleteDevEndpointResponse@@ -118,6 +118,6 @@  -- | -- | The response status code. ddersResponseStatus :: Lens' DeleteDevEndpointResponse Int-ddersResponseStatus = lens _ddersResponseStatus (\ s a -> s{_ddersResponseStatus = a});+ddersResponseStatus = lens _ddersResponseStatus (\ s a -> s{_ddersResponseStatus = a})  instance NFData DeleteDevEndpointResponse where
gen/Network/AWS/Glue/DeleteJob.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.Glue.DeleteJob--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Deletes a specified job.+-- Deletes a specified job definition. If the job definition is not found, no exception is thrown. -- -- module Network.AWS.Glue.DeleteJob@@ -54,16 +54,16 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'djJobName' - The name of the job to delete.+-- * 'djJobName' - The name of the job definition to delete. deleteJob     :: Text -- ^ 'djJobName'     -> DeleteJob deleteJob pJobName_ = DeleteJob' {_djJobName = pJobName_}  --- | The name of the job to delete.+-- | The name of the job definition to delete. djJobName :: Lens' DeleteJob Text-djJobName = lens _djJobName (\ s a -> s{_djJobName = a});+djJobName = lens _djJobName (\ s a -> s{_djJobName = a})  instance AWSRequest DeleteJob where         type Rs DeleteJob = DeleteJobResponse@@ -108,7 +108,7 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'djrsJobName' - The name of the job that was deleted.+-- * 'djrsJobName' - The name of the job definition that was deleted. -- -- * 'djrsResponseStatus' - -- | The response status code. deleteJobResponse@@ -116,15 +116,15 @@     -> DeleteJobResponse deleteJobResponse pResponseStatus_ =   DeleteJobResponse'-  {_djrsJobName = Nothing, _djrsResponseStatus = pResponseStatus_}+    {_djrsJobName = Nothing, _djrsResponseStatus = pResponseStatus_}  --- | The name of the job that was deleted.+-- | The name of the job definition that was deleted. djrsJobName :: Lens' DeleteJobResponse (Maybe Text)-djrsJobName = lens _djrsJobName (\ s a -> s{_djrsJobName = a});+djrsJobName = lens _djrsJobName (\ s a -> s{_djrsJobName = a})  -- | -- | The response status code. djrsResponseStatus :: Lens' DeleteJobResponse Int-djrsResponseStatus = lens _djrsResponseStatus (\ s a -> s{_djrsResponseStatus = a});+djrsResponseStatus = lens _djrsResponseStatus (\ s a -> s{_djrsResponseStatus = a})  instance NFData DeleteJobResponse where
gen/Network/AWS/Glue/DeletePartition.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.DeletePartition--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -72,28 +72,28 @@     -> DeletePartition deletePartition pDatabaseName_ pTableName_ =   DeletePartition'-  { _dpCatalogId = Nothing-  , _dpDatabaseName = pDatabaseName_-  , _dpTableName = pTableName_-  , _dpPartitionValues = mempty-  }+    { _dpCatalogId = Nothing+    , _dpDatabaseName = pDatabaseName_+    , _dpTableName = pTableName_+    , _dpPartitionValues = mempty+    }   -- | The ID of the Data Catalog where the partition to be deleted resides. If none is supplied, the AWS account ID is used by default. dpCatalogId :: Lens' DeletePartition (Maybe Text)-dpCatalogId = lens _dpCatalogId (\ s a -> s{_dpCatalogId = a});+dpCatalogId = lens _dpCatalogId (\ s a -> s{_dpCatalogId = a})  -- | The name of the catalog database in which the table in question resides. dpDatabaseName :: Lens' DeletePartition Text-dpDatabaseName = lens _dpDatabaseName (\ s a -> s{_dpDatabaseName = a});+dpDatabaseName = lens _dpDatabaseName (\ s a -> s{_dpDatabaseName = a})  -- | The name of the table where the partition to be deleted is located. dpTableName :: Lens' DeletePartition Text-dpTableName = lens _dpTableName (\ s a -> s{_dpTableName = a});+dpTableName = lens _dpTableName (\ s a -> s{_dpTableName = a})  -- | The values that define the partition. dpPartitionValues :: Lens' DeletePartition [Text]-dpPartitionValues = lens _dpPartitionValues (\ s a -> s{_dpPartitionValues = a}) . _Coerce;+dpPartitionValues = lens _dpPartitionValues (\ s a -> s{_dpPartitionValues = a}) . _Coerce  instance AWSRequest DeletePartition where         type Rs DeletePartition = DeletePartitionResponse@@ -151,6 +151,6 @@  -- | -- | The response status code. dprsResponseStatus :: Lens' DeletePartitionResponse Int-dprsResponseStatus = lens _dprsResponseStatus (\ s a -> s{_dprsResponseStatus = a});+dprsResponseStatus = lens _dprsResponseStatus (\ s a -> s{_dprsResponseStatus = a})  instance NFData DeletePartitionResponse where
gen/Network/AWS/Glue/DeleteTable.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.DeleteTable--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -59,29 +59,29 @@ -- -- * 'dtCatalogId' - The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default. ----- * 'dtDatabaseName' - The name of the catalog database in which the table resides.+-- * 'dtDatabaseName' - The name of the catalog database in which the table resides. For Hive compatibility, this name is entirely lowercase. ----- * 'dtName' - The name of the table to be deleted.+-- * 'dtName' - The name of the table to be deleted. For Hive compatibility, this name is entirely lowercase. deleteTable     :: Text -- ^ 'dtDatabaseName'     -> Text -- ^ 'dtName'     -> DeleteTable deleteTable pDatabaseName_ pName_ =   DeleteTable'-  {_dtCatalogId = Nothing, _dtDatabaseName = pDatabaseName_, _dtName = pName_}+    {_dtCatalogId = Nothing, _dtDatabaseName = pDatabaseName_, _dtName = pName_}   -- | The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default. dtCatalogId :: Lens' DeleteTable (Maybe Text)-dtCatalogId = lens _dtCatalogId (\ s a -> s{_dtCatalogId = a});+dtCatalogId = lens _dtCatalogId (\ s a -> s{_dtCatalogId = a}) --- | The name of the catalog database in which the table resides.+-- | The name of the catalog database in which the table resides. For Hive compatibility, this name is entirely lowercase. dtDatabaseName :: Lens' DeleteTable Text-dtDatabaseName = lens _dtDatabaseName (\ s a -> s{_dtDatabaseName = a});+dtDatabaseName = lens _dtDatabaseName (\ s a -> s{_dtDatabaseName = a}) --- | The name of the table to be deleted.+-- | The name of the table to be deleted. For Hive compatibility, this name is entirely lowercase. dtName :: Lens' DeleteTable Text-dtName = lens _dtName (\ s a -> s{_dtName = a});+dtName = lens _dtName (\ s a -> s{_dtName = a})  instance AWSRequest DeleteTable where         type Rs DeleteTable = DeleteTableResponse@@ -138,6 +138,6 @@  -- | -- | The response status code. dtrsResponseStatus :: Lens' DeleteTableResponse Int-dtrsResponseStatus = lens _dtrsResponseStatus (\ s a -> s{_dtrsResponseStatus = a});+dtrsResponseStatus = lens _dtrsResponseStatus (\ s a -> s{_dtrsResponseStatus = a})  instance NFData DeleteTableResponse where
+ gen/Network/AWS/Glue/DeleteTableVersion.hs view
@@ -0,0 +1,158 @@+{-# 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.Glue.DeleteTableVersion+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a specified version of a table.+--+--+module Network.AWS.Glue.DeleteTableVersion+    (+    -- * Creating a Request+      deleteTableVersion+    , DeleteTableVersion+    -- * Request Lenses+    , dtvCatalogId+    , dtvDatabaseName+    , dtvTableName+    , dtvVersionId++    -- * Destructuring the Response+    , deleteTableVersionResponse+    , DeleteTableVersionResponse+    -- * Response Lenses+    , dtvrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteTableVersion' smart constructor.+data DeleteTableVersion = DeleteTableVersion'+  { _dtvCatalogId    :: !(Maybe Text)+  , _dtvDatabaseName :: !Text+  , _dtvTableName    :: !Text+  , _dtvVersionId    :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteTableVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dtvCatalogId' - The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default.+--+-- * 'dtvDatabaseName' - The database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase.+--+-- * 'dtvTableName' - The name of the table. For Hive compatibility, this name is entirely lowercase.+--+-- * 'dtvVersionId' - The ID of the table version to be deleted.+deleteTableVersion+    :: Text -- ^ 'dtvDatabaseName'+    -> Text -- ^ 'dtvTableName'+    -> Text -- ^ 'dtvVersionId'+    -> DeleteTableVersion+deleteTableVersion pDatabaseName_ pTableName_ pVersionId_ =+  DeleteTableVersion'+    { _dtvCatalogId = Nothing+    , _dtvDatabaseName = pDatabaseName_+    , _dtvTableName = pTableName_+    , _dtvVersionId = pVersionId_+    }+++-- | The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default.+dtvCatalogId :: Lens' DeleteTableVersion (Maybe Text)+dtvCatalogId = lens _dtvCatalogId (\ s a -> s{_dtvCatalogId = a})++-- | The database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase.+dtvDatabaseName :: Lens' DeleteTableVersion Text+dtvDatabaseName = lens _dtvDatabaseName (\ s a -> s{_dtvDatabaseName = a})++-- | The name of the table. For Hive compatibility, this name is entirely lowercase.+dtvTableName :: Lens' DeleteTableVersion Text+dtvTableName = lens _dtvTableName (\ s a -> s{_dtvTableName = a})++-- | The ID of the table version to be deleted.+dtvVersionId :: Lens' DeleteTableVersion Text+dtvVersionId = lens _dtvVersionId (\ s a -> s{_dtvVersionId = a})++instance AWSRequest DeleteTableVersion where+        type Rs DeleteTableVersion =+             DeleteTableVersionResponse+        request = postJSON glue+        response+          = receiveEmpty+              (\ s h x ->+                 DeleteTableVersionResponse' <$> (pure (fromEnum s)))++instance Hashable DeleteTableVersion where++instance NFData DeleteTableVersion where++instance ToHeaders DeleteTableVersion where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.DeleteTableVersion" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeleteTableVersion where+        toJSON DeleteTableVersion'{..}+          = object+              (catMaybes+                 [("CatalogId" .=) <$> _dtvCatalogId,+                  Just ("DatabaseName" .= _dtvDatabaseName),+                  Just ("TableName" .= _dtvTableName),+                  Just ("VersionId" .= _dtvVersionId)])++instance ToPath DeleteTableVersion where+        toPath = const "/"++instance ToQuery DeleteTableVersion where+        toQuery = const mempty++-- | /See:/ 'deleteTableVersionResponse' smart constructor.+newtype DeleteTableVersionResponse = DeleteTableVersionResponse'+  { _dtvrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteTableVersionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dtvrsResponseStatus' - -- | The response status code.+deleteTableVersionResponse+    :: Int -- ^ 'dtvrsResponseStatus'+    -> DeleteTableVersionResponse+deleteTableVersionResponse pResponseStatus_ =+  DeleteTableVersionResponse' {_dtvrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+dtvrsResponseStatus :: Lens' DeleteTableVersionResponse Int+dtvrsResponseStatus = lens _dtvrsResponseStatus (\ s a -> s{_dtvrsResponseStatus = a})++instance NFData DeleteTableVersionResponse where
gen/Network/AWS/Glue/DeleteTrigger.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.Glue.DeleteTrigger--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Deletes a specified trigger.+-- Deletes a specified trigger. If the trigger is not found, no exception is thrown. -- -- module Network.AWS.Glue.DeleteTrigger@@ -63,7 +63,7 @@  -- | The name of the trigger to delete. dttName :: Lens' DeleteTrigger Text-dttName = lens _dttName (\ s a -> s{_dttName = a});+dttName = lens _dttName (\ s a -> s{_dttName = a})  instance AWSRequest DeleteTrigger where         type Rs DeleteTrigger = DeleteTriggerResponse@@ -116,15 +116,15 @@     -> DeleteTriggerResponse deleteTriggerResponse pResponseStatus_ =   DeleteTriggerResponse'-  {_delrsName = Nothing, _delrsResponseStatus = pResponseStatus_}+    {_delrsName = Nothing, _delrsResponseStatus = pResponseStatus_}   -- | The name of the trigger that was deleted. delrsName :: Lens' DeleteTriggerResponse (Maybe Text)-delrsName = lens _delrsName (\ s a -> s{_delrsName = a});+delrsName = lens _delrsName (\ s a -> s{_delrsName = a})  -- | -- | The response status code. delrsResponseStatus :: Lens' DeleteTriggerResponse Int-delrsResponseStatus = lens _delrsResponseStatus (\ s a -> s{_delrsResponseStatus = a});+delrsResponseStatus = lens _delrsResponseStatus (\ s a -> s{_delrsResponseStatus = a})  instance NFData DeleteTriggerResponse where
gen/Network/AWS/Glue/DeleteUserDefinedFunction.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.DeleteUserDefinedFunction--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -68,23 +68,23 @@     -> DeleteUserDefinedFunction deleteUserDefinedFunction pDatabaseName_ pFunctionName_ =   DeleteUserDefinedFunction'-  { _dudfCatalogId = Nothing-  , _dudfDatabaseName = pDatabaseName_-  , _dudfFunctionName = pFunctionName_-  }+    { _dudfCatalogId = Nothing+    , _dudfDatabaseName = pDatabaseName_+    , _dudfFunctionName = pFunctionName_+    }   -- | The ID of the Data Catalog where the function to be deleted is located. If none is supplied, the AWS account ID is used by default. dudfCatalogId :: Lens' DeleteUserDefinedFunction (Maybe Text)-dudfCatalogId = lens _dudfCatalogId (\ s a -> s{_dudfCatalogId = a});+dudfCatalogId = lens _dudfCatalogId (\ s a -> s{_dudfCatalogId = a})  -- | The name of the catalog database where the function is located. dudfDatabaseName :: Lens' DeleteUserDefinedFunction Text-dudfDatabaseName = lens _dudfDatabaseName (\ s a -> s{_dudfDatabaseName = a});+dudfDatabaseName = lens _dudfDatabaseName (\ s a -> s{_dudfDatabaseName = a})  -- | The name of the function definition to be deleted. dudfFunctionName :: Lens' DeleteUserDefinedFunction Text-dudfFunctionName = lens _dudfFunctionName (\ s a -> s{_dudfFunctionName = a});+dudfFunctionName = lens _dudfFunctionName (\ s a -> s{_dudfFunctionName = a})  instance AWSRequest DeleteUserDefinedFunction where         type Rs DeleteUserDefinedFunction =@@ -143,7 +143,7 @@  -- | -- | The response status code. dudfrsResponseStatus :: Lens' DeleteUserDefinedFunctionResponse Int-dudfrsResponseStatus = lens _dudfrsResponseStatus (\ s a -> s{_dudfrsResponseStatus = a});+dudfrsResponseStatus = lens _dudfrsResponseStatus (\ s a -> s{_dudfrsResponseStatus = a})  instance NFData DeleteUserDefinedFunctionResponse          where
gen/Network/AWS/Glue/GetCatalogImportStatus.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.GetCatalogImportStatus--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -62,7 +62,7 @@  -- | The ID of the catalog to migrate. Currently, this should be the AWS account ID. gcisCatalogId :: Lens' GetCatalogImportStatus (Maybe Text)-gcisCatalogId = lens _gcisCatalogId (\ s a -> s{_gcisCatalogId = a});+gcisCatalogId = lens _gcisCatalogId (\ s a -> s{_gcisCatalogId = a})  instance AWSRequest GetCatalogImportStatus where         type Rs GetCatalogImportStatus =@@ -117,15 +117,15 @@     -> GetCatalogImportStatusResponse getCatalogImportStatusResponse pResponseStatus_ =   GetCatalogImportStatusResponse'-  {_gcisrsImportStatus = Nothing, _gcisrsResponseStatus = pResponseStatus_}+    {_gcisrsImportStatus = Nothing, _gcisrsResponseStatus = pResponseStatus_}   -- | The status of the specified catalog migration. gcisrsImportStatus :: Lens' GetCatalogImportStatusResponse (Maybe CatalogImportStatus)-gcisrsImportStatus = lens _gcisrsImportStatus (\ s a -> s{_gcisrsImportStatus = a});+gcisrsImportStatus = lens _gcisrsImportStatus (\ s a -> s{_gcisrsImportStatus = a})  -- | -- | The response status code. gcisrsResponseStatus :: Lens' GetCatalogImportStatusResponse Int-gcisrsResponseStatus = lens _gcisrsResponseStatus (\ s a -> s{_gcisrsResponseStatus = a});+gcisrsResponseStatus = lens _gcisrsResponseStatus (\ s a -> s{_gcisrsResponseStatus = a})  instance NFData GetCatalogImportStatusResponse where
gen/Network/AWS/Glue/GetClassifier.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.Glue.GetClassifier--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Retrieve a @Classifier@ by name.+-- Retrieve a classifier by name. -- -- module Network.AWS.Glue.GetClassifier@@ -54,16 +54,16 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'getName' - Name of the @Classifier@ to retrieve.+-- * 'getName' - Name of the classifier to retrieve. getClassifier     :: Text -- ^ 'getName'     -> GetClassifier getClassifier pName_ = GetClassifier' {_getName = pName_}  --- | Name of the @Classifier@ to retrieve.+-- | Name of the classifier to retrieve. getName :: Lens' GetClassifier Text-getName = lens _getName (\ s a -> s{_getName = a});+getName = lens _getName (\ s a -> s{_getName = a})  instance AWSRequest GetClassifier where         type Rs GetClassifier = GetClassifierResponse@@ -108,7 +108,7 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'gcrsClassifier' - The requested @Classifier@ .+-- * 'gcrsClassifier' - The requested classifier. -- -- * 'gcrsResponseStatus' - -- | The response status code. getClassifierResponse@@ -116,15 +116,15 @@     -> GetClassifierResponse getClassifierResponse pResponseStatus_ =   GetClassifierResponse'-  {_gcrsClassifier = Nothing, _gcrsResponseStatus = pResponseStatus_}+    {_gcrsClassifier = Nothing, _gcrsResponseStatus = pResponseStatus_}  --- | The requested @Classifier@ .+-- | The requested classifier. gcrsClassifier :: Lens' GetClassifierResponse (Maybe Classifier)-gcrsClassifier = lens _gcrsClassifier (\ s a -> s{_gcrsClassifier = a});+gcrsClassifier = lens _gcrsClassifier (\ s a -> s{_gcrsClassifier = a})  -- | -- | The response status code. gcrsResponseStatus :: Lens' GetClassifierResponse Int-gcrsResponseStatus = lens _gcrsResponseStatus (\ s a -> s{_gcrsResponseStatus = a});+gcrsResponseStatus = lens _gcrsResponseStatus (\ s a -> s{_gcrsResponseStatus = a})  instance NFData GetClassifierResponse where
gen/Network/AWS/Glue/GetClassifiers.hs view
@@ -12,15 +12,17 @@  -- | -- Module      : Network.AWS.Glue.GetClassifiers--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Lists all Classifier objects in the metadata store.+-- Lists all classifier objects in the Data Catalog. -- --+--+-- This operation returns paginated results. module Network.AWS.Glue.GetClassifiers     (     -- * Creating a Request@@ -42,6 +44,7 @@ import Network.AWS.Glue.Types import Network.AWS.Glue.Types.Product import Network.AWS.Lens+import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response@@ -68,12 +71,19 @@  -- | An optional continuation token. gcNextToken :: Lens' GetClassifiers (Maybe Text)-gcNextToken = lens _gcNextToken (\ s a -> s{_gcNextToken = a});+gcNextToken = lens _gcNextToken (\ s a -> s{_gcNextToken = a})  -- | Size of the list to return (optional). gcMaxResults :: Lens' GetClassifiers (Maybe Natural)-gcMaxResults = lens _gcMaxResults (\ s a -> s{_gcMaxResults = a}) . mapping _Nat;+gcMaxResults = lens _gcMaxResults (\ s a -> s{_gcMaxResults = a}) . mapping _Nat +instance AWSPager GetClassifiers where+        page rq rs+          | stop (rs ^. gcsrsNextToken) = Nothing+          | stop (rs ^. gcsrsClassifiers) = Nothing+          | otherwise =+            Just $ rq & gcNextToken .~ rs ^. gcsrsNextToken+ instance AWSRequest GetClassifiers where         type Rs GetClassifiers = GetClassifiersResponse         request = postJSON glue@@ -125,7 +135,7 @@ -- -- * 'gcsrsNextToken' - A continuation token. ----- * 'gcsrsClassifiers' - The requested list of @Classifier@ objects.+-- * 'gcsrsClassifiers' - The requested list of classifier objects. -- -- * 'gcsrsResponseStatus' - -- | The response status code. getClassifiersResponse@@ -133,22 +143,22 @@     -> GetClassifiersResponse getClassifiersResponse pResponseStatus_ =   GetClassifiersResponse'-  { _gcsrsNextToken = Nothing-  , _gcsrsClassifiers = Nothing-  , _gcsrsResponseStatus = pResponseStatus_-  }+    { _gcsrsNextToken = Nothing+    , _gcsrsClassifiers = Nothing+    , _gcsrsResponseStatus = pResponseStatus_+    }   -- | A continuation token. gcsrsNextToken :: Lens' GetClassifiersResponse (Maybe Text)-gcsrsNextToken = lens _gcsrsNextToken (\ s a -> s{_gcsrsNextToken = a});+gcsrsNextToken = lens _gcsrsNextToken (\ s a -> s{_gcsrsNextToken = a}) --- | The requested list of @Classifier@ objects.+-- | The requested list of classifier objects. gcsrsClassifiers :: Lens' GetClassifiersResponse [Classifier]-gcsrsClassifiers = lens _gcsrsClassifiers (\ s a -> s{_gcsrsClassifiers = a}) . _Default . _Coerce;+gcsrsClassifiers = lens _gcsrsClassifiers (\ s a -> s{_gcsrsClassifiers = a}) . _Default . _Coerce  -- | -- | The response status code. gcsrsResponseStatus :: Lens' GetClassifiersResponse Int-gcsrsResponseStatus = lens _gcsrsResponseStatus (\ s a -> s{_gcsrsResponseStatus = a});+gcsrsResponseStatus = lens _gcsrsResponseStatus (\ s a -> s{_gcsrsResponseStatus = a})  instance NFData GetClassifiersResponse where
gen/Network/AWS/Glue/GetConnection.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.GetConnection--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -67,11 +67,11 @@  -- | The ID of the Data Catalog in which the connection resides. If none is supplied, the AWS account ID is used by default. gCatalogId :: Lens' GetConnection (Maybe Text)-gCatalogId = lens _gCatalogId (\ s a -> s{_gCatalogId = a});+gCatalogId = lens _gCatalogId (\ s a -> s{_gCatalogId = a})  -- | The name of the connection definition to retrieve. gName :: Lens' GetConnection Text-gName = lens _gName (\ s a -> s{_gName = a});+gName = lens _gName (\ s a -> s{_gName = a})  instance AWSRequest GetConnection where         type Rs GetConnection = GetConnectionResponse@@ -127,15 +127,15 @@     -> GetConnectionResponse getConnectionResponse pResponseStatus_ =   GetConnectionResponse'-  {_getrsConnection = Nothing, _getrsResponseStatus = pResponseStatus_}+    {_getrsConnection = Nothing, _getrsResponseStatus = pResponseStatus_}   -- | The requested connection definition. getrsConnection :: Lens' GetConnectionResponse (Maybe Connection)-getrsConnection = lens _getrsConnection (\ s a -> s{_getrsConnection = a});+getrsConnection = lens _getrsConnection (\ s a -> s{_getrsConnection = a})  -- | -- | The response status code. getrsResponseStatus :: Lens' GetConnectionResponse Int-getrsResponseStatus = lens _getrsResponseStatus (\ s a -> s{_getrsResponseStatus = a});+getrsResponseStatus = lens _getrsResponseStatus (\ s a -> s{_getrsResponseStatus = a})  instance NFData GetConnectionResponse where
gen/Network/AWS/Glue/GetConnections.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.GetConnections--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -21,6 +21,8 @@ -- Retrieves a list of connection definitions from the Data Catalog. -- --+--+-- This operation returns paginated results. module Network.AWS.Glue.GetConnections     (     -- * Creating a Request@@ -44,6 +46,7 @@ import Network.AWS.Glue.Types import Network.AWS.Glue.Types.Product import Network.AWS.Lens+import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response@@ -72,29 +75,36 @@     :: GetConnections getConnections =   GetConnections'-  { _gcsCatalogId = Nothing-  , _gcsNextToken = Nothing-  , _gcsFilter = Nothing-  , _gcsMaxResults = Nothing-  }+    { _gcsCatalogId = Nothing+    , _gcsNextToken = Nothing+    , _gcsFilter = Nothing+    , _gcsMaxResults = Nothing+    }   -- | The ID of the Data Catalog in which the connections reside. If none is supplied, the AWS account ID is used by default. gcsCatalogId :: Lens' GetConnections (Maybe Text)-gcsCatalogId = lens _gcsCatalogId (\ s a -> s{_gcsCatalogId = a});+gcsCatalogId = lens _gcsCatalogId (\ s a -> s{_gcsCatalogId = a})  -- | A continuation token, if this is a continuation call. gcsNextToken :: Lens' GetConnections (Maybe Text)-gcsNextToken = lens _gcsNextToken (\ s a -> s{_gcsNextToken = a});+gcsNextToken = lens _gcsNextToken (\ s a -> s{_gcsNextToken = a})  -- | A filter that controls which connections will be returned. gcsFilter :: Lens' GetConnections (Maybe GetConnectionsFilter)-gcsFilter = lens _gcsFilter (\ s a -> s{_gcsFilter = a});+gcsFilter = lens _gcsFilter (\ s a -> s{_gcsFilter = a})  -- | The maximum number of connections to return in one response. gcsMaxResults :: Lens' GetConnections (Maybe Natural)-gcsMaxResults = lens _gcsMaxResults (\ s a -> s{_gcsMaxResults = a}) . mapping _Nat;+gcsMaxResults = lens _gcsMaxResults (\ s a -> s{_gcsMaxResults = a}) . mapping _Nat +instance AWSPager GetConnections where+        page rq rs+          | stop (rs ^. gccrsNextToken) = Nothing+          | stop (rs ^. gccrsConnectionList) = Nothing+          | otherwise =+            Just $ rq & gcsNextToken .~ rs ^. gccrsNextToken+ instance AWSRequest GetConnections where         type Rs GetConnections = GetConnectionsResponse         request = postJSON glue@@ -156,22 +166,22 @@     -> GetConnectionsResponse getConnectionsResponse pResponseStatus_ =   GetConnectionsResponse'-  { _gccrsNextToken = Nothing-  , _gccrsConnectionList = Nothing-  , _gccrsResponseStatus = pResponseStatus_-  }+    { _gccrsNextToken = Nothing+    , _gccrsConnectionList = Nothing+    , _gccrsResponseStatus = pResponseStatus_+    }   -- | A continuation token, if the list of connections returned does not include the last of the filtered connections. gccrsNextToken :: Lens' GetConnectionsResponse (Maybe Text)-gccrsNextToken = lens _gccrsNextToken (\ s a -> s{_gccrsNextToken = a});+gccrsNextToken = lens _gccrsNextToken (\ s a -> s{_gccrsNextToken = a})  -- | A list of requested connection definitions. gccrsConnectionList :: Lens' GetConnectionsResponse [Connection]-gccrsConnectionList = lens _gccrsConnectionList (\ s a -> s{_gccrsConnectionList = a}) . _Default . _Coerce;+gccrsConnectionList = lens _gccrsConnectionList (\ s a -> s{_gccrsConnectionList = a}) . _Default . _Coerce  -- | -- | The response status code. gccrsResponseStatus :: Lens' GetConnectionsResponse Int-gccrsResponseStatus = lens _gccrsResponseStatus (\ s a -> s{_gccrsResponseStatus = a});+gccrsResponseStatus = lens _gccrsResponseStatus (\ s a -> s{_gccrsResponseStatus = a})  instance NFData GetConnectionsResponse where
gen/Network/AWS/Glue/GetCrawler.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.Glue.GetCrawler--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Retrieves metadata for a specified @Crawler@ .+-- Retrieves metadata for a specified crawler. -- -- module Network.AWS.Glue.GetCrawler@@ -54,16 +54,16 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'gccName' - Name of the @Crawler@ to retrieve metadata for.+-- * 'gccName' - Name of the crawler to retrieve metadata for. getCrawler     :: Text -- ^ 'gccName'     -> GetCrawler getCrawler pName_ = GetCrawler' {_gccName = pName_}  --- | Name of the @Crawler@ to retrieve metadata for.+-- | Name of the crawler to retrieve metadata for. gccName :: Lens' GetCrawler Text-gccName = lens _gccName (\ s a -> s{_gccName = a});+gccName = lens _gccName (\ s a -> s{_gccName = a})  instance AWSRequest GetCrawler where         type Rs GetCrawler = GetCrawlerResponse@@ -108,7 +108,7 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'getersCrawler' - The metadata for the specified @Crawler@ .+-- * 'getersCrawler' - The metadata for the specified crawler. -- -- * 'getersResponseStatus' - -- | The response status code. getCrawlerResponse@@ -116,15 +116,15 @@     -> GetCrawlerResponse getCrawlerResponse pResponseStatus_ =   GetCrawlerResponse'-  {_getersCrawler = Nothing, _getersResponseStatus = pResponseStatus_}+    {_getersCrawler = Nothing, _getersResponseStatus = pResponseStatus_}  --- | The metadata for the specified @Crawler@ .+-- | The metadata for the specified crawler. getersCrawler :: Lens' GetCrawlerResponse (Maybe Crawler)-getersCrawler = lens _getersCrawler (\ s a -> s{_getersCrawler = a});+getersCrawler = lens _getersCrawler (\ s a -> s{_getersCrawler = a})  -- | -- | The response status code. getersResponseStatus :: Lens' GetCrawlerResponse Int-getersResponseStatus = lens _getersResponseStatus (\ s a -> s{_getersResponseStatus = a});+getersResponseStatus = lens _getersResponseStatus (\ s a -> s{_getersResponseStatus = a})  instance NFData GetCrawlerResponse where
gen/Network/AWS/Glue/GetCrawlerMetrics.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.GetCrawlerMetrics--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -21,6 +21,8 @@ -- Retrieves metrics about specified crawlers. -- --+--+-- This operation returns paginated results. module Network.AWS.Glue.GetCrawlerMetrics     (     -- * Creating a Request@@ -43,6 +45,7 @@ import Network.AWS.Glue.Types import Network.AWS.Glue.Types.Product import Network.AWS.Lens+import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response@@ -68,24 +71,31 @@     :: GetCrawlerMetrics getCrawlerMetrics =   GetCrawlerMetrics'-  { _gcmNextToken = Nothing-  , _gcmMaxResults = Nothing-  , _gcmCrawlerNameList = Nothing-  }+    { _gcmNextToken = Nothing+    , _gcmMaxResults = Nothing+    , _gcmCrawlerNameList = Nothing+    }   -- | A continuation token, if this is a continuation call. gcmNextToken :: Lens' GetCrawlerMetrics (Maybe Text)-gcmNextToken = lens _gcmNextToken (\ s a -> s{_gcmNextToken = a});+gcmNextToken = lens _gcmNextToken (\ s a -> s{_gcmNextToken = a})  -- | The maximum size of a list to return. gcmMaxResults :: Lens' GetCrawlerMetrics (Maybe Natural)-gcmMaxResults = lens _gcmMaxResults (\ s a -> s{_gcmMaxResults = a}) . mapping _Nat;+gcmMaxResults = lens _gcmMaxResults (\ s a -> s{_gcmMaxResults = a}) . mapping _Nat  -- | A list of the names of crawlers about which to retrieve metrics. gcmCrawlerNameList :: Lens' GetCrawlerMetrics [Text]-gcmCrawlerNameList = lens _gcmCrawlerNameList (\ s a -> s{_gcmCrawlerNameList = a}) . _Default . _Coerce;+gcmCrawlerNameList = lens _gcmCrawlerNameList (\ s a -> s{_gcmCrawlerNameList = a}) . _Default . _Coerce +instance AWSPager GetCrawlerMetrics where+        page rq rs+          | stop (rs ^. gcmrsNextToken) = Nothing+          | stop (rs ^. gcmrsCrawlerMetricsList) = Nothing+          | otherwise =+            Just $ rq & gcmNextToken .~ rs ^. gcmrsNextToken+ instance AWSRequest GetCrawlerMetrics where         type Rs GetCrawlerMetrics = GetCrawlerMetricsResponse         request = postJSON glue@@ -146,22 +156,22 @@     -> GetCrawlerMetricsResponse getCrawlerMetricsResponse pResponseStatus_ =   GetCrawlerMetricsResponse'-  { _gcmrsCrawlerMetricsList = Nothing-  , _gcmrsNextToken = Nothing-  , _gcmrsResponseStatus = pResponseStatus_-  }+    { _gcmrsCrawlerMetricsList = Nothing+    , _gcmrsNextToken = Nothing+    , _gcmrsResponseStatus = pResponseStatus_+    }   -- | A list of metrics for the specified crawler. gcmrsCrawlerMetricsList :: Lens' GetCrawlerMetricsResponse [CrawlerMetrics]-gcmrsCrawlerMetricsList = lens _gcmrsCrawlerMetricsList (\ s a -> s{_gcmrsCrawlerMetricsList = a}) . _Default . _Coerce;+gcmrsCrawlerMetricsList = lens _gcmrsCrawlerMetricsList (\ s a -> s{_gcmrsCrawlerMetricsList = a}) . _Default . _Coerce  -- | A continuation token, if the returned list does not contain the last metric available. gcmrsNextToken :: Lens' GetCrawlerMetricsResponse (Maybe Text)-gcmrsNextToken = lens _gcmrsNextToken (\ s a -> s{_gcmrsNextToken = a});+gcmrsNextToken = lens _gcmrsNextToken (\ s a -> s{_gcmrsNextToken = a})  -- | -- | The response status code. gcmrsResponseStatus :: Lens' GetCrawlerMetricsResponse Int-gcmrsResponseStatus = lens _gcmrsResponseStatus (\ s a -> s{_gcmrsResponseStatus = a});+gcmrsResponseStatus = lens _gcmrsResponseStatus (\ s a -> s{_gcmrsResponseStatus = a})  instance NFData GetCrawlerMetricsResponse where
gen/Network/AWS/Glue/GetCrawlers.hs view
@@ -12,15 +12,17 @@  -- | -- Module      : Network.AWS.Glue.GetCrawlers--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Retrieves metadata for all @Crawlers@ defined in the customer account.+-- Retrieves metadata for all crawlers defined in the customer account. -- --+--+-- This operation returns paginated results. module Network.AWS.Glue.GetCrawlers     (     -- * Creating a Request@@ -42,6 +44,7 @@ import Network.AWS.Glue.Types import Network.AWS.Glue.Types.Product import Network.AWS.Lens+import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response@@ -59,7 +62,7 @@ -- -- * 'gNextToken' - A continuation token, if this is a continuation request. ----- * 'gMaxResults' - The number of Crawlers to return on each call.+-- * 'gMaxResults' - The number of crawlers to return on each call. getCrawlers     :: GetCrawlers getCrawlers = GetCrawlers' {_gNextToken = Nothing, _gMaxResults = Nothing}@@ -67,12 +70,19 @@  -- | A continuation token, if this is a continuation request. gNextToken :: Lens' GetCrawlers (Maybe Text)-gNextToken = lens _gNextToken (\ s a -> s{_gNextToken = a});+gNextToken = lens _gNextToken (\ s a -> s{_gNextToken = a}) --- | The number of Crawlers to return on each call.+-- | The number of crawlers to return on each call. gMaxResults :: Lens' GetCrawlers (Maybe Natural)-gMaxResults = lens _gMaxResults (\ s a -> s{_gMaxResults = a}) . mapping _Nat;+gMaxResults = lens _gMaxResults (\ s a -> s{_gMaxResults = a}) . mapping _Nat +instance AWSPager GetCrawlers where+        page rq rs+          | stop (rs ^. grsNextToken) = Nothing+          | stop (rs ^. grsCrawlers) = Nothing+          | otherwise =+            Just $ rq & gNextToken .~ rs ^. grsNextToken+ instance AWSRequest GetCrawlers where         type Rs GetCrawlers = GetCrawlersResponse         request = postJSON glue@@ -123,7 +133,7 @@ -- -- * 'grsNextToken' - A continuation token, if the returned list has not reached the end of those defined in this customer account. ----- * 'grsCrawlers' - A list of @Crawler@ metadata.+-- * 'grsCrawlers' - A list of crawler metadata. -- -- * 'grsResponseStatus' - -- | The response status code. getCrawlersResponse@@ -131,22 +141,22 @@     -> GetCrawlersResponse getCrawlersResponse pResponseStatus_ =   GetCrawlersResponse'-  { _grsNextToken = Nothing-  , _grsCrawlers = Nothing-  , _grsResponseStatus = pResponseStatus_-  }+    { _grsNextToken = Nothing+    , _grsCrawlers = Nothing+    , _grsResponseStatus = pResponseStatus_+    }   -- | A continuation token, if the returned list has not reached the end of those defined in this customer account. grsNextToken :: Lens' GetCrawlersResponse (Maybe Text)-grsNextToken = lens _grsNextToken (\ s a -> s{_grsNextToken = a});+grsNextToken = lens _grsNextToken (\ s a -> s{_grsNextToken = a}) --- | A list of @Crawler@ metadata.+-- | A list of crawler metadata. grsCrawlers :: Lens' GetCrawlersResponse [Crawler]-grsCrawlers = lens _grsCrawlers (\ s a -> s{_grsCrawlers = a}) . _Default . _Coerce;+grsCrawlers = lens _grsCrawlers (\ s a -> s{_grsCrawlers = a}) . _Default . _Coerce  -- | -- | The response status code. grsResponseStatus :: Lens' GetCrawlersResponse Int-grsResponseStatus = lens _grsResponseStatus (\ s a -> s{_grsResponseStatus = a});+grsResponseStatus = lens _grsResponseStatus (\ s a -> s{_grsResponseStatus = a})  instance NFData GetCrawlersResponse where
gen/Network/AWS/Glue/GetDatabase.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.GetDatabase--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -58,7 +58,7 @@ -- -- * 'gddCatalogId' - The ID of the Data Catalog in which the database resides. If none is supplied, the AWS account ID is used by default. ----- * 'gddName' - The name of the database to retrieve.+-- * 'gddName' - The name of the database to retrieve. For Hive compatibility, this should be all lowercase. getDatabase     :: Text -- ^ 'gddName'     -> GetDatabase@@ -67,11 +67,11 @@  -- | The ID of the Data Catalog in which the database resides. If none is supplied, the AWS account ID is used by default. gddCatalogId :: Lens' GetDatabase (Maybe Text)-gddCatalogId = lens _gddCatalogId (\ s a -> s{_gddCatalogId = a});+gddCatalogId = lens _gddCatalogId (\ s a -> s{_gddCatalogId = a}) --- | The name of the database to retrieve.+-- | The name of the database to retrieve. For Hive compatibility, this should be all lowercase. gddName :: Lens' GetDatabase Text-gddName = lens _gddName (\ s a -> s{_gddName = a});+gddName = lens _gddName (\ s a -> s{_gddName = a})  instance AWSRequest GetDatabase where         type Rs GetDatabase = GetDatabaseResponse@@ -127,15 +127,15 @@     -> GetDatabaseResponse getDatabaseResponse pResponseStatus_ =   GetDatabaseResponse'-  {_gdrsDatabase = Nothing, _gdrsResponseStatus = pResponseStatus_}+    {_gdrsDatabase = Nothing, _gdrsResponseStatus = pResponseStatus_}   -- | The definition of the specified database in the catalog. gdrsDatabase :: Lens' GetDatabaseResponse (Maybe Database)-gdrsDatabase = lens _gdrsDatabase (\ s a -> s{_gdrsDatabase = a});+gdrsDatabase = lens _gdrsDatabase (\ s a -> s{_gdrsDatabase = a})  -- | -- | The response status code. gdrsResponseStatus :: Lens' GetDatabaseResponse Int-gdrsResponseStatus = lens _gdrsResponseStatus (\ s a -> s{_gdrsResponseStatus = a});+gdrsResponseStatus = lens _gdrsResponseStatus (\ s a -> s{_gdrsResponseStatus = a})  instance NFData GetDatabaseResponse where
gen/Network/AWS/Glue/GetDatabases.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.GetDatabases--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -21,6 +21,8 @@ -- Retrieves all Databases defined in a given Data Catalog. -- --+--+-- This operation returns paginated results. module Network.AWS.Glue.GetDatabases     (     -- * Creating a Request@@ -43,6 +45,7 @@ import Network.AWS.Glue.Types import Network.AWS.Glue.Types.Product import Network.AWS.Lens+import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response@@ -68,21 +71,28 @@     :: GetDatabases getDatabases =   GetDatabases'-  {_gdCatalogId = Nothing, _gdNextToken = Nothing, _gdMaxResults = Nothing}+    {_gdCatalogId = Nothing, _gdNextToken = Nothing, _gdMaxResults = Nothing}   -- | The ID of the Data Catalog from which to retrieve @Databases@ . If none is supplied, the AWS account ID is used by default. gdCatalogId :: Lens' GetDatabases (Maybe Text)-gdCatalogId = lens _gdCatalogId (\ s a -> s{_gdCatalogId = a});+gdCatalogId = lens _gdCatalogId (\ s a -> s{_gdCatalogId = a})  -- | A continuation token, if this is a continuation call. gdNextToken :: Lens' GetDatabases (Maybe Text)-gdNextToken = lens _gdNextToken (\ s a -> s{_gdNextToken = a});+gdNextToken = lens _gdNextToken (\ s a -> s{_gdNextToken = a})  -- | The maximum number of databases to return in one response. gdMaxResults :: Lens' GetDatabases (Maybe Natural)-gdMaxResults = lens _gdMaxResults (\ s a -> s{_gdMaxResults = a}) . mapping _Nat;+gdMaxResults = lens _gdMaxResults (\ s a -> s{_gdMaxResults = a}) . mapping _Nat +instance AWSPager GetDatabases where+        page rq rs+          | stop (rs ^. gdsrsNextToken) = Nothing+          | stop (rs ^. gdsrsDatabaseList) = Nothing+          | otherwise =+            Just $ rq & gdNextToken .~ rs ^. gdsrsNextToken+ instance AWSRequest GetDatabases where         type Rs GetDatabases = GetDatabasesResponse         request = postJSON glue@@ -142,22 +152,22 @@     -> GetDatabasesResponse getDatabasesResponse pResponseStatus_ =   GetDatabasesResponse'-  { _gdsrsNextToken = Nothing-  , _gdsrsResponseStatus = pResponseStatus_-  , _gdsrsDatabaseList = mempty-  }+    { _gdsrsNextToken = Nothing+    , _gdsrsResponseStatus = pResponseStatus_+    , _gdsrsDatabaseList = mempty+    }   -- | A continuation token for paginating the returned list of tokens, returned if the current segment of the list is not the last. gdsrsNextToken :: Lens' GetDatabasesResponse (Maybe Text)-gdsrsNextToken = lens _gdsrsNextToken (\ s a -> s{_gdsrsNextToken = a});+gdsrsNextToken = lens _gdsrsNextToken (\ s a -> s{_gdsrsNextToken = a})  -- | -- | The response status code. gdsrsResponseStatus :: Lens' GetDatabasesResponse Int-gdsrsResponseStatus = lens _gdsrsResponseStatus (\ s a -> s{_gdsrsResponseStatus = a});+gdsrsResponseStatus = lens _gdsrsResponseStatus (\ s a -> s{_gdsrsResponseStatus = a})  -- | A list of @Database@ objects from the specified catalog. gdsrsDatabaseList :: Lens' GetDatabasesResponse [Database]-gdsrsDatabaseList = lens _gdsrsDatabaseList (\ s a -> s{_gdsrsDatabaseList = a}) . _Coerce;+gdsrsDatabaseList = lens _gdsrsDatabaseList (\ s a -> s{_gdsrsDatabaseList = a}) . _Coerce  instance NFData GetDatabasesResponse where
gen/Network/AWS/Glue/GetDataflowGraph.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.GetDataflowGraph--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,7 +63,7 @@  -- | The Python script to transform. gdgPythonScript :: Lens' GetDataflowGraph (Maybe Text)-gdgPythonScript = lens _gdgPythonScript (\ s a -> s{_gdgPythonScript = a});+gdgPythonScript = lens _gdgPythonScript (\ s a -> s{_gdgPythonScript = a})  instance AWSRequest GetDataflowGraph where         type Rs GetDataflowGraph = GetDataflowGraphResponse@@ -123,22 +123,22 @@     -> GetDataflowGraphResponse getDataflowGraphResponse pResponseStatus_ =   GetDataflowGraphResponse'-  { _gdgrsDagEdges = Nothing-  , _gdgrsDagNodes = Nothing-  , _gdgrsResponseStatus = pResponseStatus_-  }+    { _gdgrsDagEdges = Nothing+    , _gdgrsDagNodes = Nothing+    , _gdgrsResponseStatus = pResponseStatus_+    }   -- | A list of the edges in the resulting DAG. gdgrsDagEdges :: Lens' GetDataflowGraphResponse [CodeGenEdge]-gdgrsDagEdges = lens _gdgrsDagEdges (\ s a -> s{_gdgrsDagEdges = a}) . _Default . _Coerce;+gdgrsDagEdges = lens _gdgrsDagEdges (\ s a -> s{_gdgrsDagEdges = a}) . _Default . _Coerce  -- | A list of the nodes in the resulting DAG. gdgrsDagNodes :: Lens' GetDataflowGraphResponse [CodeGenNode]-gdgrsDagNodes = lens _gdgrsDagNodes (\ s a -> s{_gdgrsDagNodes = a}) . _Default . _Coerce;+gdgrsDagNodes = lens _gdgrsDagNodes (\ s a -> s{_gdgrsDagNodes = a}) . _Default . _Coerce  -- | -- | The response status code. gdgrsResponseStatus :: Lens' GetDataflowGraphResponse Int-gdgrsResponseStatus = lens _gdgrsResponseStatus (\ s a -> s{_gdgrsResponseStatus = a});+gdgrsResponseStatus = lens _gdgrsResponseStatus (\ s a -> s{_gdgrsResponseStatus = a})  instance NFData GetDataflowGraphResponse where
gen/Network/AWS/Glue/GetDevEndpoint.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.GetDevEndpoint--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -64,7 +64,7 @@  -- | Name of the DevEndpoint for which to retrieve information. gdeEndpointName :: Lens' GetDevEndpoint Text-gdeEndpointName = lens _gdeEndpointName (\ s a -> s{_gdeEndpointName = a});+gdeEndpointName = lens _gdeEndpointName (\ s a -> s{_gdeEndpointName = a})  instance AWSRequest GetDevEndpoint where         type Rs GetDevEndpoint = GetDevEndpointResponse@@ -119,15 +119,15 @@     -> GetDevEndpointResponse getDevEndpointResponse pResponseStatus_ =   GetDevEndpointResponse'-  {_gdedrsDevEndpoint = Nothing, _gdedrsResponseStatus = pResponseStatus_}+    {_gdedrsDevEndpoint = Nothing, _gdedrsResponseStatus = pResponseStatus_}   -- | A DevEndpoint definition. gdedrsDevEndpoint :: Lens' GetDevEndpointResponse (Maybe DevEndpoint)-gdedrsDevEndpoint = lens _gdedrsDevEndpoint (\ s a -> s{_gdedrsDevEndpoint = a});+gdedrsDevEndpoint = lens _gdedrsDevEndpoint (\ s a -> s{_gdedrsDevEndpoint = a})  -- | -- | The response status code. gdedrsResponseStatus :: Lens' GetDevEndpointResponse Int-gdedrsResponseStatus = lens _gdedrsResponseStatus (\ s a -> s{_gdedrsResponseStatus = a});+gdedrsResponseStatus = lens _gdedrsResponseStatus (\ s a -> s{_gdedrsResponseStatus = a})  instance NFData GetDevEndpointResponse where
gen/Network/AWS/Glue/GetDevEndpoints.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.GetDevEndpoints--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -21,6 +21,8 @@ -- Retrieves all the DevEndpoints in this AWS account. -- --+--+-- This operation returns paginated results. module Network.AWS.Glue.GetDevEndpoints     (     -- * Creating a Request@@ -42,6 +44,7 @@ import Network.AWS.Glue.Types import Network.AWS.Glue.Types.Product import Network.AWS.Lens+import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response@@ -68,12 +71,19 @@  -- | A continuation token, if this is a continuation call. gdeNextToken :: Lens' GetDevEndpoints (Maybe Text)-gdeNextToken = lens _gdeNextToken (\ s a -> s{_gdeNextToken = a});+gdeNextToken = lens _gdeNextToken (\ s a -> s{_gdeNextToken = a})  -- | The maximum size of information to return. gdeMaxResults :: Lens' GetDevEndpoints (Maybe Natural)-gdeMaxResults = lens _gdeMaxResults (\ s a -> s{_gdeMaxResults = a}) . mapping _Nat;+gdeMaxResults = lens _gdeMaxResults (\ s a -> s{_gdeMaxResults = a}) . mapping _Nat +instance AWSPager GetDevEndpoints where+        page rq rs+          | stop (rs ^. gdersNextToken) = Nothing+          | stop (rs ^. gdersDevEndpoints) = Nothing+          | otherwise =+            Just $ rq & gdeNextToken .~ rs ^. gdersNextToken+ instance AWSRequest GetDevEndpoints where         type Rs GetDevEndpoints = GetDevEndpointsResponse         request = postJSON glue@@ -133,22 +143,22 @@     -> GetDevEndpointsResponse getDevEndpointsResponse pResponseStatus_ =   GetDevEndpointsResponse'-  { _gdersNextToken = Nothing-  , _gdersDevEndpoints = Nothing-  , _gdersResponseStatus = pResponseStatus_-  }+    { _gdersNextToken = Nothing+    , _gdersDevEndpoints = Nothing+    , _gdersResponseStatus = pResponseStatus_+    }   -- | A continuation token, if not all DevEndpoint definitions have yet been returned. gdersNextToken :: Lens' GetDevEndpointsResponse (Maybe Text)-gdersNextToken = lens _gdersNextToken (\ s a -> s{_gdersNextToken = a});+gdersNextToken = lens _gdersNextToken (\ s a -> s{_gdersNextToken = a})  -- | A list of DevEndpoint definitions. gdersDevEndpoints :: Lens' GetDevEndpointsResponse [DevEndpoint]-gdersDevEndpoints = lens _gdersDevEndpoints (\ s a -> s{_gdersDevEndpoints = a}) . _Default . _Coerce;+gdersDevEndpoints = lens _gdersDevEndpoints (\ s a -> s{_gdersDevEndpoints = a}) . _Default . _Coerce  -- | -- | The response status code. gdersResponseStatus :: Lens' GetDevEndpointsResponse Int-gdersResponseStatus = lens _gdersResponseStatus (\ s a -> s{_gdersResponseStatus = a});+gdersResponseStatus = lens _gdersResponseStatus (\ s a -> s{_gdersResponseStatus = a})  instance NFData GetDevEndpointsResponse where
gen/Network/AWS/Glue/GetJob.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.GetJob--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -54,16 +54,16 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'gjJobName' - The name of the job to retrieve.+-- * 'gjJobName' - The name of the job definition to retrieve. getJob     :: Text -- ^ 'gjJobName'     -> GetJob getJob pJobName_ = GetJob' {_gjJobName = pJobName_}  --- | The name of the job to retrieve.+-- | The name of the job definition to retrieve. gjJobName :: Lens' GetJob Text-gjJobName = lens _gjJobName (\ s a -> s{_gjJobName = a});+gjJobName = lens _gjJobName (\ s a -> s{_gjJobName = a})  instance AWSRequest GetJob where         type Rs GetJob = GetJobResponse@@ -119,10 +119,10 @@  -- | The requested job definition. gjrsJob :: Lens' GetJobResponse (Maybe Job)-gjrsJob = lens _gjrsJob (\ s a -> s{_gjrsJob = a});+gjrsJob = lens _gjrsJob (\ s a -> s{_gjrsJob = a})  -- | -- | The response status code. gjrsResponseStatus :: Lens' GetJobResponse Int-gjrsResponseStatus = lens _gjrsResponseStatus (\ s a -> s{_gjrsResponseStatus = a});+gjrsResponseStatus = lens _gjrsResponseStatus (\ s a -> s{_gjrsResponseStatus = a})  instance NFData GetJobResponse where
gen/Network/AWS/Glue/GetJobRun.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.GetJobRun--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -58,9 +58,9 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'gPredecessorsIncluded' - A list of the predecessor runs to return as well.+-- * 'gPredecessorsIncluded' - True if a list of predecessor runs should be returned. ----- * 'gJobName' - Name of the job being run.+-- * 'gJobName' - Name of the job definition being run. -- -- * 'gRunId' - The ID of the job run. getJobRun@@ -69,20 +69,20 @@     -> GetJobRun getJobRun pJobName_ pRunId_ =   GetJobRun'-  {_gPredecessorsIncluded = Nothing, _gJobName = pJobName_, _gRunId = pRunId_}+    {_gPredecessorsIncluded = Nothing, _gJobName = pJobName_, _gRunId = pRunId_}  --- | A list of the predecessor runs to return as well.+-- | True if a list of predecessor runs should be returned. gPredecessorsIncluded :: Lens' GetJobRun (Maybe Bool)-gPredecessorsIncluded = lens _gPredecessorsIncluded (\ s a -> s{_gPredecessorsIncluded = a});+gPredecessorsIncluded = lens _gPredecessorsIncluded (\ s a -> s{_gPredecessorsIncluded = a}) --- | Name of the job being run.+-- | Name of the job definition being run. gJobName :: Lens' GetJobRun Text-gJobName = lens _gJobName (\ s a -> s{_gJobName = a});+gJobName = lens _gJobName (\ s a -> s{_gJobName = a})  -- | The ID of the job run. gRunId :: Lens' GetJobRun Text-gRunId = lens _gRunId (\ s a -> s{_gRunId = a});+gRunId = lens _gRunId (\ s a -> s{_gRunId = a})  instance AWSRequest GetJobRun where         type Rs GetJobRun = GetJobRunResponse@@ -140,15 +140,15 @@     -> GetJobRunResponse getJobRunResponse pResponseStatus_ =   GetJobRunResponse'-  {_gjrjrsJobRun = Nothing, _gjrjrsResponseStatus = pResponseStatus_}+    {_gjrjrsJobRun = Nothing, _gjrjrsResponseStatus = pResponseStatus_}   -- | The requested job-run metadata. gjrjrsJobRun :: Lens' GetJobRunResponse (Maybe JobRun)-gjrjrsJobRun = lens _gjrjrsJobRun (\ s a -> s{_gjrjrsJobRun = a});+gjrjrsJobRun = lens _gjrjrsJobRun (\ s a -> s{_gjrjrsJobRun = a})  -- | -- | The response status code. gjrjrsResponseStatus :: Lens' GetJobRunResponse Int-gjrjrsResponseStatus = lens _gjrjrsResponseStatus (\ s a -> s{_gjrjrsResponseStatus = a});+gjrjrsResponseStatus = lens _gjrjrsResponseStatus (\ s a -> s{_gjrjrsResponseStatus = a})  instance NFData GetJobRunResponse where
gen/Network/AWS/Glue/GetJobRuns.hs view
@@ -12,15 +12,17 @@  -- | -- Module      : Network.AWS.Glue.GetJobRuns--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Retrieves metadata for all runs of a given job.+-- Retrieves metadata for all runs of a given job definition. -- --+--+-- This operation returns paginated results. module Network.AWS.Glue.GetJobRuns     (     -- * Creating a Request@@ -43,6 +45,7 @@ import Network.AWS.Glue.Types import Network.AWS.Glue.Types.Product import Network.AWS.Lens+import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response@@ -63,27 +66,34 @@ -- -- * 'gjrMaxResults' - The maximum size of the response. ----- * 'gjrJobName' - The name of the job for which to retrieve all job runs.+-- * 'gjrJobName' - The name of the job definition for which to retrieve all job runs. getJobRuns     :: Text -- ^ 'gjrJobName'     -> GetJobRuns getJobRuns pJobName_ =   GetJobRuns'-  {_gjrNextToken = Nothing, _gjrMaxResults = Nothing, _gjrJobName = pJobName_}+    {_gjrNextToken = Nothing, _gjrMaxResults = Nothing, _gjrJobName = pJobName_}   -- | A continuation token, if this is a continuation call. gjrNextToken :: Lens' GetJobRuns (Maybe Text)-gjrNextToken = lens _gjrNextToken (\ s a -> s{_gjrNextToken = a});+gjrNextToken = lens _gjrNextToken (\ s a -> s{_gjrNextToken = a})  -- | The maximum size of the response. gjrMaxResults :: Lens' GetJobRuns (Maybe Natural)-gjrMaxResults = lens _gjrMaxResults (\ s a -> s{_gjrMaxResults = a}) . mapping _Nat;+gjrMaxResults = lens _gjrMaxResults (\ s a -> s{_gjrMaxResults = a}) . mapping _Nat --- | The name of the job for which to retrieve all job runs.+-- | The name of the job definition for which to retrieve all job runs. gjrJobName :: Lens' GetJobRuns Text-gjrJobName = lens _gjrJobName (\ s a -> s{_gjrJobName = a});+gjrJobName = lens _gjrJobName (\ s a -> s{_gjrJobName = a}) +instance AWSPager GetJobRuns where+        page rq rs+          | stop (rs ^. gjrrsNextToken) = Nothing+          | stop (rs ^. gjrrsJobRuns) = Nothing+          | otherwise =+            Just $ rq & gjrNextToken .~ rs ^. gjrrsNextToken+ instance AWSRequest GetJobRuns where         type Rs GetJobRuns = GetJobRunsResponse         request = postJSON glue@@ -143,22 +153,22 @@     -> GetJobRunsResponse getJobRunsResponse pResponseStatus_ =   GetJobRunsResponse'-  { _gjrrsNextToken = Nothing-  , _gjrrsJobRuns = Nothing-  , _gjrrsResponseStatus = pResponseStatus_-  }+    { _gjrrsNextToken = Nothing+    , _gjrrsJobRuns = Nothing+    , _gjrrsResponseStatus = pResponseStatus_+    }   -- | A continuation token, if not all reequested job runs have been returned. gjrrsNextToken :: Lens' GetJobRunsResponse (Maybe Text)-gjrrsNextToken = lens _gjrrsNextToken (\ s a -> s{_gjrrsNextToken = a});+gjrrsNextToken = lens _gjrrsNextToken (\ s a -> s{_gjrrsNextToken = a})  -- | A list of job-run metatdata objects. gjrrsJobRuns :: Lens' GetJobRunsResponse [JobRun]-gjrrsJobRuns = lens _gjrrsJobRuns (\ s a -> s{_gjrrsJobRuns = a}) . _Default . _Coerce;+gjrrsJobRuns = lens _gjrrsJobRuns (\ s a -> s{_gjrrsJobRuns = a}) . _Default . _Coerce  -- | -- | The response status code. gjrrsResponseStatus :: Lens' GetJobRunsResponse Int-gjrrsResponseStatus = lens _gjrrsResponseStatus (\ s a -> s{_gjrrsResponseStatus = a});+gjrrsResponseStatus = lens _gjrrsResponseStatus (\ s a -> s{_gjrrsResponseStatus = a})  instance NFData GetJobRunsResponse where
gen/Network/AWS/Glue/GetJobs.hs view
@@ -12,15 +12,17 @@  -- | -- Module      : Network.AWS.Glue.GetJobs--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Retrieves all current jobs.+-- Retrieves all current job definitions. -- --+--+-- This operation returns paginated results. module Network.AWS.Glue.GetJobs     (     -- * Creating a Request@@ -42,6 +44,7 @@ import Network.AWS.Glue.Types import Network.AWS.Glue.Types.Product import Network.AWS.Lens+import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response@@ -67,12 +70,19 @@  -- | A continuation token, if this is a continuation call. gjNextToken :: Lens' GetJobs (Maybe Text)-gjNextToken = lens _gjNextToken (\ s a -> s{_gjNextToken = a});+gjNextToken = lens _gjNextToken (\ s a -> s{_gjNextToken = a})  -- | The maximum size of the response. gjMaxResults :: Lens' GetJobs (Maybe Natural)-gjMaxResults = lens _gjMaxResults (\ s a -> s{_gjMaxResults = a}) . mapping _Nat;+gjMaxResults = lens _gjMaxResults (\ s a -> s{_gjMaxResults = a}) . mapping _Nat +instance AWSPager GetJobs where+        page rq rs+          | stop (rs ^. gjsrsNextToken) = Nothing+          | stop (rs ^. gjsrsJobs) = Nothing+          | otherwise =+            Just $ rq & gjNextToken .~ rs ^. gjsrsNextToken+ instance AWSRequest GetJobs where         type Rs GetJobs = GetJobsResponse         request = postJSON glue@@ -120,9 +130,9 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'gjsrsNextToken' - A continuation token, if not all jobs have yet been returned.+-- * 'gjsrsNextToken' - A continuation token, if not all job definitions have yet been returned. ----- * 'gjsrsJobs' - A list of jobs.+-- * 'gjsrsJobs' - A list of job definitions. -- -- * 'gjsrsResponseStatus' - -- | The response status code. getJobsResponse@@ -130,22 +140,22 @@     -> GetJobsResponse getJobsResponse pResponseStatus_ =   GetJobsResponse'-  { _gjsrsNextToken = Nothing-  , _gjsrsJobs = Nothing-  , _gjsrsResponseStatus = pResponseStatus_-  }+    { _gjsrsNextToken = Nothing+    , _gjsrsJobs = Nothing+    , _gjsrsResponseStatus = pResponseStatus_+    }  --- | A continuation token, if not all jobs have yet been returned.+-- | A continuation token, if not all job definitions have yet been returned. gjsrsNextToken :: Lens' GetJobsResponse (Maybe Text)-gjsrsNextToken = lens _gjsrsNextToken (\ s a -> s{_gjsrsNextToken = a});+gjsrsNextToken = lens _gjsrsNextToken (\ s a -> s{_gjsrsNextToken = a}) --- | A list of jobs.+-- | A list of job definitions. gjsrsJobs :: Lens' GetJobsResponse [Job]-gjsrsJobs = lens _gjsrsJobs (\ s a -> s{_gjsrsJobs = a}) . _Default . _Coerce;+gjsrsJobs = lens _gjsrsJobs (\ s a -> s{_gjsrsJobs = a}) . _Default . _Coerce  -- | -- | The response status code. gjsrsResponseStatus :: Lens' GetJobsResponse Int-gjsrsResponseStatus = lens _gjsrsResponseStatus (\ s a -> s{_gjsrsResponseStatus = a});+gjsrsResponseStatus = lens _gjsrsResponseStatus (\ s a -> s{_gjsrsResponseStatus = a})  instance NFData GetJobsResponse where
gen/Network/AWS/Glue/GetMapping.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.GetMapping--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -72,15 +72,15 @@  -- | A list of target tables. gmSinks :: Lens' GetMapping [CatalogEntry]-gmSinks = lens _gmSinks (\ s a -> s{_gmSinks = a}) . _Default . _Coerce;+gmSinks = lens _gmSinks (\ s a -> s{_gmSinks = a}) . _Default . _Coerce  -- | Parameters for the mapping. gmLocation :: Lens' GetMapping (Maybe Location)-gmLocation = lens _gmLocation (\ s a -> s{_gmLocation = a});+gmLocation = lens _gmLocation (\ s a -> s{_gmLocation = a})  -- | Specifies the source table. gmSource :: Lens' GetMapping CatalogEntry-gmSource = lens _gmSource (\ s a -> s{_gmSource = a});+gmSource = lens _gmSource (\ s a -> s{_gmSource = a})  instance AWSRequest GetMapping where         type Rs GetMapping = GetMappingResponse@@ -137,15 +137,15 @@     -> GetMappingResponse getMappingResponse pResponseStatus_ =   GetMappingResponse'-  {_gmrsResponseStatus = pResponseStatus_, _gmrsMapping = mempty}+    {_gmrsResponseStatus = pResponseStatus_, _gmrsMapping = mempty}   -- | -- | The response status code. gmrsResponseStatus :: Lens' GetMappingResponse Int-gmrsResponseStatus = lens _gmrsResponseStatus (\ s a -> s{_gmrsResponseStatus = a});+gmrsResponseStatus = lens _gmrsResponseStatus (\ s a -> s{_gmrsResponseStatus = a})  -- | A list of mappings to the specified targets. gmrsMapping :: Lens' GetMappingResponse [MappingEntry]-gmrsMapping = lens _gmrsMapping (\ s a -> s{_gmrsMapping = a}) . _Coerce;+gmrsMapping = lens _gmrsMapping (\ s a -> s{_gmrsMapping = a}) . _Coerce  instance NFData GetMappingResponse where
gen/Network/AWS/Glue/GetPartition.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.GetPartition--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -73,28 +73,28 @@     -> GetPartition getPartition pDatabaseName_ pTableName_ =   GetPartition'-  { _gpCatalogId = Nothing-  , _gpDatabaseName = pDatabaseName_-  , _gpTableName = pTableName_-  , _gpPartitionValues = mempty-  }+    { _gpCatalogId = Nothing+    , _gpDatabaseName = pDatabaseName_+    , _gpTableName = pTableName_+    , _gpPartitionValues = mempty+    }   -- | The ID of the Data Catalog where the partition in question resides. If none is supplied, the AWS account ID is used by default. gpCatalogId :: Lens' GetPartition (Maybe Text)-gpCatalogId = lens _gpCatalogId (\ s a -> s{_gpCatalogId = a});+gpCatalogId = lens _gpCatalogId (\ s a -> s{_gpCatalogId = a})  -- | The name of the catalog database where the partition resides. gpDatabaseName :: Lens' GetPartition Text-gpDatabaseName = lens _gpDatabaseName (\ s a -> s{_gpDatabaseName = a});+gpDatabaseName = lens _gpDatabaseName (\ s a -> s{_gpDatabaseName = a})  -- | The name of the partition's table. gpTableName :: Lens' GetPartition Text-gpTableName = lens _gpTableName (\ s a -> s{_gpTableName = a});+gpTableName = lens _gpTableName (\ s a -> s{_gpTableName = a})  -- | The values that define the partition. gpPartitionValues :: Lens' GetPartition [Text]-gpPartitionValues = lens _gpPartitionValues (\ s a -> s{_gpPartitionValues = a}) . _Coerce;+gpPartitionValues = lens _gpPartitionValues (\ s a -> s{_gpPartitionValues = a}) . _Coerce  instance AWSRequest GetPartition where         type Rs GetPartition = GetPartitionResponse@@ -152,15 +152,15 @@     -> GetPartitionResponse getPartitionResponse pResponseStatus_ =   GetPartitionResponse'-  {_gprsPartition = Nothing, _gprsResponseStatus = pResponseStatus_}+    {_gprsPartition = Nothing, _gprsResponseStatus = pResponseStatus_}   -- | The requested information, in the form of a @Partition@ object. gprsPartition :: Lens' GetPartitionResponse (Maybe Partition)-gprsPartition = lens _gprsPartition (\ s a -> s{_gprsPartition = a});+gprsPartition = lens _gprsPartition (\ s a -> s{_gprsPartition = a})  -- | -- | The response status code. gprsResponseStatus :: Lens' GetPartitionResponse Int-gprsResponseStatus = lens _gprsResponseStatus (\ s a -> s{_gprsResponseStatus = a});+gprsResponseStatus = lens _gprsResponseStatus (\ s a -> s{_gprsResponseStatus = a})  instance NFData GetPartitionResponse where
gen/Network/AWS/Glue/GetPartitions.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.GetPartitions--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -21,6 +21,8 @@ -- Retrieves information about the partitions in a table. -- --+--+-- This operation returns paginated results. module Network.AWS.Glue.GetPartitions     (     -- * Creating a Request@@ -47,6 +49,7 @@ import Network.AWS.Glue.Types import Network.AWS.Glue.Types.Product import Network.AWS.Lens+import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response@@ -86,44 +89,51 @@     -> GetPartitions getPartitions pDatabaseName_ pTableName_ =   GetPartitions'-  { _gpsCatalogId = Nothing-  , _gpsNextToken = Nothing-  , _gpsExpression = Nothing-  , _gpsSegment = Nothing-  , _gpsMaxResults = Nothing-  , _gpsDatabaseName = pDatabaseName_-  , _gpsTableName = pTableName_-  }+    { _gpsCatalogId = Nothing+    , _gpsNextToken = Nothing+    , _gpsExpression = Nothing+    , _gpsSegment = Nothing+    , _gpsMaxResults = Nothing+    , _gpsDatabaseName = pDatabaseName_+    , _gpsTableName = pTableName_+    }   -- | The ID of the Data Catalog where the partitions in question reside. If none is supplied, the AWS account ID is used by default. gpsCatalogId :: Lens' GetPartitions (Maybe Text)-gpsCatalogId = lens _gpsCatalogId (\ s a -> s{_gpsCatalogId = a});+gpsCatalogId = lens _gpsCatalogId (\ s a -> s{_gpsCatalogId = a})  -- | A continuation token, if this is not the first call to retrieve these partitions. gpsNextToken :: Lens' GetPartitions (Maybe Text)-gpsNextToken = lens _gpsNextToken (\ s a -> s{_gpsNextToken = a});+gpsNextToken = lens _gpsNextToken (\ s a -> s{_gpsNextToken = a})  -- | An expression filtering the partitions to be returned. gpsExpression :: Lens' GetPartitions (Maybe Text)-gpsExpression = lens _gpsExpression (\ s a -> s{_gpsExpression = a});+gpsExpression = lens _gpsExpression (\ s a -> s{_gpsExpression = a})  -- | The segment of the table's partitions to scan in this request. gpsSegment :: Lens' GetPartitions (Maybe Segment)-gpsSegment = lens _gpsSegment (\ s a -> s{_gpsSegment = a});+gpsSegment = lens _gpsSegment (\ s a -> s{_gpsSegment = a})  -- | The maximum number of partitions to return in a single response. gpsMaxResults :: Lens' GetPartitions (Maybe Natural)-gpsMaxResults = lens _gpsMaxResults (\ s a -> s{_gpsMaxResults = a}) . mapping _Nat;+gpsMaxResults = lens _gpsMaxResults (\ s a -> s{_gpsMaxResults = a}) . mapping _Nat  -- | The name of the catalog database where the partitions reside. gpsDatabaseName :: Lens' GetPartitions Text-gpsDatabaseName = lens _gpsDatabaseName (\ s a -> s{_gpsDatabaseName = a});+gpsDatabaseName = lens _gpsDatabaseName (\ s a -> s{_gpsDatabaseName = a})  -- | The name of the partitions' table. gpsTableName :: Lens' GetPartitions Text-gpsTableName = lens _gpsTableName (\ s a -> s{_gpsTableName = a});+gpsTableName = lens _gpsTableName (\ s a -> s{_gpsTableName = a}) +instance AWSPager GetPartitions where+        page rq rs+          | stop (rs ^. gpsrsNextToken) = Nothing+          | stop (rs ^. gpsrsPartitions) = Nothing+          | otherwise =+            Just $ rq & gpsNextToken .~ rs ^. gpsrsNextToken+ instance AWSRequest GetPartitions where         type Rs GetPartitions = GetPartitionsResponse         request = postJSON glue@@ -188,22 +198,22 @@     -> GetPartitionsResponse getPartitionsResponse pResponseStatus_ =   GetPartitionsResponse'-  { _gpsrsPartitions = Nothing-  , _gpsrsNextToken = Nothing-  , _gpsrsResponseStatus = pResponseStatus_-  }+    { _gpsrsPartitions = Nothing+    , _gpsrsNextToken = Nothing+    , _gpsrsResponseStatus = pResponseStatus_+    }   -- | A list of requested partitions. gpsrsPartitions :: Lens' GetPartitionsResponse [Partition]-gpsrsPartitions = lens _gpsrsPartitions (\ s a -> s{_gpsrsPartitions = a}) . _Default . _Coerce;+gpsrsPartitions = lens _gpsrsPartitions (\ s a -> s{_gpsrsPartitions = a}) . _Default . _Coerce  -- | A continuation token, if the returned list of partitions does not does not include the last one. gpsrsNextToken :: Lens' GetPartitionsResponse (Maybe Text)-gpsrsNextToken = lens _gpsrsNextToken (\ s a -> s{_gpsrsNextToken = a});+gpsrsNextToken = lens _gpsrsNextToken (\ s a -> s{_gpsrsNextToken = a})  -- | -- | The response status code. gpsrsResponseStatus :: Lens' GetPartitionsResponse Int-gpsrsResponseStatus = lens _gpsrsResponseStatus (\ s a -> s{_gpsrsResponseStatus = a});+gpsrsResponseStatus = lens _gpsrsResponseStatus (\ s a -> s{_gpsrsResponseStatus = a})  instance NFData GetPartitionsResponse where
gen/Network/AWS/Glue/GetPlan.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.Glue.GetPlan--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Gets a Python script to perform a specified mapping.+-- Gets code to perform a specified mapping. -- -- module Network.AWS.Glue.GetPlan@@ -29,6 +29,7 @@     -- * Request Lenses     , gpSinks     , gpLocation+    , gpLanguage     , gpMapping     , gpSource @@ -37,6 +38,7 @@     , GetPlanResponse     -- * Response Lenses     , gpprsPythonScript+    , gpprsScalaCode     , gpprsResponseStatus     ) where @@ -51,6 +53,7 @@ data GetPlan = GetPlan'   { _gpSinks    :: !(Maybe [CatalogEntry])   , _gpLocation :: !(Maybe Location)+  , _gpLanguage :: !(Maybe Language)   , _gpMapping  :: ![MappingEntry]   , _gpSource   :: !CatalogEntry   } deriving (Eq, Read, Show, Data, Typeable, Generic)@@ -64,6 +67,8 @@ -- -- * 'gpLocation' - Parameters for the mapping. --+-- * 'gpLanguage' - The programming language of the code to perform the mapping.+-- -- * 'gpMapping' - The list of mappings from a source table to target tables. -- -- * 'gpSource' - The source table.@@ -72,28 +77,33 @@     -> GetPlan getPlan pSource_ =   GetPlan'-  { _gpSinks = Nothing-  , _gpLocation = Nothing-  , _gpMapping = mempty-  , _gpSource = pSource_-  }+    { _gpSinks = Nothing+    , _gpLocation = Nothing+    , _gpLanguage = Nothing+    , _gpMapping = mempty+    , _gpSource = pSource_+    }   -- | The target tables. gpSinks :: Lens' GetPlan [CatalogEntry]-gpSinks = lens _gpSinks (\ s a -> s{_gpSinks = a}) . _Default . _Coerce;+gpSinks = lens _gpSinks (\ s a -> s{_gpSinks = a}) . _Default . _Coerce  -- | Parameters for the mapping. gpLocation :: Lens' GetPlan (Maybe Location)-gpLocation = lens _gpLocation (\ s a -> s{_gpLocation = a});+gpLocation = lens _gpLocation (\ s a -> s{_gpLocation = a}) +-- | The programming language of the code to perform the mapping.+gpLanguage :: Lens' GetPlan (Maybe Language)+gpLanguage = lens _gpLanguage (\ s a -> s{_gpLanguage = a})+ -- | The list of mappings from a source table to target tables. gpMapping :: Lens' GetPlan [MappingEntry]-gpMapping = lens _gpMapping (\ s a -> s{_gpMapping = a}) . _Coerce;+gpMapping = lens _gpMapping (\ s a -> s{_gpMapping = a}) . _Coerce  -- | The source table. gpSource :: Lens' GetPlan CatalogEntry-gpSource = lens _gpSource (\ s a -> s{_gpSource = a});+gpSource = lens _gpSource (\ s a -> s{_gpSource = a})  instance AWSRequest GetPlan where         type Rs GetPlan = GetPlanResponse@@ -102,7 +112,8 @@           = receiveJSON               (\ s h x ->                  GetPlanResponse' <$>-                   (x .?> "PythonScript") <*> (pure (fromEnum s)))+                   (x .?> "PythonScript") <*> (x .?> "ScalaCode") <*>+                     (pure (fromEnum s)))  instance Hashable GetPlan where @@ -122,6 +133,7 @@               (catMaybes                  [("Sinks" .=) <$> _gpSinks,                   ("Location" .=) <$> _gpLocation,+                  ("Language" .=) <$> _gpLanguage,                   Just ("Mapping" .= _gpMapping),                   Just ("Source" .= _gpSource)]) @@ -134,6 +146,7 @@ -- | /See:/ 'getPlanResponse' smart constructor. data GetPlanResponse = GetPlanResponse'   { _gpprsPythonScript   :: !(Maybe Text)+  , _gpprsScalaCode      :: !(Maybe Text)   , _gpprsResponseStatus :: !Int   } deriving (Eq, Read, Show, Data, Typeable, Generic) @@ -142,23 +155,32 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'gpprsPythonScript' - A python script to perform the mapping.+-- * 'gpprsPythonScript' - A Python script to perform the mapping. --+-- * 'gpprsScalaCode' - Scala code to perform the mapping.+-- -- * 'gpprsResponseStatus' - -- | The response status code. getPlanResponse     :: Int -- ^ 'gpprsResponseStatus'     -> GetPlanResponse getPlanResponse pResponseStatus_ =   GetPlanResponse'-  {_gpprsPythonScript = Nothing, _gpprsResponseStatus = pResponseStatus_}+    { _gpprsPythonScript = Nothing+    , _gpprsScalaCode = Nothing+    , _gpprsResponseStatus = pResponseStatus_+    }  --- | A python script to perform the mapping.+-- | A Python script to perform the mapping. gpprsPythonScript :: Lens' GetPlanResponse (Maybe Text)-gpprsPythonScript = lens _gpprsPythonScript (\ s a -> s{_gpprsPythonScript = a});+gpprsPythonScript = lens _gpprsPythonScript (\ s a -> s{_gpprsPythonScript = a}) +-- | Scala code to perform the mapping.+gpprsScalaCode :: Lens' GetPlanResponse (Maybe Text)+gpprsScalaCode = lens _gpprsScalaCode (\ s a -> s{_gpprsScalaCode = a})+ -- | -- | The response status code. gpprsResponseStatus :: Lens' GetPlanResponse Int-gpprsResponseStatus = lens _gpprsResponseStatus (\ s a -> s{_gpprsResponseStatus = a});+gpprsResponseStatus = lens _gpprsResponseStatus (\ s a -> s{_gpprsResponseStatus = a})  instance NFData GetPlanResponse where
gen/Network/AWS/Glue/GetTable.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.GetTable--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -60,32 +60,32 @@ -- -- * 'gttCatalogId' - The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default. ----- * 'gttDatabaseName' - The name of the database in the catalog in which the table resides.+-- * 'gttDatabaseName' - The name of the database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase. ----- * 'gttName' - The name of the table for which to retrieve the definition.+-- * 'gttName' - The name of the table for which to retrieve the definition. For Hive compatibility, this name is entirely lowercase. getTable     :: Text -- ^ 'gttDatabaseName'     -> Text -- ^ 'gttName'     -> GetTable getTable pDatabaseName_ pName_ =   GetTable'-  { _gttCatalogId = Nothing-  , _gttDatabaseName = pDatabaseName_-  , _gttName = pName_-  }+    { _gttCatalogId = Nothing+    , _gttDatabaseName = pDatabaseName_+    , _gttName = pName_+    }   -- | The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default. gttCatalogId :: Lens' GetTable (Maybe Text)-gttCatalogId = lens _gttCatalogId (\ s a -> s{_gttCatalogId = a});+gttCatalogId = lens _gttCatalogId (\ s a -> s{_gttCatalogId = a}) --- | The name of the database in the catalog in which the table resides.+-- | The name of the database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase. gttDatabaseName :: Lens' GetTable Text-gttDatabaseName = lens _gttDatabaseName (\ s a -> s{_gttDatabaseName = a});+gttDatabaseName = lens _gttDatabaseName (\ s a -> s{_gttDatabaseName = a}) --- | The name of the table for which to retrieve the definition.+-- | The name of the table for which to retrieve the definition. For Hive compatibility, this name is entirely lowercase. gttName :: Lens' GetTable Text-gttName = lens _gttName (\ s a -> s{_gttName = a});+gttName = lens _gttName (\ s a -> s{_gttName = a})  instance AWSRequest GetTable where         type Rs GetTable = GetTableResponse@@ -142,15 +142,15 @@     -> GetTableResponse getTableResponse pResponseStatus_ =   GetTableResponse'-  {_ggrsTable = Nothing, _ggrsResponseStatus = pResponseStatus_}+    {_ggrsTable = Nothing, _ggrsResponseStatus = pResponseStatus_}   -- | The @Table@ object that defines the specified table. ggrsTable :: Lens' GetTableResponse (Maybe Table)-ggrsTable = lens _ggrsTable (\ s a -> s{_ggrsTable = a});+ggrsTable = lens _ggrsTable (\ s a -> s{_ggrsTable = a})  -- | -- | The response status code. ggrsResponseStatus :: Lens' GetTableResponse Int-ggrsResponseStatus = lens _ggrsResponseStatus (\ s a -> s{_ggrsResponseStatus = a});+ggrsResponseStatus = lens _ggrsResponseStatus (\ s a -> s{_ggrsResponseStatus = a})  instance NFData GetTableResponse where
+ gen/Network/AWS/Glue/GetTableVersion.hs view
@@ -0,0 +1,166 @@+{-# 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.Glue.GetTableVersion+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a specified version of a table.+--+--+module Network.AWS.Glue.GetTableVersion+    (+    -- * Creating a Request+      getTableVersion+    , GetTableVersion+    -- * Request Lenses+    , gtvVersionId+    , gtvCatalogId+    , gtvDatabaseName+    , gtvTableName++    -- * Destructuring the Response+    , getTableVersionResponse+    , GetTableVersionResponse+    -- * Response Lenses+    , gtvrsTableVersion+    , gtvrsResponseStatus+    ) where++import Network.AWS.Glue.Types+import Network.AWS.Glue.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getTableVersion' smart constructor.+data GetTableVersion = GetTableVersion'+  { _gtvVersionId    :: !(Maybe Text)+  , _gtvCatalogId    :: !(Maybe Text)+  , _gtvDatabaseName :: !Text+  , _gtvTableName    :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetTableVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gtvVersionId' - The ID value of the table version to be retrieved.+--+-- * 'gtvCatalogId' - The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default.+--+-- * 'gtvDatabaseName' - The database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase.+--+-- * 'gtvTableName' - The name of the table. For Hive compatibility, this name is entirely lowercase.+getTableVersion+    :: Text -- ^ 'gtvDatabaseName'+    -> Text -- ^ 'gtvTableName'+    -> GetTableVersion+getTableVersion pDatabaseName_ pTableName_ =+  GetTableVersion'+    { _gtvVersionId = Nothing+    , _gtvCatalogId = Nothing+    , _gtvDatabaseName = pDatabaseName_+    , _gtvTableName = pTableName_+    }+++-- | The ID value of the table version to be retrieved.+gtvVersionId :: Lens' GetTableVersion (Maybe Text)+gtvVersionId = lens _gtvVersionId (\ s a -> s{_gtvVersionId = a})++-- | The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default.+gtvCatalogId :: Lens' GetTableVersion (Maybe Text)+gtvCatalogId = lens _gtvCatalogId (\ s a -> s{_gtvCatalogId = a})++-- | The database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase.+gtvDatabaseName :: Lens' GetTableVersion Text+gtvDatabaseName = lens _gtvDatabaseName (\ s a -> s{_gtvDatabaseName = a})++-- | The name of the table. For Hive compatibility, this name is entirely lowercase.+gtvTableName :: Lens' GetTableVersion Text+gtvTableName = lens _gtvTableName (\ s a -> s{_gtvTableName = a})++instance AWSRequest GetTableVersion where+        type Rs GetTableVersion = GetTableVersionResponse+        request = postJSON glue+        response+          = receiveJSON+              (\ s h x ->+                 GetTableVersionResponse' <$>+                   (x .?> "TableVersion") <*> (pure (fromEnum s)))++instance Hashable GetTableVersion where++instance NFData GetTableVersion where++instance ToHeaders GetTableVersion where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("AWSGlue.GetTableVersion" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetTableVersion where+        toJSON GetTableVersion'{..}+          = object+              (catMaybes+                 [("VersionId" .=) <$> _gtvVersionId,+                  ("CatalogId" .=) <$> _gtvCatalogId,+                  Just ("DatabaseName" .= _gtvDatabaseName),+                  Just ("TableName" .= _gtvTableName)])++instance ToPath GetTableVersion where+        toPath = const "/"++instance ToQuery GetTableVersion where+        toQuery = const mempty++-- | /See:/ 'getTableVersionResponse' smart constructor.+data GetTableVersionResponse = GetTableVersionResponse'+  { _gtvrsTableVersion   :: !(Maybe TableVersion)+  , _gtvrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetTableVersionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gtvrsTableVersion' - The requested table version.+--+-- * 'gtvrsResponseStatus' - -- | The response status code.+getTableVersionResponse+    :: Int -- ^ 'gtvrsResponseStatus'+    -> GetTableVersionResponse+getTableVersionResponse pResponseStatus_ =+  GetTableVersionResponse'+    {_gtvrsTableVersion = Nothing, _gtvrsResponseStatus = pResponseStatus_}+++-- | The requested table version.+gtvrsTableVersion :: Lens' GetTableVersionResponse (Maybe TableVersion)+gtvrsTableVersion = lens _gtvrsTableVersion (\ s a -> s{_gtvrsTableVersion = a})++-- | -- | The response status code.+gtvrsResponseStatus :: Lens' GetTableVersionResponse Int+gtvrsResponseStatus = lens _gtvrsResponseStatus (\ s a -> s{_gtvrsResponseStatus = a})++instance NFData GetTableVersionResponse where
gen/Network/AWS/Glue/GetTableVersions.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.GetTableVersions--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -21,41 +21,44 @@ -- Retrieves a list of strings that identify available versions of a specified table. -- --+--+-- This operation returns paginated results. module Network.AWS.Glue.GetTableVersions     (     -- * Creating a Request       getTableVersions     , GetTableVersions     -- * Request Lenses-    , gtvCatalogId-    , gtvNextToken-    , gtvMaxResults-    , gtvDatabaseName-    , gtvTableName+    , gtvsCatalogId+    , gtvsNextToken+    , gtvsMaxResults+    , gtvsDatabaseName+    , gtvsTableName      -- * Destructuring the Response     , getTableVersionsResponse     , GetTableVersionsResponse     -- * Response Lenses-    , gtvrsTableVersions-    , gtvrsNextToken-    , gtvrsResponseStatus+    , gtvsrsTableVersions+    , gtvsrsNextToken+    , gtvsrsResponseStatus     ) where  import Network.AWS.Glue.Types import Network.AWS.Glue.Types.Product import Network.AWS.Lens+import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response  -- | /See:/ 'getTableVersions' smart constructor. data GetTableVersions = GetTableVersions'-  { _gtvCatalogId    :: !(Maybe Text)-  , _gtvNextToken    :: !(Maybe Text)-  , _gtvMaxResults   :: !(Maybe Nat)-  , _gtvDatabaseName :: !Text-  , _gtvTableName    :: !Text+  { _gtvsCatalogId    :: !(Maybe Text)+  , _gtvsNextToken    :: !(Maybe Text)+  , _gtvsMaxResults   :: !(Maybe Nat)+  , _gtvsDatabaseName :: !Text+  , _gtvsTableName    :: !Text   } deriving (Eq, Read, Show, Data, Typeable, Generic)  @@ -63,49 +66,56 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'gtvCatalogId' - The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default.+-- * 'gtvsCatalogId' - The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default. ----- * 'gtvNextToken' - A continuation token, if this is not the first call.+-- * 'gtvsNextToken' - A continuation token, if this is not the first call. ----- * 'gtvMaxResults' - The maximum number of table versions to return in one response.+-- * 'gtvsMaxResults' - The maximum number of table versions to return in one response. ----- * 'gtvDatabaseName' - The database in the catalog in which the table resides.+-- * 'gtvsDatabaseName' - The database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase. ----- * 'gtvTableName' - The name of the table.+-- * 'gtvsTableName' - The name of the table. For Hive compatibility, this name is entirely lowercase. getTableVersions-    :: Text -- ^ 'gtvDatabaseName'-    -> Text -- ^ 'gtvTableName'+    :: Text -- ^ 'gtvsDatabaseName'+    -> Text -- ^ 'gtvsTableName'     -> GetTableVersions getTableVersions pDatabaseName_ pTableName_ =   GetTableVersions'-  { _gtvCatalogId = Nothing-  , _gtvNextToken = Nothing-  , _gtvMaxResults = Nothing-  , _gtvDatabaseName = pDatabaseName_-  , _gtvTableName = pTableName_-  }+    { _gtvsCatalogId = Nothing+    , _gtvsNextToken = Nothing+    , _gtvsMaxResults = Nothing+    , _gtvsDatabaseName = pDatabaseName_+    , _gtvsTableName = pTableName_+    }   -- | The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default.-gtvCatalogId :: Lens' GetTableVersions (Maybe Text)-gtvCatalogId = lens _gtvCatalogId (\ s a -> s{_gtvCatalogId = a});+gtvsCatalogId :: Lens' GetTableVersions (Maybe Text)+gtvsCatalogId = lens _gtvsCatalogId (\ s a -> s{_gtvsCatalogId = a})  -- | A continuation token, if this is not the first call.-gtvNextToken :: Lens' GetTableVersions (Maybe Text)-gtvNextToken = lens _gtvNextToken (\ s a -> s{_gtvNextToken = a});+gtvsNextToken :: Lens' GetTableVersions (Maybe Text)+gtvsNextToken = lens _gtvsNextToken (\ s a -> s{_gtvsNextToken = a})  -- | The maximum number of table versions to return in one response.-gtvMaxResults :: Lens' GetTableVersions (Maybe Natural)-gtvMaxResults = lens _gtvMaxResults (\ s a -> s{_gtvMaxResults = a}) . mapping _Nat;+gtvsMaxResults :: Lens' GetTableVersions (Maybe Natural)+gtvsMaxResults = lens _gtvsMaxResults (\ s a -> s{_gtvsMaxResults = a}) . mapping _Nat --- | The database in the catalog in which the table resides.-gtvDatabaseName :: Lens' GetTableVersions Text-gtvDatabaseName = lens _gtvDatabaseName (\ s a -> s{_gtvDatabaseName = a});+-- | The database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase.+gtvsDatabaseName :: Lens' GetTableVersions Text+gtvsDatabaseName = lens _gtvsDatabaseName (\ s a -> s{_gtvsDatabaseName = a}) --- | The name of the table.-gtvTableName :: Lens' GetTableVersions Text-gtvTableName = lens _gtvTableName (\ s a -> s{_gtvTableName = a});+-- | The name of the table. For Hive compatibility, this name is entirely lowercase.+gtvsTableName :: Lens' GetTableVersions Text+gtvsTableName = lens _gtvsTableName (\ s a -> s{_gtvsTableName = a}) +instance AWSPager GetTableVersions where+        page rq rs+          | stop (rs ^. gtvsrsNextToken) = Nothing+          | stop (rs ^. gtvsrsTableVersions) = Nothing+          | otherwise =+            Just $ rq & gtvsNextToken .~ rs ^. gtvsrsNextToken+ instance AWSRequest GetTableVersions where         type Rs GetTableVersions = GetTableVersionsResponse         request = postJSON glue@@ -134,11 +144,11 @@         toJSON GetTableVersions'{..}           = object               (catMaybes-                 [("CatalogId" .=) <$> _gtvCatalogId,-                  ("NextToken" .=) <$> _gtvNextToken,-                  ("MaxResults" .=) <$> _gtvMaxResults,-                  Just ("DatabaseName" .= _gtvDatabaseName),-                  Just ("TableName" .= _gtvTableName)])+                 [("CatalogId" .=) <$> _gtvsCatalogId,+                  ("NextToken" .=) <$> _gtvsNextToken,+                  ("MaxResults" .=) <$> _gtvsMaxResults,+                  Just ("DatabaseName" .= _gtvsDatabaseName),+                  Just ("TableName" .= _gtvsTableName)])  instance ToPath GetTableVersions where         toPath = const "/"@@ -148,9 +158,9 @@  -- | /See:/ 'getTableVersionsResponse' smart constructor. data GetTableVersionsResponse = GetTableVersionsResponse'-  { _gtvrsTableVersions  :: !(Maybe [TableVersion])-  , _gtvrsNextToken      :: !(Maybe Text)-  , _gtvrsResponseStatus :: !Int+  { _gtvsrsTableVersions  :: !(Maybe [TableVersion])+  , _gtvsrsNextToken      :: !(Maybe Text)+  , _gtvsrsResponseStatus :: !Int   } deriving (Eq, Read, Show, Data, Typeable, Generic)  @@ -158,32 +168,32 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'gtvrsTableVersions' - A list of strings identifying available versions of the specified table.+-- * 'gtvsrsTableVersions' - A list of strings identifying available versions of the specified table. ----- * 'gtvrsNextToken' - A continuation token, if the list of available versions does not include the last one.+-- * 'gtvsrsNextToken' - A continuation token, if the list of available versions does not include the last one. ----- * 'gtvrsResponseStatus' - -- | The response status code.+-- * 'gtvsrsResponseStatus' - -- | The response status code. getTableVersionsResponse-    :: Int -- ^ 'gtvrsResponseStatus'+    :: Int -- ^ 'gtvsrsResponseStatus'     -> GetTableVersionsResponse getTableVersionsResponse pResponseStatus_ =   GetTableVersionsResponse'-  { _gtvrsTableVersions = Nothing-  , _gtvrsNextToken = Nothing-  , _gtvrsResponseStatus = pResponseStatus_-  }+    { _gtvsrsTableVersions = Nothing+    , _gtvsrsNextToken = Nothing+    , _gtvsrsResponseStatus = pResponseStatus_+    }   -- | A list of strings identifying available versions of the specified table.-gtvrsTableVersions :: Lens' GetTableVersionsResponse [TableVersion]-gtvrsTableVersions = lens _gtvrsTableVersions (\ s a -> s{_gtvrsTableVersions = a}) . _Default . _Coerce;+gtvsrsTableVersions :: Lens' GetTableVersionsResponse [TableVersion]+gtvsrsTableVersions = lens _gtvsrsTableVersions (\ s a -> s{_gtvsrsTableVersions = a}) . _Default . _Coerce  -- | A continuation token, if the list of available versions does not include the last one.-gtvrsNextToken :: Lens' GetTableVersionsResponse (Maybe Text)-gtvrsNextToken = lens _gtvrsNextToken (\ s a -> s{_gtvrsNextToken = a});+gtvsrsNextToken :: Lens' GetTableVersionsResponse (Maybe Text)+gtvsrsNextToken = lens _gtvsrsNextToken (\ s a -> s{_gtvsrsNextToken = a})  -- | -- | The response status code.-gtvrsResponseStatus :: Lens' GetTableVersionsResponse Int-gtvrsResponseStatus = lens _gtvrsResponseStatus (\ s a -> s{_gtvrsResponseStatus = a});+gtvsrsResponseStatus :: Lens' GetTableVersionsResponse Int+gtvsrsResponseStatus = lens _gtvsrsResponseStatus (\ s a -> s{_gtvsrsResponseStatus = a})  instance NFData GetTableVersionsResponse where
gen/Network/AWS/Glue/GetTables.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.GetTables--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -21,6 +21,8 @@ -- Retrieves the definitions of some or all of the tables in a given @Database@ . -- --+--+-- This operation returns paginated results. module Network.AWS.Glue.GetTables     (     -- * Creating a Request@@ -45,6 +47,7 @@ import Network.AWS.Glue.Types import Network.AWS.Glue.Types.Product import Network.AWS.Lens+import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response@@ -71,40 +74,47 @@ -- -- * 'gtMaxResults' - The maximum number of tables to return in a single response. ----- * 'gtDatabaseName' - The database in the catalog whose tables to list.+-- * 'gtDatabaseName' - The database in the catalog whose tables to list. For Hive compatibility, this name is entirely lowercase. getTables     :: Text -- ^ 'gtDatabaseName'     -> GetTables getTables pDatabaseName_ =   GetTables'-  { _gtCatalogId = Nothing-  , _gtNextToken = Nothing-  , _gtExpression = Nothing-  , _gtMaxResults = Nothing-  , _gtDatabaseName = pDatabaseName_-  }+    { _gtCatalogId = Nothing+    , _gtNextToken = Nothing+    , _gtExpression = Nothing+    , _gtMaxResults = Nothing+    , _gtDatabaseName = pDatabaseName_+    }   -- | The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default. gtCatalogId :: Lens' GetTables (Maybe Text)-gtCatalogId = lens _gtCatalogId (\ s a -> s{_gtCatalogId = a});+gtCatalogId = lens _gtCatalogId (\ s a -> s{_gtCatalogId = a})  -- | A continuation token, included if this is a continuation call. gtNextToken :: Lens' GetTables (Maybe Text)-gtNextToken = lens _gtNextToken (\ s a -> s{_gtNextToken = a});+gtNextToken = lens _gtNextToken (\ s a -> s{_gtNextToken = a})  -- | A regular expression pattern. If present, only those tables whose names match the pattern are returned. gtExpression :: Lens' GetTables (Maybe Text)-gtExpression = lens _gtExpression (\ s a -> s{_gtExpression = a});+gtExpression = lens _gtExpression (\ s a -> s{_gtExpression = a})  -- | The maximum number of tables to return in a single response. gtMaxResults :: Lens' GetTables (Maybe Natural)-gtMaxResults = lens _gtMaxResults (\ s a -> s{_gtMaxResults = a}) . mapping _Nat;+gtMaxResults = lens _gtMaxResults (\ s a -> s{_gtMaxResults = a}) . mapping _Nat --- | The database in the catalog whose tables to list.+-- | The database in the catalog whose tables to list. For Hive compatibility, this name is entirely lowercase. gtDatabaseName :: Lens' GetTables Text-gtDatabaseName = lens _gtDatabaseName (\ s a -> s{_gtDatabaseName = a});+gtDatabaseName = lens _gtDatabaseName (\ s a -> s{_gtDatabaseName = a}) +instance AWSPager GetTables where+        page rq rs+          | stop (rs ^. gtsrsNextToken) = Nothing+          | stop (rs ^. gtsrsTableList) = Nothing+          | otherwise =+            Just $ rq & gtNextToken .~ rs ^. gtsrsNextToken+ instance AWSRequest GetTables where         type Rs GetTables = GetTablesResponse         request = postJSON glue@@ -167,22 +177,22 @@     -> GetTablesResponse getTablesResponse pResponseStatus_ =   GetTablesResponse'-  { _gtsrsTableList = Nothing-  , _gtsrsNextToken = Nothing-  , _gtsrsResponseStatus = pResponseStatus_-  }+    { _gtsrsTableList = Nothing+    , _gtsrsNextToken = Nothing+    , _gtsrsResponseStatus = pResponseStatus_+    }   -- | A list of the requested @Table@ objects. gtsrsTableList :: Lens' GetTablesResponse [Table]-gtsrsTableList = lens _gtsrsTableList (\ s a -> s{_gtsrsTableList = a}) . _Default . _Coerce;+gtsrsTableList = lens _gtsrsTableList (\ s a -> s{_gtsrsTableList = a}) . _Default . _Coerce  -- | A continuation token, present if the current list segment is not the last. gtsrsNextToken :: Lens' GetTablesResponse (Maybe Text)-gtsrsNextToken = lens _gtsrsNextToken (\ s a -> s{_gtsrsNextToken = a});+gtsrsNextToken = lens _gtsrsNextToken (\ s a -> s{_gtsrsNextToken = a})  -- | -- | The response status code. gtsrsResponseStatus :: Lens' GetTablesResponse Int-gtsrsResponseStatus = lens _gtsrsResponseStatus (\ s a -> s{_gtsrsResponseStatus = a});+gtsrsResponseStatus = lens _gtsrsResponseStatus (\ s a -> s{_gtsrsResponseStatus = a})  instance NFData GetTablesResponse where
gen/Network/AWS/Glue/GetTrigger.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.GetTrigger--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,7 +63,7 @@  -- | The name of the trigger to retrieve. gtName :: Lens' GetTrigger Text-gtName = lens _gtName (\ s a -> s{_gtName = a});+gtName = lens _gtName (\ s a -> s{_gtName = a})  instance AWSRequest GetTrigger where         type Rs GetTrigger = GetTriggerResponse@@ -116,15 +116,15 @@     -> GetTriggerResponse getTriggerResponse pResponseStatus_ =   GetTriggerResponse'-  {_gtrsTrigger = Nothing, _gtrsResponseStatus = pResponseStatus_}+    {_gtrsTrigger = Nothing, _gtrsResponseStatus = pResponseStatus_}   -- | The requested trigger definition. gtrsTrigger :: Lens' GetTriggerResponse (Maybe Trigger)-gtrsTrigger = lens _gtrsTrigger (\ s a -> s{_gtrsTrigger = a});+gtrsTrigger = lens _gtrsTrigger (\ s a -> s{_gtrsTrigger = a})  -- | -- | The response status code. gtrsResponseStatus :: Lens' GetTriggerResponse Int-gtrsResponseStatus = lens _gtrsResponseStatus (\ s a -> s{_gtrsResponseStatus = a});+gtrsResponseStatus = lens _gtrsResponseStatus (\ s a -> s{_gtrsResponseStatus = a})  instance NFData GetTriggerResponse where
gen/Network/AWS/Glue/GetTriggers.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.GetTriggers--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -21,6 +21,8 @@ -- Gets all the triggers associated with a job. -- --+--+-- This operation returns paginated results. module Network.AWS.Glue.GetTriggers     (     -- * Creating a Request@@ -43,6 +45,7 @@ import Network.AWS.Glue.Types import Network.AWS.Glue.Types.Product import Network.AWS.Lens+import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response@@ -63,29 +66,36 @@ -- -- * 'gtsMaxResults' - The maximum size of the response. ----- * 'gtsDependentJobName' - The name of the job for which to retrieve triggers.+-- * 'gtsDependentJobName' - The name of the job for which to retrieve triggers. The trigger that can start this job will be returned, and if there is no such trigger, all triggers will be returned. getTriggers     :: GetTriggers getTriggers =   GetTriggers'-  { _gtsNextToken = Nothing-  , _gtsMaxResults = Nothing-  , _gtsDependentJobName = Nothing-  }+    { _gtsNextToken = Nothing+    , _gtsMaxResults = Nothing+    , _gtsDependentJobName = Nothing+    }   -- | A continuation token, if this is a continuation call. gtsNextToken :: Lens' GetTriggers (Maybe Text)-gtsNextToken = lens _gtsNextToken (\ s a -> s{_gtsNextToken = a});+gtsNextToken = lens _gtsNextToken (\ s a -> s{_gtsNextToken = a})  -- | The maximum size of the response. gtsMaxResults :: Lens' GetTriggers (Maybe Natural)-gtsMaxResults = lens _gtsMaxResults (\ s a -> s{_gtsMaxResults = a}) . mapping _Nat;+gtsMaxResults = lens _gtsMaxResults (\ s a -> s{_gtsMaxResults = a}) . mapping _Nat --- | The name of the job for which to retrieve triggers.+-- | The name of the job for which to retrieve triggers. The trigger that can start this job will be returned, and if there is no such trigger, all triggers will be returned. gtsDependentJobName :: Lens' GetTriggers (Maybe Text)-gtsDependentJobName = lens _gtsDependentJobName (\ s a -> s{_gtsDependentJobName = a});+gtsDependentJobName = lens _gtsDependentJobName (\ s a -> s{_gtsDependentJobName = a}) +instance AWSPager GetTriggers where+        page rq rs+          | stop (rs ^. gttrsNextToken) = Nothing+          | stop (rs ^. gttrsTriggers) = Nothing+          | otherwise =+            Just $ rq & gtsNextToken .~ rs ^. gttrsNextToken+ instance AWSRequest GetTriggers where         type Rs GetTriggers = GetTriggersResponse         request = postJSON glue@@ -145,22 +155,22 @@     -> GetTriggersResponse getTriggersResponse pResponseStatus_ =   GetTriggersResponse'-  { _gttrsTriggers = Nothing-  , _gttrsNextToken = Nothing-  , _gttrsResponseStatus = pResponseStatus_-  }+    { _gttrsTriggers = Nothing+    , _gttrsNextToken = Nothing+    , _gttrsResponseStatus = pResponseStatus_+    }   -- | A list of triggers for the specified job. gttrsTriggers :: Lens' GetTriggersResponse [Trigger]-gttrsTriggers = lens _gttrsTriggers (\ s a -> s{_gttrsTriggers = a}) . _Default . _Coerce;+gttrsTriggers = lens _gttrsTriggers (\ s a -> s{_gttrsTriggers = a}) . _Default . _Coerce  -- | A continuation token, if not all the requested triggers have yet been returned. gttrsNextToken :: Lens' GetTriggersResponse (Maybe Text)-gttrsNextToken = lens _gttrsNextToken (\ s a -> s{_gttrsNextToken = a});+gttrsNextToken = lens _gttrsNextToken (\ s a -> s{_gttrsNextToken = a})  -- | -- | The response status code. gttrsResponseStatus :: Lens' GetTriggersResponse Int-gttrsResponseStatus = lens _gttrsResponseStatus (\ s a -> s{_gttrsResponseStatus = a});+gttrsResponseStatus = lens _gttrsResponseStatus (\ s a -> s{_gttrsResponseStatus = a})  instance NFData GetTriggersResponse where
gen/Network/AWS/Glue/GetUserDefinedFunction.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.GetUserDefinedFunction--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -69,23 +69,23 @@     -> GetUserDefinedFunction getUserDefinedFunction pDatabaseName_ pFunctionName_ =   GetUserDefinedFunction'-  { _getCatalogId = Nothing-  , _getDatabaseName = pDatabaseName_-  , _getFunctionName = pFunctionName_-  }+    { _getCatalogId = Nothing+    , _getDatabaseName = pDatabaseName_+    , _getFunctionName = pFunctionName_+    }   -- | The ID of the Data Catalog where the function to be retrieved is located. If none is supplied, the AWS account ID is used by default. getCatalogId :: Lens' GetUserDefinedFunction (Maybe Text)-getCatalogId = lens _getCatalogId (\ s a -> s{_getCatalogId = a});+getCatalogId = lens _getCatalogId (\ s a -> s{_getCatalogId = a})  -- | The name of the catalog database where the function is located. getDatabaseName :: Lens' GetUserDefinedFunction Text-getDatabaseName = lens _getDatabaseName (\ s a -> s{_getDatabaseName = a});+getDatabaseName = lens _getDatabaseName (\ s a -> s{_getDatabaseName = a})  -- | The name of the function. getFunctionName :: Lens' GetUserDefinedFunction Text-getFunctionName = lens _getFunctionName (\ s a -> s{_getFunctionName = a});+getFunctionName = lens _getFunctionName (\ s a -> s{_getFunctionName = a})  instance AWSRequest GetUserDefinedFunction where         type Rs GetUserDefinedFunction =@@ -144,17 +144,17 @@     -> GetUserDefinedFunctionResponse getUserDefinedFunctionResponse pResponseStatus_ =   GetUserDefinedFunctionResponse'-  { _gudfursUserDefinedFunction = Nothing-  , _gudfursResponseStatus = pResponseStatus_-  }+    { _gudfursUserDefinedFunction = Nothing+    , _gudfursResponseStatus = pResponseStatus_+    }   -- | The requested function definition. gudfursUserDefinedFunction :: Lens' GetUserDefinedFunctionResponse (Maybe UserDefinedFunction)-gudfursUserDefinedFunction = lens _gudfursUserDefinedFunction (\ s a -> s{_gudfursUserDefinedFunction = a});+gudfursUserDefinedFunction = lens _gudfursUserDefinedFunction (\ s a -> s{_gudfursUserDefinedFunction = a})  -- | -- | The response status code. gudfursResponseStatus :: Lens' GetUserDefinedFunctionResponse Int-gudfursResponseStatus = lens _gudfursResponseStatus (\ s a -> s{_gudfursResponseStatus = a});+gudfursResponseStatus = lens _gudfursResponseStatus (\ s a -> s{_gudfursResponseStatus = a})  instance NFData GetUserDefinedFunctionResponse where
gen/Network/AWS/Glue/GetUserDefinedFunctions.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.GetUserDefinedFunctions--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -21,6 +21,8 @@ -- Retrieves a multiple function definitions from the Data Catalog. -- --+--+-- This operation returns paginated results. module Network.AWS.Glue.GetUserDefinedFunctions     (     -- * Creating a Request@@ -45,6 +47,7 @@ import Network.AWS.Glue.Types import Network.AWS.Glue.Types.Product import Network.AWS.Lens+import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response@@ -78,34 +81,41 @@     -> GetUserDefinedFunctions getUserDefinedFunctions pDatabaseName_ pPattern_ =   GetUserDefinedFunctions'-  { _gudfCatalogId = Nothing-  , _gudfNextToken = Nothing-  , _gudfMaxResults = Nothing-  , _gudfDatabaseName = pDatabaseName_-  , _gudfPattern = pPattern_-  }+    { _gudfCatalogId = Nothing+    , _gudfNextToken = Nothing+    , _gudfMaxResults = Nothing+    , _gudfDatabaseName = pDatabaseName_+    , _gudfPattern = pPattern_+    }   -- | The ID of the Data Catalog where the functions to be retrieved are located. If none is supplied, the AWS account ID is used by default. gudfCatalogId :: Lens' GetUserDefinedFunctions (Maybe Text)-gudfCatalogId = lens _gudfCatalogId (\ s a -> s{_gudfCatalogId = a});+gudfCatalogId = lens _gudfCatalogId (\ s a -> s{_gudfCatalogId = a})  -- | A continuation token, if this is a continuation call. gudfNextToken :: Lens' GetUserDefinedFunctions (Maybe Text)-gudfNextToken = lens _gudfNextToken (\ s a -> s{_gudfNextToken = a});+gudfNextToken = lens _gudfNextToken (\ s a -> s{_gudfNextToken = a})  -- | The maximum number of functions to return in one response. gudfMaxResults :: Lens' GetUserDefinedFunctions (Maybe Natural)-gudfMaxResults = lens _gudfMaxResults (\ s a -> s{_gudfMaxResults = a}) . mapping _Nat;+gudfMaxResults = lens _gudfMaxResults (\ s a -> s{_gudfMaxResults = a}) . mapping _Nat  -- | The name of the catalog database where the functions are located. gudfDatabaseName :: Lens' GetUserDefinedFunctions Text-gudfDatabaseName = lens _gudfDatabaseName (\ s a -> s{_gudfDatabaseName = a});+gudfDatabaseName = lens _gudfDatabaseName (\ s a -> s{_gudfDatabaseName = a})  -- | An optional function-name pattern string that filters the function definitions returned. gudfPattern :: Lens' GetUserDefinedFunctions Text-gudfPattern = lens _gudfPattern (\ s a -> s{_gudfPattern = a});+gudfPattern = lens _gudfPattern (\ s a -> s{_gudfPattern = a}) +instance AWSPager GetUserDefinedFunctions where+        page rq rs+          | stop (rs ^. gudfrsNextToken) = Nothing+          | stop (rs ^. gudfrsUserDefinedFunctions) = Nothing+          | otherwise =+            Just $ rq & gudfNextToken .~ rs ^. gudfrsNextToken+ instance AWSRequest GetUserDefinedFunctions where         type Rs GetUserDefinedFunctions =              GetUserDefinedFunctionsResponse@@ -169,22 +179,22 @@     -> GetUserDefinedFunctionsResponse getUserDefinedFunctionsResponse pResponseStatus_ =   GetUserDefinedFunctionsResponse'-  { _gudfrsNextToken = Nothing-  , _gudfrsUserDefinedFunctions = Nothing-  , _gudfrsResponseStatus = pResponseStatus_-  }+    { _gudfrsNextToken = Nothing+    , _gudfrsUserDefinedFunctions = Nothing+    , _gudfrsResponseStatus = pResponseStatus_+    }   -- | A continuation token, if the list of functions returned does not include the last requested function. gudfrsNextToken :: Lens' GetUserDefinedFunctionsResponse (Maybe Text)-gudfrsNextToken = lens _gudfrsNextToken (\ s a -> s{_gudfrsNextToken = a});+gudfrsNextToken = lens _gudfrsNextToken (\ s a -> s{_gudfrsNextToken = a})  -- | A list of requested function definitions. gudfrsUserDefinedFunctions :: Lens' GetUserDefinedFunctionsResponse [UserDefinedFunction]-gudfrsUserDefinedFunctions = lens _gudfrsUserDefinedFunctions (\ s a -> s{_gudfrsUserDefinedFunctions = a}) . _Default . _Coerce;+gudfrsUserDefinedFunctions = lens _gudfrsUserDefinedFunctions (\ s a -> s{_gudfrsUserDefinedFunctions = a}) . _Default . _Coerce  -- | -- | The response status code. gudfrsResponseStatus :: Lens' GetUserDefinedFunctionsResponse Int-gudfrsResponseStatus = lens _gudfrsResponseStatus (\ s a -> s{_gudfrsResponseStatus = a});+gudfrsResponseStatus = lens _gudfrsResponseStatus (\ s a -> s{_gudfrsResponseStatus = a})  instance NFData GetUserDefinedFunctionsResponse where
gen/Network/AWS/Glue/ImportCatalogToGlue.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.ImportCatalogToGlue--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -61,7 +61,7 @@  -- | The ID of the catalog to import. Currently, this should be the AWS account ID. ictgCatalogId :: Lens' ImportCatalogToGlue (Maybe Text)-ictgCatalogId = lens _ictgCatalogId (\ s a -> s{_ictgCatalogId = a});+ictgCatalogId = lens _ictgCatalogId (\ s a -> s{_ictgCatalogId = a})  instance AWSRequest ImportCatalogToGlue where         type Rs ImportCatalogToGlue =@@ -116,6 +116,6 @@  -- | -- | The response status code. ictgrsResponseStatus :: Lens' ImportCatalogToGlueResponse Int-ictgrsResponseStatus = lens _ictgrsResponseStatus (\ s a -> s{_ictgrsResponseStatus = a});+ictgrsResponseStatus = lens _ictgrsResponseStatus (\ s a -> s{_ictgrsResponseStatus = a})  instance NFData ImportCatalogToGlueResponse where
gen/Network/AWS/Glue/ResetJobBookmark.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.ResetJobBookmark--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,7 +63,7 @@  -- | The name of the job in question. rjbJobName :: Lens' ResetJobBookmark Text-rjbJobName = lens _rjbJobName (\ s a -> s{_rjbJobName = a});+rjbJobName = lens _rjbJobName (\ s a -> s{_rjbJobName = a})  instance AWSRequest ResetJobBookmark where         type Rs ResetJobBookmark = ResetJobBookmarkResponse@@ -117,15 +117,15 @@     -> ResetJobBookmarkResponse resetJobBookmarkResponse pResponseStatus_ =   ResetJobBookmarkResponse'-  {_rjbrsJobBookmarkEntry = Nothing, _rjbrsResponseStatus = pResponseStatus_}+    {_rjbrsJobBookmarkEntry = Nothing, _rjbrsResponseStatus = pResponseStatus_}   -- | The reset bookmark entry. rjbrsJobBookmarkEntry :: Lens' ResetJobBookmarkResponse (Maybe JobBookmarkEntry)-rjbrsJobBookmarkEntry = lens _rjbrsJobBookmarkEntry (\ s a -> s{_rjbrsJobBookmarkEntry = a});+rjbrsJobBookmarkEntry = lens _rjbrsJobBookmarkEntry (\ s a -> s{_rjbrsJobBookmarkEntry = a})  -- | -- | The response status code. rjbrsResponseStatus :: Lens' ResetJobBookmarkResponse Int-rjbrsResponseStatus = lens _rjbrsResponseStatus (\ s a -> s{_rjbrsResponseStatus = a});+rjbrsResponseStatus = lens _rjbrsResponseStatus (\ s a -> s{_rjbrsResponseStatus = a})  instance NFData ResetJobBookmarkResponse where
gen/Network/AWS/Glue/StartCrawler.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.Glue.StartCrawler--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Starts a crawl using the specified @Crawler@ , regardless of what is scheduled. If the @Crawler@ is already running, does nothing.+-- Starts a crawl using the specified crawler, regardless of what is scheduled. If the crawler is already running, does nothing. -- -- module Network.AWS.Glue.StartCrawler@@ -53,16 +53,16 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'scName' - Name of the @Crawler@ to start.+-- * 'scName' - Name of the crawler to start. startCrawler     :: Text -- ^ 'scName'     -> StartCrawler startCrawler pName_ = StartCrawler' {_scName = pName_}  --- | Name of the @Crawler@ to start.+-- | Name of the crawler to start. scName :: Lens' StartCrawler Text-scName = lens _scName (\ s a -> s{_scName = a});+scName = lens _scName (\ s a -> s{_scName = a})  instance AWSRequest StartCrawler where         type Rs StartCrawler = StartCrawlerResponse@@ -115,6 +115,6 @@  -- | -- | The response status code. scrsResponseStatus :: Lens' StartCrawlerResponse Int-scrsResponseStatus = lens _scrsResponseStatus (\ s a -> s{_scrsResponseStatus = a});+scrsResponseStatus = lens _scrsResponseStatus (\ s a -> s{_scrsResponseStatus = a})  instance NFData StartCrawlerResponse where
gen/Network/AWS/Glue/StartCrawlerSchedule.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.StartCrawlerSchedule--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,7 +63,7 @@  -- | Name of the crawler to schedule. scsCrawlerName :: Lens' StartCrawlerSchedule Text-scsCrawlerName = lens _scsCrawlerName (\ s a -> s{_scsCrawlerName = a});+scsCrawlerName = lens _scsCrawlerName (\ s a -> s{_scsCrawlerName = a})  instance AWSRequest StartCrawlerSchedule where         type Rs StartCrawlerSchedule =@@ -119,6 +119,6 @@  -- | -- | The response status code. scsrsResponseStatus :: Lens' StartCrawlerScheduleResponse Int-scsrsResponseStatus = lens _scsrsResponseStatus (\ s a -> s{_scsrsResponseStatus = a});+scsrsResponseStatus = lens _scsrsResponseStatus (\ s a -> s{_scsrsResponseStatus = a})  instance NFData StartCrawlerScheduleResponse where
gen/Network/AWS/Glue/StartJobRun.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.Glue.StartJobRun--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Runs a job.+-- Starts a job run using a job definition. -- -- module Network.AWS.Glue.StartJobRun@@ -29,6 +29,7 @@     -- * Request Lenses     , sjrArguments     , sjrAllocatedCapacity+    , sjrTimeout     , sjrJobRunId     , sjrJobName @@ -51,6 +52,7 @@ data StartJobRun = StartJobRun'   { _sjrArguments         :: !(Maybe (Map Text Text))   , _sjrAllocatedCapacity :: !(Maybe Int)+  , _sjrTimeout           :: !(Maybe Nat)   , _sjrJobRunId          :: !(Maybe Text)   , _sjrJobName           :: !Text   } deriving (Eq, Read, Show, Data, Typeable, Generic)@@ -60,40 +62,47 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'sjrArguments' - Specific arguments for this job run.+-- * 'sjrArguments' - The job arguments specifically for this run. They override the equivalent default arguments set for in the job definition itself. You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes. For information about how to specify and consume your own Job arguments, see the <http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html Calling AWS Glue APIs in Python> topic in the developer guide. For information about the key-value pairs that AWS Glue consumes to set up your job, see the <http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html Special Parameters Used by AWS Glue> topic in the developer guide. ----- * 'sjrAllocatedCapacity' - The infrastructure capacity to allocate to this job.+-- * 'sjrAllocatedCapacity' - The number of AWS Glue data processing units (DPUs) to allocate to this JobRun. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the <https://aws.amazon.com/glue/pricing/ AWS Glue pricing page> . ----- * 'sjrJobRunId' - The ID of the job run to start.+-- * 'sjrTimeout' - The job run timeout in minutes. It overrides the timeout value of the job. ----- * 'sjrJobName' - The name of the job to start.+-- * 'sjrJobRunId' - The ID of a previous JobRun to retry.+--+-- * 'sjrJobName' - The name of the job definition to use. startJobRun     :: Text -- ^ 'sjrJobName'     -> StartJobRun startJobRun pJobName_ =   StartJobRun'-  { _sjrArguments = Nothing-  , _sjrAllocatedCapacity = Nothing-  , _sjrJobRunId = Nothing-  , _sjrJobName = pJobName_-  }+    { _sjrArguments = Nothing+    , _sjrAllocatedCapacity = Nothing+    , _sjrTimeout = Nothing+    , _sjrJobRunId = Nothing+    , _sjrJobName = pJobName_+    }  --- | Specific arguments for this job run.+-- | The job arguments specifically for this run. They override the equivalent default arguments set for in the job definition itself. You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes. For information about how to specify and consume your own Job arguments, see the <http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html Calling AWS Glue APIs in Python> topic in the developer guide. For information about the key-value pairs that AWS Glue consumes to set up your job, see the <http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html Special Parameters Used by AWS Glue> topic in the developer guide. sjrArguments :: Lens' StartJobRun (HashMap Text Text)-sjrArguments = lens _sjrArguments (\ s a -> s{_sjrArguments = a}) . _Default . _Map;+sjrArguments = lens _sjrArguments (\ s a -> s{_sjrArguments = a}) . _Default . _Map --- | The infrastructure capacity to allocate to this job.+-- | The number of AWS Glue data processing units (DPUs) to allocate to this JobRun. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the <https://aws.amazon.com/glue/pricing/ AWS Glue pricing page> . sjrAllocatedCapacity :: Lens' StartJobRun (Maybe Int)-sjrAllocatedCapacity = lens _sjrAllocatedCapacity (\ s a -> s{_sjrAllocatedCapacity = a});+sjrAllocatedCapacity = lens _sjrAllocatedCapacity (\ s a -> s{_sjrAllocatedCapacity = a}) --- | The ID of the job run to start.+-- | The job run timeout in minutes. It overrides the timeout value of the job.+sjrTimeout :: Lens' StartJobRun (Maybe Natural)+sjrTimeout = lens _sjrTimeout (\ s a -> s{_sjrTimeout = a}) . mapping _Nat++-- | The ID of a previous JobRun to retry. sjrJobRunId :: Lens' StartJobRun (Maybe Text)-sjrJobRunId = lens _sjrJobRunId (\ s a -> s{_sjrJobRunId = a});+sjrJobRunId = lens _sjrJobRunId (\ s a -> s{_sjrJobRunId = a}) --- | The name of the job to start.+-- | The name of the job definition to use. sjrJobName :: Lens' StartJobRun Text-sjrJobName = lens _sjrJobName (\ s a -> s{_sjrJobName = a});+sjrJobName = lens _sjrJobName (\ s a -> s{_sjrJobName = a})  instance AWSRequest StartJobRun where         type Rs StartJobRun = StartJobRunResponse@@ -123,6 +132,7 @@               (catMaybes                  [("Arguments" .=) <$> _sjrArguments,                   ("AllocatedCapacity" .=) <$> _sjrAllocatedCapacity,+                  ("Timeout" .=) <$> _sjrTimeout,                   ("JobRunId" .=) <$> _sjrJobRunId,                   Just ("JobName" .= _sjrJobName)]) @@ -151,15 +161,15 @@     -> StartJobRunResponse startJobRunResponse pResponseStatus_ =   StartJobRunResponse'-  {_sjrrsJobRunId = Nothing, _sjrrsResponseStatus = pResponseStatus_}+    {_sjrrsJobRunId = Nothing, _sjrrsResponseStatus = pResponseStatus_}   -- | The ID assigned to this job run. sjrrsJobRunId :: Lens' StartJobRunResponse (Maybe Text)-sjrrsJobRunId = lens _sjrrsJobRunId (\ s a -> s{_sjrrsJobRunId = a});+sjrrsJobRunId = lens _sjrrsJobRunId (\ s a -> s{_sjrrsJobRunId = a})  -- | -- | The response status code. sjrrsResponseStatus :: Lens' StartJobRunResponse Int-sjrrsResponseStatus = lens _sjrrsResponseStatus (\ s a -> s{_sjrrsResponseStatus = a});+sjrrsResponseStatus = lens _sjrrsResponseStatus (\ s a -> s{_sjrrsResponseStatus = a})  instance NFData StartJobRunResponse where
gen/Network/AWS/Glue/StartTrigger.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.Glue.StartTrigger--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Starts an existing trigger.+-- Starts an existing trigger. See <http://docs.aws.amazon.com/glue/latest/dg/trigger-job.html Triggering Jobs> for information about how different types of trigger are started. -- -- module Network.AWS.Glue.StartTrigger@@ -63,7 +63,7 @@  -- | The name of the trigger to start. staName :: Lens' StartTrigger Text-staName = lens _staName (\ s a -> s{_staName = a});+staName = lens _staName (\ s a -> s{_staName = a})  instance AWSRequest StartTrigger where         type Rs StartTrigger = StartTriggerResponse@@ -116,15 +116,15 @@     -> StartTriggerResponse startTriggerResponse pResponseStatus_ =   StartTriggerResponse'-  {_starsName = Nothing, _starsResponseStatus = pResponseStatus_}+    {_starsName = Nothing, _starsResponseStatus = pResponseStatus_}   -- | The name of the trigger that was started. starsName :: Lens' StartTriggerResponse (Maybe Text)-starsName = lens _starsName (\ s a -> s{_starsName = a});+starsName = lens _starsName (\ s a -> s{_starsName = a})  -- | -- | The response status code. starsResponseStatus :: Lens' StartTriggerResponse Int-starsResponseStatus = lens _starsResponseStatus (\ s a -> s{_starsResponseStatus = a});+starsResponseStatus = lens _starsResponseStatus (\ s a -> s{_starsResponseStatus = a})  instance NFData StartTriggerResponse where
gen/Network/AWS/Glue/StopCrawler.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.Glue.StopCrawler--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- If the specified @Crawler@ is running, stops the crawl.+-- If the specified crawler is running, stops the crawl. -- -- module Network.AWS.Glue.StopCrawler@@ -53,16 +53,16 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'sName' - Name of the @Crawler@ to stop.+-- * 'sName' - Name of the crawler to stop. stopCrawler     :: Text -- ^ 'sName'     -> StopCrawler stopCrawler pName_ = StopCrawler' {_sName = pName_}  --- | Name of the @Crawler@ to stop.+-- | Name of the crawler to stop. sName :: Lens' StopCrawler Text-sName = lens _sName (\ s a -> s{_sName = a});+sName = lens _sName (\ s a -> s{_sName = a})  instance AWSRequest StopCrawler where         type Rs StopCrawler = StopCrawlerResponse@@ -115,6 +115,6 @@  -- | -- | The response status code. srsResponseStatus :: Lens' StopCrawlerResponse Int-srsResponseStatus = lens _srsResponseStatus (\ s a -> s{_srsResponseStatus = a});+srsResponseStatus = lens _srsResponseStatus (\ s a -> s{_srsResponseStatus = a})  instance NFData StopCrawlerResponse where
gen/Network/AWS/Glue/StopCrawlerSchedule.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.StopCrawlerSchedule--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,7 +63,7 @@  -- | Name of the crawler whose schedule state to set. sCrawlerName :: Lens' StopCrawlerSchedule Text-sCrawlerName = lens _sCrawlerName (\ s a -> s{_sCrawlerName = a});+sCrawlerName = lens _sCrawlerName (\ s a -> s{_sCrawlerName = a})  instance AWSRequest StopCrawlerSchedule where         type Rs StopCrawlerSchedule =@@ -118,6 +118,6 @@  -- | -- | The response status code. storsResponseStatus :: Lens' StopCrawlerScheduleResponse Int-storsResponseStatus = lens _storsResponseStatus (\ s a -> s{_storsResponseStatus = a});+storsResponseStatus = lens _storsResponseStatus (\ s a -> s{_storsResponseStatus = a})  instance NFData StopCrawlerScheduleResponse where
gen/Network/AWS/Glue/StopTrigger.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.StopTrigger--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,7 +63,7 @@  -- | The name of the trigger to stop. stName :: Lens' StopTrigger Text-stName = lens _stName (\ s a -> s{_stName = a});+stName = lens _stName (\ s a -> s{_stName = a})  instance AWSRequest StopTrigger where         type Rs StopTrigger = StopTriggerResponse@@ -116,15 +116,15 @@     -> StopTriggerResponse stopTriggerResponse pResponseStatus_ =   StopTriggerResponse'-  {_strsName = Nothing, _strsResponseStatus = pResponseStatus_}+    {_strsName = Nothing, _strsResponseStatus = pResponseStatus_}   -- | The name of the trigger that was stopped. strsName :: Lens' StopTriggerResponse (Maybe Text)-strsName = lens _strsName (\ s a -> s{_strsName = a});+strsName = lens _strsName (\ s a -> s{_strsName = a})  -- | -- | The response status code. strsResponseStatus :: Lens' StopTriggerResponse Int-strsResponseStatus = lens _strsResponseStatus (\ s a -> s{_strsResponseStatus = a});+strsResponseStatus = lens _strsResponseStatus (\ s a -> s{_strsResponseStatus = a})  instance NFData StopTriggerResponse where
gen/Network/AWS/Glue/Types.hs view
@@ -4,7 +4,7 @@  -- | -- Module      : Network.AWS.Glue.Types--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -51,6 +51,9 @@     -- * JobRunState     , JobRunState (..) +    -- * Language+    , Language (..)+     -- * LastCrawlStatus     , LastCrawlStatus (..) @@ -83,6 +86,7 @@     , action     , aArguments     , aJobName+    , aTimeout      -- * BatchStopJobRunError     , BatchStopJobRunError@@ -114,6 +118,8 @@     , Classifier     , classifier     , cGrokClassifier+    , cXMLClassifier+    , cJSONClassifier      -- * CodeGenEdge     , CodeGenEdge@@ -167,12 +173,12 @@     -- * ConnectionInput     , ConnectionInput     , connectionInput-    , ciConnectionProperties     , ciMatchCriteria     , ciPhysicalConnectionRequirements-    , ciName     , ciDescription+    , ciName     , ciConnectionType+    , ciConnectionProperties      -- * ConnectionsList     , ConnectionsList@@ -195,6 +201,7 @@     , craTargets     , craVersion     , craDatabaseName+    , craConfiguration     , craTablePrefix     , craDescription @@ -224,6 +231,19 @@     , cgcrName     , cgcrGrokPattern +    -- * CreateJSONClassifierRequest+    , CreateJSONClassifierRequest+    , createJSONClassifierRequest+    , cjcrName+    , cjcrJSONPath++    -- * CreateXMLClassifierRequest+    , CreateXMLClassifierRequest+    , createXMLClassifierRequest+    , cxcrRowTag+    , cxcrClassification+    , cxcrName+     -- * Database     , Database     , database@@ -252,6 +272,7 @@     , deSecurityGroupIds     , deLastModifiedTimestamp     , deVPCId+    , dePrivateAddress     , dePublicKey     , deSubnetId     , deNumberOfNodes@@ -297,6 +318,15 @@     , gcClassification     , gcGrokPattern +    -- * JSONClassifier+    , JSONClassifier+    , jsonClassifier+    , jcCreationTime+    , jcLastUpdated+    , jcVersion+    , jcName+    , jcJSONPath+     -- * JdbcTarget     , JdbcTarget     , jdbcTarget@@ -316,6 +346,7 @@     , jMaxRetries     , jExecutionProperty     , jAllocatedCapacity+    , jTimeout     , jDefaultArguments     , jDescription     , jCreatedOn@@ -332,8 +363,8 @@     -- * JobCommand     , JobCommand     , jobCommand-    , jcScriptLocation-    , jcName+    , jobScriptLocation+    , jobName      -- * JobRun     , JobRun@@ -345,11 +376,13 @@     , jrJobName     , jrStartedOn     , jrJobRunState+    , jrExecutionTime     , jrPredecessorRuns     , jrPreviousRunId     , jrId     , jrAttempt     , jrAllocatedCapacity+    , jrTimeout     , jrErrorMessage      -- * JobUpdate@@ -362,6 +395,7 @@     , juMaxRetries     , juExecutionProperty     , juAllocatedCapacity+    , juTimeout     , juDefaultArguments     , juDescription @@ -556,6 +590,13 @@     , tvVersionId     , tvTable +    -- * TableVersionError+    , TableVersionError+    , tableVersionError+    , tveVersionId+    , tveTableName+    , tveErrorDetail+     -- * Trigger     , Trigger     , trigger@@ -585,6 +626,19 @@     , ugcrGrokPattern     , ugcrName +    -- * UpdateJSONClassifierRequest+    , UpdateJSONClassifierRequest+    , updateJSONClassifierRequest+    , ujcrJSONPath+    , ujcrName++    -- * UpdateXMLClassifierRequest+    , UpdateXMLClassifierRequest+    , updateXMLClassifierRequest+    , uxcrClassification+    , uxcrRowTag+    , uxcrName+     -- * UserDefinedFunction     , UserDefinedFunction     , userDefinedFunction@@ -603,6 +657,16 @@     , udfiFunctionName     , udfiOwnerType     , udfiClassName++    -- * XMLClassifier+    , XMLClassifier+    , xmlClassifier+    , xcCreationTime+    , xcLastUpdated+    , xcVersion+    , xcRowTag+    , xcName+    , xcClassification     ) where  import Network.AWS.Glue.Types.Product@@ -615,24 +679,24 @@ glue :: Service glue =   Service-  { _svcAbbrev = "Glue"-  , _svcSigner = v4-  , _svcPrefix = "glue"-  , _svcVersion = "2017-03-31"-  , _svcEndpoint = defaultEndpoint glue-  , _svcTimeout = Just 70-  , _svcCheck = statusSuccess-  , _svcError = parseJSONError "Glue"-  , _svcRetry = retry-  }+    { _svcAbbrev = "Glue"+    , _svcSigner = v4+    , _svcPrefix = "glue"+    , _svcVersion = "2017-03-31"+    , _svcEndpoint = defaultEndpoint glue+    , _svcTimeout = Just 70+    , _svcCheck = statusSuccess+    , _svcError = parseJSONError "Glue"+    , _svcRetry = retry+    }   where     retry =       Exponential-      { _retryBase = 5.0e-2-      , _retryGrowth = 2-      , _retryAttempts = 5-      , _retryCheck = check-      }+        { _retryBase = 5.0e-2+        , _retryGrowth = 2+        , _retryAttempts = 5+        , _retryCheck = check+        }     check e       | has (hasCode "ThrottledException" . hasStatus 400) e =         Just "throttled_exception"@@ -641,6 +705,8 @@         Just "throttling_exception"       | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"       | has (hasStatus 504) e = Just "gateway_timeout"+      | has (hasCode "RequestThrottledException" . hasStatus 400) e =+        Just "request_throttled_exception"       | has (hasStatus 502) e = Just "bad_gateway"       | has (hasStatus 503) e = Just "service_unavailable"       | has (hasStatus 500) e = Just "general_server_error"
gen/Network/AWS/Glue/Types/Product.hs view
@@ -9,4390 +9,4896 @@  -- | -- Module      : Network.AWS.Glue.Types.Product--- Copyright   : (c) 2013-2017 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.Glue.Types.Product where--import Network.AWS.Glue.Types.Sum-import Network.AWS.Lens-import Network.AWS.Prelude---- | Defines an action to be initiated by a trigger.------------ /See:/ 'action' smart constructor.-data Action = Action'-  { _aArguments :: !(Maybe (Map Text Text))-  , _aJobName   :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Action' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aArguments' - Arguments to be passed to the job.------ * 'aJobName' - The name of a job to be executed.-action-    :: Action-action = Action' {_aArguments = Nothing, _aJobName = Nothing}----- | Arguments to be passed to the job.-aArguments :: Lens' Action (HashMap Text Text)-aArguments = lens _aArguments (\ s a -> s{_aArguments = a}) . _Default . _Map;---- | The name of a job to be executed.-aJobName :: Lens' Action (Maybe Text)-aJobName = lens _aJobName (\ s a -> s{_aJobName = a});--instance FromJSON Action where-        parseJSON-          = withObject "Action"-              (\ x ->-                 Action' <$>-                   (x .:? "Arguments" .!= mempty) <*> (x .:? "JobName"))--instance Hashable Action where--instance NFData Action where--instance ToJSON Action where-        toJSON Action'{..}-          = object-              (catMaybes-                 [("Arguments" .=) <$> _aArguments,-                  ("JobName" .=) <$> _aJobName])---- | Details about the job run and the error that occurred while trying to submit it for stopping.------------ /See:/ 'batchStopJobRunError' smart constructor.-data BatchStopJobRunError = BatchStopJobRunError'-  { _bsjreJobName     :: !(Maybe Text)-  , _bsjreJobRunId    :: !(Maybe Text)-  , _bsjreErrorDetail :: !(Maybe ErrorDetail)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchStopJobRunError' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bsjreJobName' - The name of the job.------ * 'bsjreJobRunId' - The job run Id.------ * 'bsjreErrorDetail' - The details of the error that occurred.-batchStopJobRunError-    :: BatchStopJobRunError-batchStopJobRunError =-  BatchStopJobRunError'-  { _bsjreJobName = Nothing-  , _bsjreJobRunId = Nothing-  , _bsjreErrorDetail = Nothing-  }----- | The name of the job.-bsjreJobName :: Lens' BatchStopJobRunError (Maybe Text)-bsjreJobName = lens _bsjreJobName (\ s a -> s{_bsjreJobName = a});---- | The job run Id.-bsjreJobRunId :: Lens' BatchStopJobRunError (Maybe Text)-bsjreJobRunId = lens _bsjreJobRunId (\ s a -> s{_bsjreJobRunId = a});---- | The details of the error that occurred.-bsjreErrorDetail :: Lens' BatchStopJobRunError (Maybe ErrorDetail)-bsjreErrorDetail = lens _bsjreErrorDetail (\ s a -> s{_bsjreErrorDetail = a});--instance FromJSON BatchStopJobRunError where-        parseJSON-          = withObject "BatchStopJobRunError"-              (\ x ->-                 BatchStopJobRunError' <$>-                   (x .:? "JobName") <*> (x .:? "JobRunId") <*>-                     (x .:? "ErrorDetail"))--instance Hashable BatchStopJobRunError where--instance NFData BatchStopJobRunError where---- | Details about the job run which is submitted successfully for stopping.------------ /See:/ 'batchStopJobRunSuccessfulSubmission' smart constructor.-data BatchStopJobRunSuccessfulSubmission = BatchStopJobRunSuccessfulSubmission'-  { _bsjrssJobName  :: !(Maybe Text)-  , _bsjrssJobRunId :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BatchStopJobRunSuccessfulSubmission' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bsjrssJobName' - The name of the job.------ * 'bsjrssJobRunId' - The job run Id.-batchStopJobRunSuccessfulSubmission-    :: BatchStopJobRunSuccessfulSubmission-batchStopJobRunSuccessfulSubmission =-  BatchStopJobRunSuccessfulSubmission'-  {_bsjrssJobName = Nothing, _bsjrssJobRunId = Nothing}----- | The name of the job.-bsjrssJobName :: Lens' BatchStopJobRunSuccessfulSubmission (Maybe Text)-bsjrssJobName = lens _bsjrssJobName (\ s a -> s{_bsjrssJobName = a});---- | The job run Id.-bsjrssJobRunId :: Lens' BatchStopJobRunSuccessfulSubmission (Maybe Text)-bsjrssJobRunId = lens _bsjrssJobRunId (\ s a -> s{_bsjrssJobRunId = a});--instance FromJSON BatchStopJobRunSuccessfulSubmission-         where-        parseJSON-          = withObject "BatchStopJobRunSuccessfulSubmission"-              (\ x ->-                 BatchStopJobRunSuccessfulSubmission' <$>-                   (x .:? "JobName") <*> (x .:? "JobRunId"))--instance Hashable BatchStopJobRunSuccessfulSubmission-         where--instance NFData BatchStopJobRunSuccessfulSubmission-         where---- | Specifies a table definition in the Data Catalog.------------ /See:/ 'catalogEntry' smart constructor.-data CatalogEntry = CatalogEntry'-  { _ceDatabaseName :: !Text-  , _ceTableName    :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CatalogEntry' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ceDatabaseName' - The database in which the table metadata resides.------ * 'ceTableName' - The name of the table in question.-catalogEntry-    :: Text -- ^ 'ceDatabaseName'-    -> Text -- ^ 'ceTableName'-    -> CatalogEntry-catalogEntry pDatabaseName_ pTableName_ =-  CatalogEntry' {_ceDatabaseName = pDatabaseName_, _ceTableName = pTableName_}----- | The database in which the table metadata resides.-ceDatabaseName :: Lens' CatalogEntry Text-ceDatabaseName = lens _ceDatabaseName (\ s a -> s{_ceDatabaseName = a});---- | The name of the table in question.-ceTableName :: Lens' CatalogEntry Text-ceTableName = lens _ceTableName (\ s a -> s{_ceTableName = a});--instance Hashable CatalogEntry where--instance NFData CatalogEntry where--instance ToJSON CatalogEntry where-        toJSON CatalogEntry'{..}-          = object-              (catMaybes-                 [Just ("DatabaseName" .= _ceDatabaseName),-                  Just ("TableName" .= _ceTableName)])---- | A structure containing migration status information.------------ /See:/ 'catalogImportStatus' smart constructor.-data CatalogImportStatus = CatalogImportStatus'-  { _cisImportedBy      :: !(Maybe Text)-  , _cisImportTime      :: !(Maybe POSIX)-  , _cisImportCompleted :: !(Maybe Bool)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CatalogImportStatus' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cisImportedBy' - The name of the person who initiated the migration.------ * 'cisImportTime' - The time that the migration was started.------ * 'cisImportCompleted' - True if the migration has completed, or False otherwise.-catalogImportStatus-    :: CatalogImportStatus-catalogImportStatus =-  CatalogImportStatus'-  { _cisImportedBy = Nothing-  , _cisImportTime = Nothing-  , _cisImportCompleted = Nothing-  }----- | The name of the person who initiated the migration.-cisImportedBy :: Lens' CatalogImportStatus (Maybe Text)-cisImportedBy = lens _cisImportedBy (\ s a -> s{_cisImportedBy = a});---- | The time that the migration was started.-cisImportTime :: Lens' CatalogImportStatus (Maybe UTCTime)-cisImportTime = lens _cisImportTime (\ s a -> s{_cisImportTime = a}) . mapping _Time;---- | True if the migration has completed, or False otherwise.-cisImportCompleted :: Lens' CatalogImportStatus (Maybe Bool)-cisImportCompleted = lens _cisImportCompleted (\ s a -> s{_cisImportCompleted = a});--instance FromJSON CatalogImportStatus where-        parseJSON-          = withObject "CatalogImportStatus"-              (\ x ->-                 CatalogImportStatus' <$>-                   (x .:? "ImportedBy") <*> (x .:? "ImportTime") <*>-                     (x .:? "ImportCompleted"))--instance Hashable CatalogImportStatus where--instance NFData CatalogImportStatus where---- | Classifiers are written in Python and triggered during a Crawl Task. You can write your own Classifiers to best categorize your data sources and specify the appropriate schemas to use for them. A Classifier first checks whether a given file is in a format it can handle, and then, if so, creates a schema in the form of a @StructType@ object that matches that data format.------------ /See:/ 'classifier' smart constructor.-newtype Classifier = Classifier'-  { _cGrokClassifier :: Maybe GrokClassifier-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Classifier' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cGrokClassifier' - A GrokClassifier object.-classifier-    :: Classifier-classifier = Classifier' {_cGrokClassifier = Nothing}----- | A GrokClassifier object.-cGrokClassifier :: Lens' Classifier (Maybe GrokClassifier)-cGrokClassifier = lens _cGrokClassifier (\ s a -> s{_cGrokClassifier = a});--instance FromJSON Classifier where-        parseJSON-          = withObject "Classifier"-              (\ x -> Classifier' <$> (x .:? "GrokClassifier"))--instance Hashable Classifier where--instance NFData Classifier where---- | Represents a directional edge in a directed acyclic graph (DAG).------------ /See:/ 'codeGenEdge' smart constructor.-data CodeGenEdge = CodeGenEdge'-  { _cgeTargetParameter :: !(Maybe Text)-  , _cgeSource          :: !Text-  , _cgeTarget          :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CodeGenEdge' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cgeTargetParameter' - The target of the edge.------ * 'cgeSource' - The ID of the node at which the edge starts.------ * 'cgeTarget' - The ID of the node at which the edge ends.-codeGenEdge-    :: Text -- ^ 'cgeSource'-    -> Text -- ^ 'cgeTarget'-    -> CodeGenEdge-codeGenEdge pSource_ pTarget_ =-  CodeGenEdge'-  {_cgeTargetParameter = Nothing, _cgeSource = pSource_, _cgeTarget = pTarget_}----- | The target of the edge.-cgeTargetParameter :: Lens' CodeGenEdge (Maybe Text)-cgeTargetParameter = lens _cgeTargetParameter (\ s a -> s{_cgeTargetParameter = a});---- | The ID of the node at which the edge starts.-cgeSource :: Lens' CodeGenEdge Text-cgeSource = lens _cgeSource (\ s a -> s{_cgeSource = a});---- | The ID of the node at which the edge ends.-cgeTarget :: Lens' CodeGenEdge Text-cgeTarget = lens _cgeTarget (\ s a -> s{_cgeTarget = a});--instance FromJSON CodeGenEdge where-        parseJSON-          = withObject "CodeGenEdge"-              (\ x ->-                 CodeGenEdge' <$>-                   (x .:? "TargetParameter") <*> (x .: "Source") <*>-                     (x .: "Target"))--instance Hashable CodeGenEdge where--instance NFData CodeGenEdge where--instance ToJSON CodeGenEdge where-        toJSON CodeGenEdge'{..}-          = object-              (catMaybes-                 [("TargetParameter" .=) <$> _cgeTargetParameter,-                  Just ("Source" .= _cgeSource),-                  Just ("Target" .= _cgeTarget)])---- | Represents a node in a directed acyclic graph (DAG)------------ /See:/ 'codeGenNode' smart constructor.-data CodeGenNode = CodeGenNode'-  { _cgnLineNumber :: !(Maybe Int)-  , _cgnId         :: !Text-  , _cgnNodeType   :: !Text-  , _cgnArgs       :: ![CodeGenNodeArg]-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CodeGenNode' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cgnLineNumber' - The line number of the node.------ * 'cgnId' - A node identifier that is unique within the node's graph.------ * 'cgnNodeType' - The type of node this is.------ * 'cgnArgs' - Properties of the node, in the form of name-value pairs.-codeGenNode-    :: Text -- ^ 'cgnId'-    -> Text -- ^ 'cgnNodeType'-    -> CodeGenNode-codeGenNode pId_ pNodeType_ =-  CodeGenNode'-  { _cgnLineNumber = Nothing-  , _cgnId = pId_-  , _cgnNodeType = pNodeType_-  , _cgnArgs = mempty-  }----- | The line number of the node.-cgnLineNumber :: Lens' CodeGenNode (Maybe Int)-cgnLineNumber = lens _cgnLineNumber (\ s a -> s{_cgnLineNumber = a});---- | A node identifier that is unique within the node's graph.-cgnId :: Lens' CodeGenNode Text-cgnId = lens _cgnId (\ s a -> s{_cgnId = a});---- | The type of node this is.-cgnNodeType :: Lens' CodeGenNode Text-cgnNodeType = lens _cgnNodeType (\ s a -> s{_cgnNodeType = a});---- | Properties of the node, in the form of name-value pairs.-cgnArgs :: Lens' CodeGenNode [CodeGenNodeArg]-cgnArgs = lens _cgnArgs (\ s a -> s{_cgnArgs = a}) . _Coerce;--instance FromJSON CodeGenNode where-        parseJSON-          = withObject "CodeGenNode"-              (\ x ->-                 CodeGenNode' <$>-                   (x .:? "LineNumber") <*> (x .: "Id") <*>-                     (x .: "NodeType")-                     <*> (x .:? "Args" .!= mempty))--instance Hashable CodeGenNode where--instance NFData CodeGenNode where--instance ToJSON CodeGenNode where-        toJSON CodeGenNode'{..}-          = object-              (catMaybes-                 [("LineNumber" .=) <$> _cgnLineNumber,-                  Just ("Id" .= _cgnId),-                  Just ("NodeType" .= _cgnNodeType),-                  Just ("Args" .= _cgnArgs)])---- | An argument or property of a node.------------ /See:/ 'codeGenNodeArg' smart constructor.-data CodeGenNodeArg = CodeGenNodeArg'-  { _cgnaParam :: !(Maybe Bool)-  , _cgnaName  :: !Text-  , _cgnaValue :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CodeGenNodeArg' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cgnaParam' - True if the value is used as a parameter.------ * 'cgnaName' - The name of the argument or property.------ * 'cgnaValue' - The value of the argument or property.-codeGenNodeArg-    :: Text -- ^ 'cgnaName'-    -> Text -- ^ 'cgnaValue'-    -> CodeGenNodeArg-codeGenNodeArg pName_ pValue_ =-  CodeGenNodeArg'-  {_cgnaParam = Nothing, _cgnaName = pName_, _cgnaValue = pValue_}----- | True if the value is used as a parameter.-cgnaParam :: Lens' CodeGenNodeArg (Maybe Bool)-cgnaParam = lens _cgnaParam (\ s a -> s{_cgnaParam = a});---- | The name of the argument or property.-cgnaName :: Lens' CodeGenNodeArg Text-cgnaName = lens _cgnaName (\ s a -> s{_cgnaName = a});---- | The value of the argument or property.-cgnaValue :: Lens' CodeGenNodeArg Text-cgnaValue = lens _cgnaValue (\ s a -> s{_cgnaValue = a});--instance FromJSON CodeGenNodeArg where-        parseJSON-          = withObject "CodeGenNodeArg"-              (\ x ->-                 CodeGenNodeArg' <$>-                   (x .:? "Param") <*> (x .: "Name") <*> (x .: "Value"))--instance Hashable CodeGenNodeArg where--instance NFData CodeGenNodeArg where--instance ToJSON CodeGenNodeArg where-        toJSON CodeGenNodeArg'{..}-          = object-              (catMaybes-                 [("Param" .=) <$> _cgnaParam,-                  Just ("Name" .= _cgnaName),-                  Just ("Value" .= _cgnaValue)])---- | A column in a @Table@ .------------ /See:/ 'column' smart constructor.-data Column = Column'-  { _cType    :: !(Maybe Text)-  , _cComment :: !(Maybe Text)-  , _cName    :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Column' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cType' - The datatype of data in the @Column@ .------ * 'cComment' - Free-form text comment.------ * 'cName' - The name of the @Column@ .-column-    :: Text -- ^ 'cName'-    -> Column-column pName_ = Column' {_cType = Nothing, _cComment = Nothing, _cName = pName_}----- | The datatype of data in the @Column@ .-cType :: Lens' Column (Maybe Text)-cType = lens _cType (\ s a -> s{_cType = a});---- | Free-form text comment.-cComment :: Lens' Column (Maybe Text)-cComment = lens _cComment (\ s a -> s{_cComment = a});---- | The name of the @Column@ .-cName :: Lens' Column Text-cName = lens _cName (\ s a -> s{_cName = a});--instance FromJSON Column where-        parseJSON-          = withObject "Column"-              (\ x ->-                 Column' <$>-                   (x .:? "Type") <*> (x .:? "Comment") <*>-                     (x .: "Name"))--instance Hashable Column where--instance NFData Column where--instance ToJSON Column where-        toJSON Column'{..}-          = object-              (catMaybes-                 [("Type" .=) <$> _cType,-                  ("Comment" .=) <$> _cComment,-                  Just ("Name" .= _cName)])---- | Defines a condition under which a trigger fires.------------ /See:/ 'condition' smart constructor.-data Condition = Condition'-  { _cState           :: !(Maybe JobRunState)-  , _cJobName         :: !(Maybe Text)-  , _cLogicalOperator :: !(Maybe LogicalOperator)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Condition' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cState' - The condition state.------ * 'cJobName' - The name of the job in question.------ * 'cLogicalOperator' - A logical operator.-condition-    :: Condition-condition =-  Condition'-  {_cState = Nothing, _cJobName = Nothing, _cLogicalOperator = Nothing}----- | The condition state.-cState :: Lens' Condition (Maybe JobRunState)-cState = lens _cState (\ s a -> s{_cState = a});---- | The name of the job in question.-cJobName :: Lens' Condition (Maybe Text)-cJobName = lens _cJobName (\ s a -> s{_cJobName = a});---- | A logical operator.-cLogicalOperator :: Lens' Condition (Maybe LogicalOperator)-cLogicalOperator = lens _cLogicalOperator (\ s a -> s{_cLogicalOperator = a});--instance FromJSON Condition where-        parseJSON-          = withObject "Condition"-              (\ x ->-                 Condition' <$>-                   (x .:? "State") <*> (x .:? "JobName") <*>-                     (x .:? "LogicalOperator"))--instance Hashable Condition where--instance NFData Condition where--instance ToJSON Condition where-        toJSON Condition'{..}-          = object-              (catMaybes-                 [("State" .=) <$> _cState,-                  ("JobName" .=) <$> _cJobName,-                  ("LogicalOperator" .=) <$> _cLogicalOperator])---- | Defines a connection to a data source.------------ /See:/ 'connection' smart constructor.-data Connection = Connection'-  { _conCreationTime :: !(Maybe POSIX)-  , _conLastUpdatedBy :: !(Maybe Text)-  , _conConnectionProperties :: !(Maybe (Map ConnectionPropertyKey Text))-  , _conLastUpdatedTime :: !(Maybe POSIX)-  , _conMatchCriteria :: !(Maybe [Text])-  , _conPhysicalConnectionRequirements :: !(Maybe PhysicalConnectionRequirements)-  , _conName :: !(Maybe Text)-  , _conDescription :: !(Maybe Text)-  , _conConnectionType :: !(Maybe ConnectionType)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Connection' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'conCreationTime' - The time this connection definition was created.------ * 'conLastUpdatedBy' - The user, group or role that last updated this connection definition.------ * 'conConnectionProperties' - A list of key-value pairs used as parameters for this connection.------ * 'conLastUpdatedTime' - The last time this connection definition was updated.------ * 'conMatchCriteria' - A list of criteria that can be used in selecting this connection.------ * 'conPhysicalConnectionRequirements' - A map of physical connection requirements, such as VPC and SecurityGroup, needed for making this connection successfully.------ * 'conName' - The name of the connection definition.------ * 'conDescription' - Description of the connection.------ * 'conConnectionType' - The type of the connection. Currently, only JDBC is supported; SFTP is not supported.-connection-    :: Connection-connection =-  Connection'-  { _conCreationTime = Nothing-  , _conLastUpdatedBy = Nothing-  , _conConnectionProperties = Nothing-  , _conLastUpdatedTime = Nothing-  , _conMatchCriteria = Nothing-  , _conPhysicalConnectionRequirements = Nothing-  , _conName = Nothing-  , _conDescription = Nothing-  , _conConnectionType = Nothing-  }----- | The time this connection definition was created.-conCreationTime :: Lens' Connection (Maybe UTCTime)-conCreationTime = lens _conCreationTime (\ s a -> s{_conCreationTime = a}) . mapping _Time;---- | The user, group or role that last updated this connection definition.-conLastUpdatedBy :: Lens' Connection (Maybe Text)-conLastUpdatedBy = lens _conLastUpdatedBy (\ s a -> s{_conLastUpdatedBy = a});---- | A list of key-value pairs used as parameters for this connection.-conConnectionProperties :: Lens' Connection (HashMap ConnectionPropertyKey Text)-conConnectionProperties = lens _conConnectionProperties (\ s a -> s{_conConnectionProperties = a}) . _Default . _Map;---- | The last time this connection definition was updated.-conLastUpdatedTime :: Lens' Connection (Maybe UTCTime)-conLastUpdatedTime = lens _conLastUpdatedTime (\ s a -> s{_conLastUpdatedTime = a}) . mapping _Time;---- | A list of criteria that can be used in selecting this connection.-conMatchCriteria :: Lens' Connection [Text]-conMatchCriteria = lens _conMatchCriteria (\ s a -> s{_conMatchCriteria = a}) . _Default . _Coerce;---- | A map of physical connection requirements, such as VPC and SecurityGroup, needed for making this connection successfully.-conPhysicalConnectionRequirements :: Lens' Connection (Maybe PhysicalConnectionRequirements)-conPhysicalConnectionRequirements = lens _conPhysicalConnectionRequirements (\ s a -> s{_conPhysicalConnectionRequirements = a});---- | The name of the connection definition.-conName :: Lens' Connection (Maybe Text)-conName = lens _conName (\ s a -> s{_conName = a});---- | Description of the connection.-conDescription :: Lens' Connection (Maybe Text)-conDescription = lens _conDescription (\ s a -> s{_conDescription = a});---- | The type of the connection. Currently, only JDBC is supported; SFTP is not supported.-conConnectionType :: Lens' Connection (Maybe ConnectionType)-conConnectionType = lens _conConnectionType (\ s a -> s{_conConnectionType = a});--instance FromJSON Connection where-        parseJSON-          = withObject "Connection"-              (\ x ->-                 Connection' <$>-                   (x .:? "CreationTime") <*> (x .:? "LastUpdatedBy")-                     <*> (x .:? "ConnectionProperties" .!= mempty)-                     <*> (x .:? "LastUpdatedTime")-                     <*> (x .:? "MatchCriteria" .!= mempty)-                     <*> (x .:? "PhysicalConnectionRequirements")-                     <*> (x .:? "Name")-                     <*> (x .:? "Description")-                     <*> (x .:? "ConnectionType"))--instance Hashable Connection where--instance NFData Connection where---- | A structure used to specify a connection to create or update.------------ /See:/ 'connectionInput' smart constructor.-data ConnectionInput = ConnectionInput'-  { _ciConnectionProperties :: !(Maybe (Map ConnectionPropertyKey Text))-  , _ciMatchCriteria :: !(Maybe [Text])-  , _ciPhysicalConnectionRequirements :: !(Maybe PhysicalConnectionRequirements)-  , _ciName :: !(Maybe Text)-  , _ciDescription :: !(Maybe Text)-  , _ciConnectionType :: !(Maybe ConnectionType)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ConnectionInput' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ciConnectionProperties' - A list of key-value pairs used as parameters for this connection.------ * 'ciMatchCriteria' - A list of criteria that can be used in selecting this connection.------ * 'ciPhysicalConnectionRequirements' - A map of physical connection requirements, such as VPC and SecurityGroup, needed for making this connection successfully.------ * 'ciName' - The name of the connection.------ * 'ciDescription' - Description of the connection.------ * 'ciConnectionType' - The type of the connection. Currently, only JDBC is supported; SFTP is not supported.-connectionInput-    :: ConnectionInput-connectionInput =-  ConnectionInput'-  { _ciConnectionProperties = Nothing-  , _ciMatchCriteria = Nothing-  , _ciPhysicalConnectionRequirements = Nothing-  , _ciName = Nothing-  , _ciDescription = Nothing-  , _ciConnectionType = Nothing-  }----- | A list of key-value pairs used as parameters for this connection.-ciConnectionProperties :: Lens' ConnectionInput (HashMap ConnectionPropertyKey Text)-ciConnectionProperties = lens _ciConnectionProperties (\ s a -> s{_ciConnectionProperties = a}) . _Default . _Map;---- | A list of criteria that can be used in selecting this connection.-ciMatchCriteria :: Lens' ConnectionInput [Text]-ciMatchCriteria = lens _ciMatchCriteria (\ s a -> s{_ciMatchCriteria = a}) . _Default . _Coerce;---- | A map of physical connection requirements, such as VPC and SecurityGroup, needed for making this connection successfully.-ciPhysicalConnectionRequirements :: Lens' ConnectionInput (Maybe PhysicalConnectionRequirements)-ciPhysicalConnectionRequirements = lens _ciPhysicalConnectionRequirements (\ s a -> s{_ciPhysicalConnectionRequirements = a});---- | The name of the connection.-ciName :: Lens' ConnectionInput (Maybe Text)-ciName = lens _ciName (\ s a -> s{_ciName = a});---- | Description of the connection.-ciDescription :: Lens' ConnectionInput (Maybe Text)-ciDescription = lens _ciDescription (\ s a -> s{_ciDescription = a});---- | The type of the connection. Currently, only JDBC is supported; SFTP is not supported.-ciConnectionType :: Lens' ConnectionInput (Maybe ConnectionType)-ciConnectionType = lens _ciConnectionType (\ s a -> s{_ciConnectionType = a});--instance Hashable ConnectionInput where--instance NFData ConnectionInput where--instance ToJSON ConnectionInput where-        toJSON ConnectionInput'{..}-          = object-              (catMaybes-                 [("ConnectionProperties" .=) <$>-                    _ciConnectionProperties,-                  ("MatchCriteria" .=) <$> _ciMatchCriteria,-                  ("PhysicalConnectionRequirements" .=) <$>-                    _ciPhysicalConnectionRequirements,-                  ("Name" .=) <$> _ciName,-                  ("Description" .=) <$> _ciDescription,-                  ("ConnectionType" .=) <$> _ciConnectionType])---- | Specifies the connections used by a job.------------ /See:/ 'connectionsList' smart constructor.-newtype ConnectionsList = ConnectionsList'-  { _clConnections :: Maybe [Text]-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ConnectionsList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'clConnections' - A list of connections used by the job.-connectionsList-    :: ConnectionsList-connectionsList = ConnectionsList' {_clConnections = Nothing}----- | A list of connections used by the job.-clConnections :: Lens' ConnectionsList [Text]-clConnections = lens _clConnections (\ s a -> s{_clConnections = a}) . _Default . _Coerce;--instance FromJSON ConnectionsList where-        parseJSON-          = withObject "ConnectionsList"-              (\ x ->-                 ConnectionsList' <$>-                   (x .:? "Connections" .!= mempty))--instance Hashable ConnectionsList where--instance NFData ConnectionsList where--instance ToJSON ConnectionsList where-        toJSON ConnectionsList'{..}-          = object-              (catMaybes [("Connections" .=) <$> _clConnections])---- | Specifies a crawler program that examines a data source and uses classifiers to try to determine its schema. If successful, the crawler records metatdata concerning the data source in the Data Catalog.------------ /See:/ 'crawler' smart constructor.-data Crawler = Crawler'-  { _craCreationTime       :: !(Maybe POSIX)-  , _craState              :: !(Maybe CrawlerState)-  , _craSchemaChangePolicy :: !(Maybe SchemaChangePolicy)-  , _craLastUpdated        :: !(Maybe POSIX)-  , _craSchedule           :: !(Maybe Schedule)-  , _craLastCrawl          :: !(Maybe LastCrawlInfo)-  , _craCrawlElapsedTime   :: !(Maybe Integer)-  , _craClassifiers        :: !(Maybe [Text])-  , _craRole               :: !(Maybe Text)-  , _craName               :: !(Maybe Text)-  , _craTargets            :: !(Maybe CrawlerTargets)-  , _craVersion            :: !(Maybe Integer)-  , _craDatabaseName       :: !(Maybe Text)-  , _craTablePrefix        :: !(Maybe Text)-  , _craDescription        :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Crawler' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'craCreationTime' - The time when the Crawler was created.------ * 'craState' - Indicates whether this Crawler is running, or whether a run is pending.------ * 'craSchemaChangePolicy' - Sets policy for the crawler's update and delete behavior.------ * 'craLastUpdated' - The time the Crawler was last updated.------ * 'craSchedule' - A @Schedule@ object that specifies the schedule on which this Crawler is to be run.------ * 'craLastCrawl' - The status of the last crawl, and potentially error information if an error occurred.------ * 'craCrawlElapsedTime' - If this Crawler is running, contains the total time elapsed since the last crawl began.------ * 'craClassifiers' - A list of custom @Classifier@ s associated with this Crawler.------ * 'craRole' - The IAM role (or ARN of an IAM role) used to access customer resources such as data in S3.------ * 'craName' - The @Crawler@ name.------ * 'craTargets' - A collection of targets to crawl.------ * 'craVersion' - The version of the Crawler.------ * 'craDatabaseName' - The @Database@ where this Crawler's output should be stored.------ * 'craTablePrefix' - The table prefix used for catalog tables created.------ * 'craDescription' - A description of this Crawler and where it should be used.-crawler-    :: Crawler-crawler =-  Crawler'-  { _craCreationTime = Nothing-  , _craState = Nothing-  , _craSchemaChangePolicy = Nothing-  , _craLastUpdated = Nothing-  , _craSchedule = Nothing-  , _craLastCrawl = Nothing-  , _craCrawlElapsedTime = Nothing-  , _craClassifiers = Nothing-  , _craRole = Nothing-  , _craName = Nothing-  , _craTargets = Nothing-  , _craVersion = Nothing-  , _craDatabaseName = Nothing-  , _craTablePrefix = Nothing-  , _craDescription = Nothing-  }----- | The time when the Crawler was created.-craCreationTime :: Lens' Crawler (Maybe UTCTime)-craCreationTime = lens _craCreationTime (\ s a -> s{_craCreationTime = a}) . mapping _Time;---- | Indicates whether this Crawler is running, or whether a run is pending.-craState :: Lens' Crawler (Maybe CrawlerState)-craState = lens _craState (\ s a -> s{_craState = a});---- | Sets policy for the crawler's update and delete behavior.-craSchemaChangePolicy :: Lens' Crawler (Maybe SchemaChangePolicy)-craSchemaChangePolicy = lens _craSchemaChangePolicy (\ s a -> s{_craSchemaChangePolicy = a});---- | The time the Crawler was last updated.-craLastUpdated :: Lens' Crawler (Maybe UTCTime)-craLastUpdated = lens _craLastUpdated (\ s a -> s{_craLastUpdated = a}) . mapping _Time;---- | A @Schedule@ object that specifies the schedule on which this Crawler is to be run.-craSchedule :: Lens' Crawler (Maybe Schedule)-craSchedule = lens _craSchedule (\ s a -> s{_craSchedule = a});---- | The status of the last crawl, and potentially error information if an error occurred.-craLastCrawl :: Lens' Crawler (Maybe LastCrawlInfo)-craLastCrawl = lens _craLastCrawl (\ s a -> s{_craLastCrawl = a});---- | If this Crawler is running, contains the total time elapsed since the last crawl began.-craCrawlElapsedTime :: Lens' Crawler (Maybe Integer)-craCrawlElapsedTime = lens _craCrawlElapsedTime (\ s a -> s{_craCrawlElapsedTime = a});---- | A list of custom @Classifier@ s associated with this Crawler.-craClassifiers :: Lens' Crawler [Text]-craClassifiers = lens _craClassifiers (\ s a -> s{_craClassifiers = a}) . _Default . _Coerce;---- | The IAM role (or ARN of an IAM role) used to access customer resources such as data in S3.-craRole :: Lens' Crawler (Maybe Text)-craRole = lens _craRole (\ s a -> s{_craRole = a});---- | The @Crawler@ name.-craName :: Lens' Crawler (Maybe Text)-craName = lens _craName (\ s a -> s{_craName = a});---- | A collection of targets to crawl.-craTargets :: Lens' Crawler (Maybe CrawlerTargets)-craTargets = lens _craTargets (\ s a -> s{_craTargets = a});---- | The version of the Crawler.-craVersion :: Lens' Crawler (Maybe Integer)-craVersion = lens _craVersion (\ s a -> s{_craVersion = a});---- | The @Database@ where this Crawler's output should be stored.-craDatabaseName :: Lens' Crawler (Maybe Text)-craDatabaseName = lens _craDatabaseName (\ s a -> s{_craDatabaseName = a});---- | The table prefix used for catalog tables created.-craTablePrefix :: Lens' Crawler (Maybe Text)-craTablePrefix = lens _craTablePrefix (\ s a -> s{_craTablePrefix = a});---- | A description of this Crawler and where it should be used.-craDescription :: Lens' Crawler (Maybe Text)-craDescription = lens _craDescription (\ s a -> s{_craDescription = a});--instance FromJSON Crawler where-        parseJSON-          = withObject "Crawler"-              (\ x ->-                 Crawler' <$>-                   (x .:? "CreationTime") <*> (x .:? "State") <*>-                     (x .:? "SchemaChangePolicy")-                     <*> (x .:? "LastUpdated")-                     <*> (x .:? "Schedule")-                     <*> (x .:? "LastCrawl")-                     <*> (x .:? "CrawlElapsedTime")-                     <*> (x .:? "Classifiers" .!= mempty)-                     <*> (x .:? "Role")-                     <*> (x .:? "Name")-                     <*> (x .:? "Targets")-                     <*> (x .:? "Version")-                     <*> (x .:? "DatabaseName")-                     <*> (x .:? "TablePrefix")-                     <*> (x .:? "Description"))--instance Hashable Crawler where--instance NFData Crawler where---- | Metrics for a specified crawler.------------ /See:/ 'crawlerMetrics' smart constructor.-data CrawlerMetrics = CrawlerMetrics'-  { _cmLastRuntimeSeconds   :: !(Maybe Double)-  , _cmTablesCreated        :: !(Maybe Nat)-  , _cmStillEstimating      :: !(Maybe Bool)-  , _cmMedianRuntimeSeconds :: !(Maybe Double)-  , _cmTimeLeftSeconds      :: !(Maybe Double)-  , _cmTablesDeleted        :: !(Maybe Nat)-  , _cmTablesUpdated        :: !(Maybe Nat)-  , _cmCrawlerName          :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CrawlerMetrics' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cmLastRuntimeSeconds' - The duration of the crawler's most recent run, in seconds.------ * 'cmTablesCreated' - A list of the tables created by this crawler.------ * 'cmStillEstimating' - True if the crawler is estimating its------ * 'cmMedianRuntimeSeconds' - The median duration of this crawler's runs, in seconds.------ * 'cmTimeLeftSeconds' - The estimated time left to complete a running crawl.------ * 'cmTablesDeleted' - A list of the tables deleted by this crawler.------ * 'cmTablesUpdated' - A list of the tables created by this crawler.------ * 'cmCrawlerName' - The name of the crawler.-crawlerMetrics-    :: CrawlerMetrics-crawlerMetrics =-  CrawlerMetrics'-  { _cmLastRuntimeSeconds = Nothing-  , _cmTablesCreated = Nothing-  , _cmStillEstimating = Nothing-  , _cmMedianRuntimeSeconds = Nothing-  , _cmTimeLeftSeconds = Nothing-  , _cmTablesDeleted = Nothing-  , _cmTablesUpdated = Nothing-  , _cmCrawlerName = Nothing-  }----- | The duration of the crawler's most recent run, in seconds.-cmLastRuntimeSeconds :: Lens' CrawlerMetrics (Maybe Double)-cmLastRuntimeSeconds = lens _cmLastRuntimeSeconds (\ s a -> s{_cmLastRuntimeSeconds = a});---- | A list of the tables created by this crawler.-cmTablesCreated :: Lens' CrawlerMetrics (Maybe Natural)-cmTablesCreated = lens _cmTablesCreated (\ s a -> s{_cmTablesCreated = a}) . mapping _Nat;---- | True if the crawler is estimating its-cmStillEstimating :: Lens' CrawlerMetrics (Maybe Bool)-cmStillEstimating = lens _cmStillEstimating (\ s a -> s{_cmStillEstimating = a});---- | The median duration of this crawler's runs, in seconds.-cmMedianRuntimeSeconds :: Lens' CrawlerMetrics (Maybe Double)-cmMedianRuntimeSeconds = lens _cmMedianRuntimeSeconds (\ s a -> s{_cmMedianRuntimeSeconds = a});---- | The estimated time left to complete a running crawl.-cmTimeLeftSeconds :: Lens' CrawlerMetrics (Maybe Double)-cmTimeLeftSeconds = lens _cmTimeLeftSeconds (\ s a -> s{_cmTimeLeftSeconds = a});---- | A list of the tables deleted by this crawler.-cmTablesDeleted :: Lens' CrawlerMetrics (Maybe Natural)-cmTablesDeleted = lens _cmTablesDeleted (\ s a -> s{_cmTablesDeleted = a}) . mapping _Nat;---- | A list of the tables created by this crawler.-cmTablesUpdated :: Lens' CrawlerMetrics (Maybe Natural)-cmTablesUpdated = lens _cmTablesUpdated (\ s a -> s{_cmTablesUpdated = a}) . mapping _Nat;---- | The name of the crawler.-cmCrawlerName :: Lens' CrawlerMetrics (Maybe Text)-cmCrawlerName = lens _cmCrawlerName (\ s a -> s{_cmCrawlerName = a});--instance FromJSON CrawlerMetrics where-        parseJSON-          = withObject "CrawlerMetrics"-              (\ x ->-                 CrawlerMetrics' <$>-                   (x .:? "LastRuntimeSeconds") <*>-                     (x .:? "TablesCreated")-                     <*> (x .:? "StillEstimating")-                     <*> (x .:? "MedianRuntimeSeconds")-                     <*> (x .:? "TimeLeftSeconds")-                     <*> (x .:? "TablesDeleted")-                     <*> (x .:? "TablesUpdated")-                     <*> (x .:? "CrawlerName"))--instance Hashable CrawlerMetrics where--instance NFData CrawlerMetrics where---- | Specifies crawler targets.------------ /See:/ 'crawlerTargets' smart constructor.-data CrawlerTargets = CrawlerTargets'-  { _ctS3Targets   :: !(Maybe [S3Target])-  , _ctJdbcTargets :: !(Maybe [JdbcTarget])-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CrawlerTargets' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ctS3Targets' - Specifies targets in AWS S3.------ * 'ctJdbcTargets' - Specifies JDBC targets.-crawlerTargets-    :: CrawlerTargets-crawlerTargets =-  CrawlerTargets' {_ctS3Targets = Nothing, _ctJdbcTargets = Nothing}----- | Specifies targets in AWS S3.-ctS3Targets :: Lens' CrawlerTargets [S3Target]-ctS3Targets = lens _ctS3Targets (\ s a -> s{_ctS3Targets = a}) . _Default . _Coerce;---- | Specifies JDBC targets.-ctJdbcTargets :: Lens' CrawlerTargets [JdbcTarget]-ctJdbcTargets = lens _ctJdbcTargets (\ s a -> s{_ctJdbcTargets = a}) . _Default . _Coerce;--instance FromJSON CrawlerTargets where-        parseJSON-          = withObject "CrawlerTargets"-              (\ x ->-                 CrawlerTargets' <$>-                   (x .:? "S3Targets" .!= mempty) <*>-                     (x .:? "JdbcTargets" .!= mempty))--instance Hashable CrawlerTargets where--instance NFData CrawlerTargets where--instance ToJSON CrawlerTargets where-        toJSON CrawlerTargets'{..}-          = object-              (catMaybes-                 [("S3Targets" .=) <$> _ctS3Targets,-                  ("JdbcTargets" .=) <$> _ctJdbcTargets])---- | Specifies a Grok classifier for CreateClassifier to create.------------ /See:/ 'createGrokClassifierRequest' smart constructor.-data CreateGrokClassifierRequest = CreateGrokClassifierRequest'-  { _cgcrCustomPatterns :: !(Maybe Text)-  , _cgcrClassification :: !Text-  , _cgcrName           :: !Text-  , _cgcrGrokPattern    :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateGrokClassifierRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cgcrCustomPatterns' - Custom grok patterns used by this classifier.------ * 'cgcrClassification' - The type of result that the classifier matches, such as Twitter Json, Omniture logs, Cloudwatch logs, and so forth.------ * 'cgcrName' - The name of the new Classifier.------ * 'cgcrGrokPattern' - The grok pattern used by this classifier.-createGrokClassifierRequest-    :: Text -- ^ 'cgcrClassification'-    -> Text -- ^ 'cgcrName'-    -> Text -- ^ 'cgcrGrokPattern'-    -> CreateGrokClassifierRequest-createGrokClassifierRequest pClassification_ pName_ pGrokPattern_ =-  CreateGrokClassifierRequest'-  { _cgcrCustomPatterns = Nothing-  , _cgcrClassification = pClassification_-  , _cgcrName = pName_-  , _cgcrGrokPattern = pGrokPattern_-  }----- | Custom grok patterns used by this classifier.-cgcrCustomPatterns :: Lens' CreateGrokClassifierRequest (Maybe Text)-cgcrCustomPatterns = lens _cgcrCustomPatterns (\ s a -> s{_cgcrCustomPatterns = a});---- | The type of result that the classifier matches, such as Twitter Json, Omniture logs, Cloudwatch logs, and so forth.-cgcrClassification :: Lens' CreateGrokClassifierRequest Text-cgcrClassification = lens _cgcrClassification (\ s a -> s{_cgcrClassification = a});---- | The name of the new Classifier.-cgcrName :: Lens' CreateGrokClassifierRequest Text-cgcrName = lens _cgcrName (\ s a -> s{_cgcrName = a});---- | The grok pattern used by this classifier.-cgcrGrokPattern :: Lens' CreateGrokClassifierRequest Text-cgcrGrokPattern = lens _cgcrGrokPattern (\ s a -> s{_cgcrGrokPattern = a});--instance Hashable CreateGrokClassifierRequest where--instance NFData CreateGrokClassifierRequest where--instance ToJSON CreateGrokClassifierRequest where-        toJSON CreateGrokClassifierRequest'{..}-          = object-              (catMaybes-                 [("CustomPatterns" .=) <$> _cgcrCustomPatterns,-                  Just ("Classification" .= _cgcrClassification),-                  Just ("Name" .= _cgcrName),-                  Just ("GrokPattern" .= _cgcrGrokPattern)])---- | The @Database@ object represents a logical grouping of tables that may reside in a Hive metastore or an RDBMS.------------ /See:/ 'database' smart constructor.-data Database = Database'-  { _dLocationURI :: !(Maybe Text)-  , _dParameters  :: !(Maybe (Map Text Text))-  , _dDescription :: !(Maybe Text)-  , _dCreateTime  :: !(Maybe POSIX)-  , _dName        :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Database' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dLocationURI' - The location of the database (for example, an HDFS path).------ * 'dParameters' - A list of key-value pairs that define parameters and properties of the database.------ * 'dDescription' - Description of the database.------ * 'dCreateTime' - The time at which the metadata database was created in the catalog.------ * 'dName' - Name of the database.-database-    :: Text -- ^ 'dName'-    -> Database-database pName_ =-  Database'-  { _dLocationURI = Nothing-  , _dParameters = Nothing-  , _dDescription = Nothing-  , _dCreateTime = Nothing-  , _dName = pName_-  }----- | The location of the database (for example, an HDFS path).-dLocationURI :: Lens' Database (Maybe Text)-dLocationURI = lens _dLocationURI (\ s a -> s{_dLocationURI = a});---- | A list of key-value pairs that define parameters and properties of the database.-dParameters :: Lens' Database (HashMap Text Text)-dParameters = lens _dParameters (\ s a -> s{_dParameters = a}) . _Default . _Map;---- | Description of the database.-dDescription :: Lens' Database (Maybe Text)-dDescription = lens _dDescription (\ s a -> s{_dDescription = a});---- | The time at which the metadata database was created in the catalog.-dCreateTime :: Lens' Database (Maybe UTCTime)-dCreateTime = lens _dCreateTime (\ s a -> s{_dCreateTime = a}) . mapping _Time;---- | Name of the database.-dName :: Lens' Database Text-dName = lens _dName (\ s a -> s{_dName = a});--instance FromJSON Database where-        parseJSON-          = withObject "Database"-              (\ x ->-                 Database' <$>-                   (x .:? "LocationUri") <*>-                     (x .:? "Parameters" .!= mempty)-                     <*> (x .:? "Description")-                     <*> (x .:? "CreateTime")-                     <*> (x .: "Name"))--instance Hashable Database where--instance NFData Database where---- | The structure used to create or updata a database.------------ /See:/ 'databaseInput' smart constructor.-data DatabaseInput = DatabaseInput'-  { _diLocationURI :: !(Maybe Text)-  , _diParameters  :: !(Maybe (Map Text Text))-  , _diDescription :: !(Maybe Text)-  , _diName        :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DatabaseInput' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'diLocationURI' - The location of the database (for example, an HDFS path).------ * 'diParameters' - A list of key-value pairs that define parameters and properties of the database.------ * 'diDescription' - Description of the database------ * 'diName' - Name of the database.-databaseInput-    :: Text -- ^ 'diName'-    -> DatabaseInput-databaseInput pName_ =-  DatabaseInput'-  { _diLocationURI = Nothing-  , _diParameters = Nothing-  , _diDescription = Nothing-  , _diName = pName_-  }----- | The location of the database (for example, an HDFS path).-diLocationURI :: Lens' DatabaseInput (Maybe Text)-diLocationURI = lens _diLocationURI (\ s a -> s{_diLocationURI = a});---- | A list of key-value pairs that define parameters and properties of the database.-diParameters :: Lens' DatabaseInput (HashMap Text Text)-diParameters = lens _diParameters (\ s a -> s{_diParameters = a}) . _Default . _Map;---- | Description of the database-diDescription :: Lens' DatabaseInput (Maybe Text)-diDescription = lens _diDescription (\ s a -> s{_diDescription = a});---- | Name of the database.-diName :: Lens' DatabaseInput Text-diName = lens _diName (\ s a -> s{_diName = a});--instance Hashable DatabaseInput where--instance NFData DatabaseInput where--instance ToJSON DatabaseInput where-        toJSON DatabaseInput'{..}-          = object-              (catMaybes-                 [("LocationUri" .=) <$> _diLocationURI,-                  ("Parameters" .=) <$> _diParameters,-                  ("Description" .=) <$> _diDescription,-                  Just ("Name" .= _diName)])---- | A development endpoint where a developer can remotely debug ETL scripts.------------ /See:/ 'devEndpoint' smart constructor.-data DevEndpoint = DevEndpoint'-  { _deStatus                             :: !(Maybe Text)-  , _deFailureReason                      :: !(Maybe Text)-  , _deEndpointName                       :: !(Maybe Text)-  , _deExtraPythonLibsS3Path              :: !(Maybe Text)-  , _deLastUpdateStatus                   :: !(Maybe Text)-  , _deSecurityGroupIds                   :: !(Maybe [Text])-  , _deLastModifiedTimestamp              :: !(Maybe POSIX)-  , _deVPCId                              :: !(Maybe Text)-  , _dePublicKey                          :: !(Maybe Text)-  , _deSubnetId                           :: !(Maybe Text)-  , _deNumberOfNodes                      :: !(Maybe Int)-  , _dePublicAddress                      :: !(Maybe Text)-  , _deAvailabilityZone                   :: !(Maybe Text)-  , _deZeppelinRemoteSparkInterpreterPort :: !(Maybe Int)-  , _deExtraJARsS3Path                    :: !(Maybe Text)-  , _deCreatedTimestamp                   :: !(Maybe POSIX)-  , _deYarnEndpointAddress                :: !(Maybe Text)-  , _deRoleARN                            :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DevEndpoint' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'deStatus' - The current status of this DevEndpoint.------ * 'deFailureReason' - The reason for a current failure in this DevEndpoint.------ * 'deEndpointName' - The name of the DevEndpoint.------ * 'deExtraPythonLibsS3Path' - Path(s) to one or more Python libraries in an S3 bucket that should be loaded in your DevEndpoint. Multiple values must be complete paths separated by a comma. Please note that only pure Python libraries can currently be used on a DevEndpoint. Libraries that rely on C extensions, such as the <http://pandas.pydata.org/ pandas> Python data analysis library, are not yet supported.------ * 'deLastUpdateStatus' - The status of the last update.------ * 'deSecurityGroupIds' - A list of security group identifiers used in this DevEndpoint.------ * 'deLastModifiedTimestamp' - The point in time at which this DevEndpoint was last modified.------ * 'deVPCId' - The ID of the virtual private cloud (VPC) used by this DevEndpoint.------ * 'dePublicKey' - The public key to be used by this DevEndpoint for authentication.------ * 'deSubnetId' - The subnet ID for this DevEndpoint.------ * 'deNumberOfNodes' - The number of AWS Glue Data Processing Units (DPUs) allocated to this DevEndpoint.------ * 'dePublicAddress' - The public address used by this DevEndpoint.------ * 'deAvailabilityZone' - The AWS availability zone where this DevEndpoint is located.------ * 'deZeppelinRemoteSparkInterpreterPort' - The Apache Zeppelin port for the remote Apache Spark interpreter.------ * 'deExtraJARsS3Path' - Path to one or more Java Jars in an S3 bucket that should be loaded in your DevEndpoint. Please note that only pure Java/Scala libraries can currently be used on a DevEndpoint.------ * 'deCreatedTimestamp' - The point in time at which this DevEndpoint was created.------ * 'deYarnEndpointAddress' - The YARN endpoint address used by this DevEndpoint.------ * 'deRoleARN' - The AWS ARN of the IAM role used in this DevEndpoint.-devEndpoint-    :: DevEndpoint-devEndpoint =-  DevEndpoint'-  { _deStatus = Nothing-  , _deFailureReason = Nothing-  , _deEndpointName = Nothing-  , _deExtraPythonLibsS3Path = Nothing-  , _deLastUpdateStatus = Nothing-  , _deSecurityGroupIds = Nothing-  , _deLastModifiedTimestamp = Nothing-  , _deVPCId = Nothing-  , _dePublicKey = Nothing-  , _deSubnetId = Nothing-  , _deNumberOfNodes = Nothing-  , _dePublicAddress = Nothing-  , _deAvailabilityZone = Nothing-  , _deZeppelinRemoteSparkInterpreterPort = Nothing-  , _deExtraJARsS3Path = Nothing-  , _deCreatedTimestamp = Nothing-  , _deYarnEndpointAddress = Nothing-  , _deRoleARN = Nothing-  }----- | The current status of this DevEndpoint.-deStatus :: Lens' DevEndpoint (Maybe Text)-deStatus = lens _deStatus (\ s a -> s{_deStatus = a});---- | The reason for a current failure in this DevEndpoint.-deFailureReason :: Lens' DevEndpoint (Maybe Text)-deFailureReason = lens _deFailureReason (\ s a -> s{_deFailureReason = a});---- | The name of the DevEndpoint.-deEndpointName :: Lens' DevEndpoint (Maybe Text)-deEndpointName = lens _deEndpointName (\ s a -> s{_deEndpointName = a});---- | Path(s) to one or more Python libraries in an S3 bucket that should be loaded in your DevEndpoint. Multiple values must be complete paths separated by a comma. Please note that only pure Python libraries can currently be used on a DevEndpoint. Libraries that rely on C extensions, such as the <http://pandas.pydata.org/ pandas> Python data analysis library, are not yet supported.-deExtraPythonLibsS3Path :: Lens' DevEndpoint (Maybe Text)-deExtraPythonLibsS3Path = lens _deExtraPythonLibsS3Path (\ s a -> s{_deExtraPythonLibsS3Path = a});---- | The status of the last update.-deLastUpdateStatus :: Lens' DevEndpoint (Maybe Text)-deLastUpdateStatus = lens _deLastUpdateStatus (\ s a -> s{_deLastUpdateStatus = a});---- | A list of security group identifiers used in this DevEndpoint.-deSecurityGroupIds :: Lens' DevEndpoint [Text]-deSecurityGroupIds = lens _deSecurityGroupIds (\ s a -> s{_deSecurityGroupIds = a}) . _Default . _Coerce;---- | The point in time at which this DevEndpoint was last modified.-deLastModifiedTimestamp :: Lens' DevEndpoint (Maybe UTCTime)-deLastModifiedTimestamp = lens _deLastModifiedTimestamp (\ s a -> s{_deLastModifiedTimestamp = a}) . mapping _Time;---- | The ID of the virtual private cloud (VPC) used by this DevEndpoint.-deVPCId :: Lens' DevEndpoint (Maybe Text)-deVPCId = lens _deVPCId (\ s a -> s{_deVPCId = a});---- | The public key to be used by this DevEndpoint for authentication.-dePublicKey :: Lens' DevEndpoint (Maybe Text)-dePublicKey = lens _dePublicKey (\ s a -> s{_dePublicKey = a});---- | The subnet ID for this DevEndpoint.-deSubnetId :: Lens' DevEndpoint (Maybe Text)-deSubnetId = lens _deSubnetId (\ s a -> s{_deSubnetId = a});---- | The number of AWS Glue Data Processing Units (DPUs) allocated to this DevEndpoint.-deNumberOfNodes :: Lens' DevEndpoint (Maybe Int)-deNumberOfNodes = lens _deNumberOfNodes (\ s a -> s{_deNumberOfNodes = a});---- | The public address used by this DevEndpoint.-dePublicAddress :: Lens' DevEndpoint (Maybe Text)-dePublicAddress = lens _dePublicAddress (\ s a -> s{_dePublicAddress = a});---- | The AWS availability zone where this DevEndpoint is located.-deAvailabilityZone :: Lens' DevEndpoint (Maybe Text)-deAvailabilityZone = lens _deAvailabilityZone (\ s a -> s{_deAvailabilityZone = a});---- | The Apache Zeppelin port for the remote Apache Spark interpreter.-deZeppelinRemoteSparkInterpreterPort :: Lens' DevEndpoint (Maybe Int)-deZeppelinRemoteSparkInterpreterPort = lens _deZeppelinRemoteSparkInterpreterPort (\ s a -> s{_deZeppelinRemoteSparkInterpreterPort = a});---- | Path to one or more Java Jars in an S3 bucket that should be loaded in your DevEndpoint. Please note that only pure Java/Scala libraries can currently be used on a DevEndpoint.-deExtraJARsS3Path :: Lens' DevEndpoint (Maybe Text)-deExtraJARsS3Path = lens _deExtraJARsS3Path (\ s a -> s{_deExtraJARsS3Path = a});---- | The point in time at which this DevEndpoint was created.-deCreatedTimestamp :: Lens' DevEndpoint (Maybe UTCTime)-deCreatedTimestamp = lens _deCreatedTimestamp (\ s a -> s{_deCreatedTimestamp = a}) . mapping _Time;---- | The YARN endpoint address used by this DevEndpoint.-deYarnEndpointAddress :: Lens' DevEndpoint (Maybe Text)-deYarnEndpointAddress = lens _deYarnEndpointAddress (\ s a -> s{_deYarnEndpointAddress = a});---- | The AWS ARN of the IAM role used in this DevEndpoint.-deRoleARN :: Lens' DevEndpoint (Maybe Text)-deRoleARN = lens _deRoleARN (\ s a -> s{_deRoleARN = a});--instance FromJSON DevEndpoint where-        parseJSON-          = withObject "DevEndpoint"-              (\ x ->-                 DevEndpoint' <$>-                   (x .:? "Status") <*> (x .:? "FailureReason") <*>-                     (x .:? "EndpointName")-                     <*> (x .:? "ExtraPythonLibsS3Path")-                     <*> (x .:? "LastUpdateStatus")-                     <*> (x .:? "SecurityGroupIds" .!= mempty)-                     <*> (x .:? "LastModifiedTimestamp")-                     <*> (x .:? "VpcId")-                     <*> (x .:? "PublicKey")-                     <*> (x .:? "SubnetId")-                     <*> (x .:? "NumberOfNodes")-                     <*> (x .:? "PublicAddress")-                     <*> (x .:? "AvailabilityZone")-                     <*> (x .:? "ZeppelinRemoteSparkInterpreterPort")-                     <*> (x .:? "ExtraJarsS3Path")-                     <*> (x .:? "CreatedTimestamp")-                     <*> (x .:? "YarnEndpointAddress")-                     <*> (x .:? "RoleArn"))--instance Hashable DevEndpoint where--instance NFData DevEndpoint where---- | Custom libraries to be loaded into a DevEndpoint.------------ /See:/ 'devEndpointCustomLibraries' smart constructor.-data DevEndpointCustomLibraries = DevEndpointCustomLibraries'-  { _declExtraPythonLibsS3Path :: !(Maybe Text)-  , _declExtraJARsS3Path       :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DevEndpointCustomLibraries' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'declExtraPythonLibsS3Path' - Path(s) to one or more Python libraries in an S3 bucket that should be loaded in your DevEndpoint. Multiple values must be complete paths separated by a comma. Please note that only pure Python libraries can currently be used on a DevEndpoint. Libraries that rely on C extensions, such as the <http://pandas.pydata.org/ pandas> Python data analysis library, are not yet supported.------ * 'declExtraJARsS3Path' - Path to one or more Java Jars in an S3 bucket that should be loaded in your DevEndpoint. Please note that only pure Java/Scala libraries can currently be used on a DevEndpoint.-devEndpointCustomLibraries-    :: DevEndpointCustomLibraries-devEndpointCustomLibraries =-  DevEndpointCustomLibraries'-  {_declExtraPythonLibsS3Path = Nothing, _declExtraJARsS3Path = Nothing}----- | Path(s) to one or more Python libraries in an S3 bucket that should be loaded in your DevEndpoint. Multiple values must be complete paths separated by a comma. Please note that only pure Python libraries can currently be used on a DevEndpoint. Libraries that rely on C extensions, such as the <http://pandas.pydata.org/ pandas> Python data analysis library, are not yet supported.-declExtraPythonLibsS3Path :: Lens' DevEndpointCustomLibraries (Maybe Text)-declExtraPythonLibsS3Path = lens _declExtraPythonLibsS3Path (\ s a -> s{_declExtraPythonLibsS3Path = a});---- | Path to one or more Java Jars in an S3 bucket that should be loaded in your DevEndpoint. Please note that only pure Java/Scala libraries can currently be used on a DevEndpoint.-declExtraJARsS3Path :: Lens' DevEndpointCustomLibraries (Maybe Text)-declExtraJARsS3Path = lens _declExtraJARsS3Path (\ s a -> s{_declExtraJARsS3Path = a});--instance Hashable DevEndpointCustomLibraries where--instance NFData DevEndpointCustomLibraries where--instance ToJSON DevEndpointCustomLibraries where-        toJSON DevEndpointCustomLibraries'{..}-          = object-              (catMaybes-                 [("ExtraPythonLibsS3Path" .=) <$>-                    _declExtraPythonLibsS3Path,-                  ("ExtraJarsS3Path" .=) <$> _declExtraJARsS3Path])---- | Contains details about an error.------------ /See:/ 'errorDetail' smart constructor.-data ErrorDetail = ErrorDetail'-  { _edErrorCode    :: !(Maybe Text)-  , _edErrorMessage :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ErrorDetail' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'edErrorCode' - The code associated with this error.------ * 'edErrorMessage' - A message describing the error.-errorDetail-    :: ErrorDetail-errorDetail = ErrorDetail' {_edErrorCode = Nothing, _edErrorMessage = Nothing}----- | The code associated with this error.-edErrorCode :: Lens' ErrorDetail (Maybe Text)-edErrorCode = lens _edErrorCode (\ s a -> s{_edErrorCode = a});---- | A message describing the error.-edErrorMessage :: Lens' ErrorDetail (Maybe Text)-edErrorMessage = lens _edErrorMessage (\ s a -> s{_edErrorMessage = a});--instance FromJSON ErrorDetail where-        parseJSON-          = withObject "ErrorDetail"-              (\ x ->-                 ErrorDetail' <$>-                   (x .:? "ErrorCode") <*> (x .:? "ErrorMessage"))--instance Hashable ErrorDetail where--instance NFData ErrorDetail where---- | An execution property of a job.------------ /See:/ 'executionProperty' smart constructor.-newtype ExecutionProperty = ExecutionProperty'-  { _epMaxConcurrentRuns :: Maybe Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ExecutionProperty' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'epMaxConcurrentRuns' - The maximum number of concurrent runs allowed for a job.-executionProperty-    :: ExecutionProperty-executionProperty = ExecutionProperty' {_epMaxConcurrentRuns = Nothing}----- | The maximum number of concurrent runs allowed for a job.-epMaxConcurrentRuns :: Lens' ExecutionProperty (Maybe Int)-epMaxConcurrentRuns = lens _epMaxConcurrentRuns (\ s a -> s{_epMaxConcurrentRuns = a});--instance FromJSON ExecutionProperty where-        parseJSON-          = withObject "ExecutionProperty"-              (\ x ->-                 ExecutionProperty' <$> (x .:? "MaxConcurrentRuns"))--instance Hashable ExecutionProperty where--instance NFData ExecutionProperty where--instance ToJSON ExecutionProperty where-        toJSON ExecutionProperty'{..}-          = object-              (catMaybes-                 [("MaxConcurrentRuns" .=) <$> _epMaxConcurrentRuns])---- | Filters the connection definitions returned by the @GetConnections@ API.------------ /See:/ 'getConnectionsFilter' smart constructor.-data GetConnectionsFilter = GetConnectionsFilter'-  { _gcfMatchCriteria  :: !(Maybe [Text])-  , _gcfConnectionType :: !(Maybe ConnectionType)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetConnectionsFilter' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gcfMatchCriteria' - A criteria string that must match the criteria recorded in the connection definition for that connection definition to be returned.------ * 'gcfConnectionType' - The type of connections to return. Currently, only JDBC is supported; SFTP is not supported.-getConnectionsFilter-    :: GetConnectionsFilter-getConnectionsFilter =-  GetConnectionsFilter'-  {_gcfMatchCriteria = Nothing, _gcfConnectionType = Nothing}----- | A criteria string that must match the criteria recorded in the connection definition for that connection definition to be returned.-gcfMatchCriteria :: Lens' GetConnectionsFilter [Text]-gcfMatchCriteria = lens _gcfMatchCriteria (\ s a -> s{_gcfMatchCriteria = a}) . _Default . _Coerce;---- | The type of connections to return. Currently, only JDBC is supported; SFTP is not supported.-gcfConnectionType :: Lens' GetConnectionsFilter (Maybe ConnectionType)-gcfConnectionType = lens _gcfConnectionType (\ s a -> s{_gcfConnectionType = a});--instance Hashable GetConnectionsFilter where--instance NFData GetConnectionsFilter where--instance ToJSON GetConnectionsFilter where-        toJSON GetConnectionsFilter'{..}-          = object-              (catMaybes-                 [("MatchCriteria" .=) <$> _gcfMatchCriteria,-                  ("ConnectionType" .=) <$> _gcfConnectionType])---- | A classifier that uses @grok@ .------------ /See:/ 'grokClassifier' smart constructor.-data GrokClassifier = GrokClassifier'-  { _gcCreationTime   :: !(Maybe POSIX)-  , _gcLastUpdated    :: !(Maybe POSIX)-  , _gcVersion        :: !(Maybe Integer)-  , _gcCustomPatterns :: !(Maybe Text)-  , _gcName           :: !Text-  , _gcClassification :: !Text-  , _gcGrokPattern    :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GrokClassifier' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gcCreationTime' - The time this classifier was registered.------ * 'gcLastUpdated' - The time this classifier was last updated.------ * 'gcVersion' - The version of this classifier.------ * 'gcCustomPatterns' - Custom grok patterns used by this classifier.------ * 'gcName' - The name of the classifier.------ * 'gcClassification' - The data form that the classifier matches, such as Twitter, JSON, Omniture Logs, and so forth.------ * 'gcGrokPattern' - The grok pattern used by this classifier.-grokClassifier-    :: Text -- ^ 'gcName'-    -> Text -- ^ 'gcClassification'-    -> Text -- ^ 'gcGrokPattern'-    -> GrokClassifier-grokClassifier pName_ pClassification_ pGrokPattern_ =-  GrokClassifier'-  { _gcCreationTime = Nothing-  , _gcLastUpdated = Nothing-  , _gcVersion = Nothing-  , _gcCustomPatterns = Nothing-  , _gcName = pName_-  , _gcClassification = pClassification_-  , _gcGrokPattern = pGrokPattern_-  }----- | The time this classifier was registered.-gcCreationTime :: Lens' GrokClassifier (Maybe UTCTime)-gcCreationTime = lens _gcCreationTime (\ s a -> s{_gcCreationTime = a}) . mapping _Time;---- | The time this classifier was last updated.-gcLastUpdated :: Lens' GrokClassifier (Maybe UTCTime)-gcLastUpdated = lens _gcLastUpdated (\ s a -> s{_gcLastUpdated = a}) . mapping _Time;---- | The version of this classifier.-gcVersion :: Lens' GrokClassifier (Maybe Integer)-gcVersion = lens _gcVersion (\ s a -> s{_gcVersion = a});---- | Custom grok patterns used by this classifier.-gcCustomPatterns :: Lens' GrokClassifier (Maybe Text)-gcCustomPatterns = lens _gcCustomPatterns (\ s a -> s{_gcCustomPatterns = a});---- | The name of the classifier.-gcName :: Lens' GrokClassifier Text-gcName = lens _gcName (\ s a -> s{_gcName = a});---- | The data form that the classifier matches, such as Twitter, JSON, Omniture Logs, and so forth.-gcClassification :: Lens' GrokClassifier Text-gcClassification = lens _gcClassification (\ s a -> s{_gcClassification = a});---- | The grok pattern used by this classifier.-gcGrokPattern :: Lens' GrokClassifier Text-gcGrokPattern = lens _gcGrokPattern (\ s a -> s{_gcGrokPattern = a});--instance FromJSON GrokClassifier where-        parseJSON-          = withObject "GrokClassifier"-              (\ x ->-                 GrokClassifier' <$>-                   (x .:? "CreationTime") <*> (x .:? "LastUpdated") <*>-                     (x .:? "Version")-                     <*> (x .:? "CustomPatterns")-                     <*> (x .: "Name")-                     <*> (x .: "Classification")-                     <*> (x .: "GrokPattern"))--instance Hashable GrokClassifier where--instance NFData GrokClassifier where---- | Specifies a JDBC target for a crawl.------------ /See:/ 'jdbcTarget' smart constructor.-data JdbcTarget = JdbcTarget'-  { _jtPath           :: !(Maybe Text)-  , _jtConnectionName :: !(Maybe Text)-  , _jtExclusions     :: !(Maybe [Text])-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'JdbcTarget' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'jtPath' - The path of the JDBC target.------ * 'jtConnectionName' - The name of the connection to use for the JDBC target.------ * 'jtExclusions' - A list of items to exclude from the crawl.-jdbcTarget-    :: JdbcTarget-jdbcTarget =-  JdbcTarget'-  {_jtPath = Nothing, _jtConnectionName = Nothing, _jtExclusions = Nothing}----- | The path of the JDBC target.-jtPath :: Lens' JdbcTarget (Maybe Text)-jtPath = lens _jtPath (\ s a -> s{_jtPath = a});---- | The name of the connection to use for the JDBC target.-jtConnectionName :: Lens' JdbcTarget (Maybe Text)-jtConnectionName = lens _jtConnectionName (\ s a -> s{_jtConnectionName = a});---- | A list of items to exclude from the crawl.-jtExclusions :: Lens' JdbcTarget [Text]-jtExclusions = lens _jtExclusions (\ s a -> s{_jtExclusions = a}) . _Default . _Coerce;--instance FromJSON JdbcTarget where-        parseJSON-          = withObject "JdbcTarget"-              (\ x ->-                 JdbcTarget' <$>-                   (x .:? "Path") <*> (x .:? "ConnectionName") <*>-                     (x .:? "Exclusions" .!= mempty))--instance Hashable JdbcTarget where--instance NFData JdbcTarget where--instance ToJSON JdbcTarget where-        toJSON JdbcTarget'{..}-          = object-              (catMaybes-                 [("Path" .=) <$> _jtPath,-                  ("ConnectionName" .=) <$> _jtConnectionName,-                  ("Exclusions" .=) <$> _jtExclusions])---- | Specifies a job in the Data Catalog.------------ /See:/ 'job' smart constructor.-data Job = Job'-  { _jCommand           :: !(Maybe JobCommand)-  , _jLastModifiedOn    :: !(Maybe POSIX)-  , _jConnections       :: !(Maybe ConnectionsList)-  , _jRole              :: !(Maybe Text)-  , _jName              :: !(Maybe Text)-  , _jLogURI            :: !(Maybe Text)-  , _jMaxRetries        :: !(Maybe Int)-  , _jExecutionProperty :: !(Maybe ExecutionProperty)-  , _jAllocatedCapacity :: !(Maybe Int)-  , _jDefaultArguments  :: !(Maybe (Map Text Text))-  , _jDescription       :: !(Maybe Text)-  , _jCreatedOn         :: !(Maybe POSIX)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Job' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'jCommand' - The JobCommand that executes this job.------ * 'jLastModifiedOn' - The last point in time when this job specification was modified.------ * 'jConnections' - The connections used for this job.------ * 'jRole' - The role associated with this job.------ * 'jName' - The name you assign to this job.------ * 'jLogURI' - This field is reserved for future use.------ * 'jMaxRetries' - The maximum number of times to retry this job if it fails.------ * 'jExecutionProperty' - An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.------ * 'jAllocatedCapacity' - The number of capacity units allocated to this job.------ * 'jDefaultArguments' - The default parameters for this job.------ * 'jDescription' - Description of this job.------ * 'jCreatedOn' - The time and date that this job specification was created.-job-    :: Job-job =-  Job'-  { _jCommand = Nothing-  , _jLastModifiedOn = Nothing-  , _jConnections = Nothing-  , _jRole = Nothing-  , _jName = Nothing-  , _jLogURI = Nothing-  , _jMaxRetries = Nothing-  , _jExecutionProperty = Nothing-  , _jAllocatedCapacity = Nothing-  , _jDefaultArguments = Nothing-  , _jDescription = Nothing-  , _jCreatedOn = Nothing-  }----- | The JobCommand that executes this job.-jCommand :: Lens' Job (Maybe JobCommand)-jCommand = lens _jCommand (\ s a -> s{_jCommand = a});---- | The last point in time when this job specification was modified.-jLastModifiedOn :: Lens' Job (Maybe UTCTime)-jLastModifiedOn = lens _jLastModifiedOn (\ s a -> s{_jLastModifiedOn = a}) . mapping _Time;---- | The connections used for this job.-jConnections :: Lens' Job (Maybe ConnectionsList)-jConnections = lens _jConnections (\ s a -> s{_jConnections = a});---- | The role associated with this job.-jRole :: Lens' Job (Maybe Text)-jRole = lens _jRole (\ s a -> s{_jRole = a});---- | The name you assign to this job.-jName :: Lens' Job (Maybe Text)-jName = lens _jName (\ s a -> s{_jName = a});---- | This field is reserved for future use.-jLogURI :: Lens' Job (Maybe Text)-jLogURI = lens _jLogURI (\ s a -> s{_jLogURI = a});---- | The maximum number of times to retry this job if it fails.-jMaxRetries :: Lens' Job (Maybe Int)-jMaxRetries = lens _jMaxRetries (\ s a -> s{_jMaxRetries = a});---- | An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.-jExecutionProperty :: Lens' Job (Maybe ExecutionProperty)-jExecutionProperty = lens _jExecutionProperty (\ s a -> s{_jExecutionProperty = a});---- | The number of capacity units allocated to this job.-jAllocatedCapacity :: Lens' Job (Maybe Int)-jAllocatedCapacity = lens _jAllocatedCapacity (\ s a -> s{_jAllocatedCapacity = a});---- | The default parameters for this job.-jDefaultArguments :: Lens' Job (HashMap Text Text)-jDefaultArguments = lens _jDefaultArguments (\ s a -> s{_jDefaultArguments = a}) . _Default . _Map;---- | Description of this job.-jDescription :: Lens' Job (Maybe Text)-jDescription = lens _jDescription (\ s a -> s{_jDescription = a});---- | The time and date that this job specification was created.-jCreatedOn :: Lens' Job (Maybe UTCTime)-jCreatedOn = lens _jCreatedOn (\ s a -> s{_jCreatedOn = a}) . mapping _Time;--instance FromJSON Job where-        parseJSON-          = withObject "Job"-              (\ x ->-                 Job' <$>-                   (x .:? "Command") <*> (x .:? "LastModifiedOn") <*>-                     (x .:? "Connections")-                     <*> (x .:? "Role")-                     <*> (x .:? "Name")-                     <*> (x .:? "LogUri")-                     <*> (x .:? "MaxRetries")-                     <*> (x .:? "ExecutionProperty")-                     <*> (x .:? "AllocatedCapacity")-                     <*> (x .:? "DefaultArguments" .!= mempty)-                     <*> (x .:? "Description")-                     <*> (x .:? "CreatedOn"))--instance Hashable Job where--instance NFData Job where---- | Defines a point which a job can resume processing.------------ /See:/ 'jobBookmarkEntry' smart constructor.-data JobBookmarkEntry = JobBookmarkEntry'-  { _jbeJobName     :: !(Maybe Text)-  , _jbeRun         :: !(Maybe Int)-  , _jbeVersion     :: !(Maybe Int)-  , _jbeAttempt     :: !(Maybe Int)-  , _jbeJobBookmark :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'JobBookmarkEntry' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'jbeJobName' - Name of the job in question.------ * 'jbeRun' - The run ID number.------ * 'jbeVersion' - Version of the job.------ * 'jbeAttempt' - The attempt ID number.------ * 'jbeJobBookmark' - The bookmark itself.-jobBookmarkEntry-    :: JobBookmarkEntry-jobBookmarkEntry =-  JobBookmarkEntry'-  { _jbeJobName = Nothing-  , _jbeRun = Nothing-  , _jbeVersion = Nothing-  , _jbeAttempt = Nothing-  , _jbeJobBookmark = Nothing-  }----- | Name of the job in question.-jbeJobName :: Lens' JobBookmarkEntry (Maybe Text)-jbeJobName = lens _jbeJobName (\ s a -> s{_jbeJobName = a});---- | The run ID number.-jbeRun :: Lens' JobBookmarkEntry (Maybe Int)-jbeRun = lens _jbeRun (\ s a -> s{_jbeRun = a});---- | Version of the job.-jbeVersion :: Lens' JobBookmarkEntry (Maybe Int)-jbeVersion = lens _jbeVersion (\ s a -> s{_jbeVersion = a});---- | The attempt ID number.-jbeAttempt :: Lens' JobBookmarkEntry (Maybe Int)-jbeAttempt = lens _jbeAttempt (\ s a -> s{_jbeAttempt = a});---- | The bookmark itself.-jbeJobBookmark :: Lens' JobBookmarkEntry (Maybe Text)-jbeJobBookmark = lens _jbeJobBookmark (\ s a -> s{_jbeJobBookmark = a});--instance FromJSON JobBookmarkEntry where-        parseJSON-          = withObject "JobBookmarkEntry"-              (\ x ->-                 JobBookmarkEntry' <$>-                   (x .:? "JobName") <*> (x .:? "Run") <*>-                     (x .:? "Version")-                     <*> (x .:? "Attempt")-                     <*> (x .:? "JobBookmark"))--instance Hashable JobBookmarkEntry where--instance NFData JobBookmarkEntry where---- | Specifies code that executes a job.------------ /See:/ 'jobCommand' smart constructor.-data JobCommand = JobCommand'-  { _jcScriptLocation :: !(Maybe Text)-  , _jcName           :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'JobCommand' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'jcScriptLocation' - Specifies the location of a script that executes a job.------ * 'jcName' - The name of this job command.-jobCommand-    :: JobCommand-jobCommand = JobCommand' {_jcScriptLocation = Nothing, _jcName = Nothing}----- | Specifies the location of a script that executes a job.-jcScriptLocation :: Lens' JobCommand (Maybe Text)-jcScriptLocation = lens _jcScriptLocation (\ s a -> s{_jcScriptLocation = a});---- | The name of this job command.-jcName :: Lens' JobCommand (Maybe Text)-jcName = lens _jcName (\ s a -> s{_jcName = a});--instance FromJSON JobCommand where-        parseJSON-          = withObject "JobCommand"-              (\ x ->-                 JobCommand' <$>-                   (x .:? "ScriptLocation") <*> (x .:? "Name"))--instance Hashable JobCommand where--instance NFData JobCommand where--instance ToJSON JobCommand where-        toJSON JobCommand'{..}-          = object-              (catMaybes-                 [("ScriptLocation" .=) <$> _jcScriptLocation,-                  ("Name" .=) <$> _jcName])---- | Contains information about a job run.------------ /See:/ 'jobRun' smart constructor.-data JobRun = JobRun'-  { _jrCompletedOn       :: !(Maybe POSIX)-  , _jrTriggerName       :: !(Maybe Text)-  , _jrLastModifiedOn    :: !(Maybe POSIX)-  , _jrArguments         :: !(Maybe (Map Text Text))-  , _jrJobName           :: !(Maybe Text)-  , _jrStartedOn         :: !(Maybe POSIX)-  , _jrJobRunState       :: !(Maybe JobRunState)-  , _jrPredecessorRuns   :: !(Maybe [Predecessor])-  , _jrPreviousRunId     :: !(Maybe Text)-  , _jrId                :: !(Maybe Text)-  , _jrAttempt           :: !(Maybe Int)-  , _jrAllocatedCapacity :: !(Maybe Int)-  , _jrErrorMessage      :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'JobRun' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'jrCompletedOn' - The date and time this job run completed.------ * 'jrTriggerName' - The name of the trigger for this job run.------ * 'jrLastModifiedOn' - The last time this job run was modified.------ * 'jrArguments' - The job arguments associated with this run.------ * 'jrJobName' - The name of the job being run.------ * 'jrStartedOn' - The date and time at which this job run was started.------ * 'jrJobRunState' - The current state of the job run.------ * 'jrPredecessorRuns' - A list of predecessors to this job run.------ * 'jrPreviousRunId' - The ID of the previous run of this job.------ * 'jrId' - The ID of this job run.------ * 'jrAttempt' - The number or the attempt to run this job.------ * 'jrAllocatedCapacity' - The amount of infrastructure capacity allocated to this job run.------ * 'jrErrorMessage' - An error message associated with this job run.-jobRun-    :: JobRun-jobRun =-  JobRun'-  { _jrCompletedOn = Nothing-  , _jrTriggerName = Nothing-  , _jrLastModifiedOn = Nothing-  , _jrArguments = Nothing-  , _jrJobName = Nothing-  , _jrStartedOn = Nothing-  , _jrJobRunState = Nothing-  , _jrPredecessorRuns = Nothing-  , _jrPreviousRunId = Nothing-  , _jrId = Nothing-  , _jrAttempt = Nothing-  , _jrAllocatedCapacity = Nothing-  , _jrErrorMessage = Nothing-  }----- | The date and time this job run completed.-jrCompletedOn :: Lens' JobRun (Maybe UTCTime)-jrCompletedOn = lens _jrCompletedOn (\ s a -> s{_jrCompletedOn = a}) . mapping _Time;---- | The name of the trigger for this job run.-jrTriggerName :: Lens' JobRun (Maybe Text)-jrTriggerName = lens _jrTriggerName (\ s a -> s{_jrTriggerName = a});---- | The last time this job run was modified.-jrLastModifiedOn :: Lens' JobRun (Maybe UTCTime)-jrLastModifiedOn = lens _jrLastModifiedOn (\ s a -> s{_jrLastModifiedOn = a}) . mapping _Time;---- | The job arguments associated with this run.-jrArguments :: Lens' JobRun (HashMap Text Text)-jrArguments = lens _jrArguments (\ s a -> s{_jrArguments = a}) . _Default . _Map;---- | The name of the job being run.-jrJobName :: Lens' JobRun (Maybe Text)-jrJobName = lens _jrJobName (\ s a -> s{_jrJobName = a});---- | The date and time at which this job run was started.-jrStartedOn :: Lens' JobRun (Maybe UTCTime)-jrStartedOn = lens _jrStartedOn (\ s a -> s{_jrStartedOn = a}) . mapping _Time;---- | The current state of the job run.-jrJobRunState :: Lens' JobRun (Maybe JobRunState)-jrJobRunState = lens _jrJobRunState (\ s a -> s{_jrJobRunState = a});---- | A list of predecessors to this job run.-jrPredecessorRuns :: Lens' JobRun [Predecessor]-jrPredecessorRuns = lens _jrPredecessorRuns (\ s a -> s{_jrPredecessorRuns = a}) . _Default . _Coerce;---- | The ID of the previous run of this job.-jrPreviousRunId :: Lens' JobRun (Maybe Text)-jrPreviousRunId = lens _jrPreviousRunId (\ s a -> s{_jrPreviousRunId = a});---- | The ID of this job run.-jrId :: Lens' JobRun (Maybe Text)-jrId = lens _jrId (\ s a -> s{_jrId = a});---- | The number or the attempt to run this job.-jrAttempt :: Lens' JobRun (Maybe Int)-jrAttempt = lens _jrAttempt (\ s a -> s{_jrAttempt = a});---- | The amount of infrastructure capacity allocated to this job run.-jrAllocatedCapacity :: Lens' JobRun (Maybe Int)-jrAllocatedCapacity = lens _jrAllocatedCapacity (\ s a -> s{_jrAllocatedCapacity = a});---- | An error message associated with this job run.-jrErrorMessage :: Lens' JobRun (Maybe Text)-jrErrorMessage = lens _jrErrorMessage (\ s a -> s{_jrErrorMessage = a});--instance FromJSON JobRun where-        parseJSON-          = withObject "JobRun"-              (\ x ->-                 JobRun' <$>-                   (x .:? "CompletedOn") <*> (x .:? "TriggerName") <*>-                     (x .:? "LastModifiedOn")-                     <*> (x .:? "Arguments" .!= mempty)-                     <*> (x .:? "JobName")-                     <*> (x .:? "StartedOn")-                     <*> (x .:? "JobRunState")-                     <*> (x .:? "PredecessorRuns" .!= mempty)-                     <*> (x .:? "PreviousRunId")-                     <*> (x .:? "Id")-                     <*> (x .:? "Attempt")-                     <*> (x .:? "AllocatedCapacity")-                     <*> (x .:? "ErrorMessage"))--instance Hashable JobRun where--instance NFData JobRun where---- | Specifies information used to update an existing job.------------ /See:/ 'jobUpdate' smart constructor.-data JobUpdate = JobUpdate'-  { _juCommand           :: !(Maybe JobCommand)-  , _juConnections       :: !(Maybe ConnectionsList)-  , _juRole              :: !(Maybe Text)-  , _juLogURI            :: !(Maybe Text)-  , _juMaxRetries        :: !(Maybe Int)-  , _juExecutionProperty :: !(Maybe ExecutionProperty)-  , _juAllocatedCapacity :: !(Maybe Int)-  , _juDefaultArguments  :: !(Maybe (Map Text Text))-  , _juDescription       :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'JobUpdate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'juCommand' - The JobCommand that executes this job.------ * 'juConnections' - The connections used for this job.------ * 'juRole' - The role associated with this job.------ * 'juLogURI' - This field is reserved for future use.------ * 'juMaxRetries' - The maximum number of times to retry this job if it fails.------ * 'juExecutionProperty' - An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.------ * 'juAllocatedCapacity' - The number of capacity units allocated to this job.------ * 'juDefaultArguments' - The default parameters for this job.------ * 'juDescription' - Description of the job.-jobUpdate-    :: JobUpdate-jobUpdate =-  JobUpdate'-  { _juCommand = Nothing-  , _juConnections = Nothing-  , _juRole = Nothing-  , _juLogURI = Nothing-  , _juMaxRetries = Nothing-  , _juExecutionProperty = Nothing-  , _juAllocatedCapacity = Nothing-  , _juDefaultArguments = Nothing-  , _juDescription = Nothing-  }----- | The JobCommand that executes this job.-juCommand :: Lens' JobUpdate (Maybe JobCommand)-juCommand = lens _juCommand (\ s a -> s{_juCommand = a});---- | The connections used for this job.-juConnections :: Lens' JobUpdate (Maybe ConnectionsList)-juConnections = lens _juConnections (\ s a -> s{_juConnections = a});---- | The role associated with this job.-juRole :: Lens' JobUpdate (Maybe Text)-juRole = lens _juRole (\ s a -> s{_juRole = a});---- | This field is reserved for future use.-juLogURI :: Lens' JobUpdate (Maybe Text)-juLogURI = lens _juLogURI (\ s a -> s{_juLogURI = a});---- | The maximum number of times to retry this job if it fails.-juMaxRetries :: Lens' JobUpdate (Maybe Int)-juMaxRetries = lens _juMaxRetries (\ s a -> s{_juMaxRetries = a});---- | An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.-juExecutionProperty :: Lens' JobUpdate (Maybe ExecutionProperty)-juExecutionProperty = lens _juExecutionProperty (\ s a -> s{_juExecutionProperty = a});---- | The number of capacity units allocated to this job.-juAllocatedCapacity :: Lens' JobUpdate (Maybe Int)-juAllocatedCapacity = lens _juAllocatedCapacity (\ s a -> s{_juAllocatedCapacity = a});---- | The default parameters for this job.-juDefaultArguments :: Lens' JobUpdate (HashMap Text Text)-juDefaultArguments = lens _juDefaultArguments (\ s a -> s{_juDefaultArguments = a}) . _Default . _Map;---- | Description of the job.-juDescription :: Lens' JobUpdate (Maybe Text)-juDescription = lens _juDescription (\ s a -> s{_juDescription = a});--instance Hashable JobUpdate where--instance NFData JobUpdate where--instance ToJSON JobUpdate where-        toJSON JobUpdate'{..}-          = object-              (catMaybes-                 [("Command" .=) <$> _juCommand,-                  ("Connections" .=) <$> _juConnections,-                  ("Role" .=) <$> _juRole, ("LogUri" .=) <$> _juLogURI,-                  ("MaxRetries" .=) <$> _juMaxRetries,-                  ("ExecutionProperty" .=) <$> _juExecutionProperty,-                  ("AllocatedCapacity" .=) <$> _juAllocatedCapacity,-                  ("DefaultArguments" .=) <$> _juDefaultArguments,-                  ("Description" .=) <$> _juDescription])---- | Status and error information about the most recent crawl.------------ /See:/ 'lastCrawlInfo' smart constructor.-data LastCrawlInfo = LastCrawlInfo'-  { _lciStatus        :: !(Maybe LastCrawlStatus)-  , _lciStartTime     :: !(Maybe POSIX)-  , _lciLogStream     :: !(Maybe Text)-  , _lciLogGroup      :: !(Maybe Text)-  , _lciMessagePrefix :: !(Maybe Text)-  , _lciErrorMessage  :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'LastCrawlInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lciStatus' - Status of the last crawl.------ * 'lciStartTime' - The time at which the crawl started.------ * 'lciLogStream' - The log stream for the last crawl.------ * 'lciLogGroup' - The log group for the last crawl.------ * 'lciMessagePrefix' - The prefix for a message about this crawl.------ * 'lciErrorMessage' - Error information about the last crawl, if an error occurred.-lastCrawlInfo-    :: LastCrawlInfo-lastCrawlInfo =-  LastCrawlInfo'-  { _lciStatus = Nothing-  , _lciStartTime = Nothing-  , _lciLogStream = Nothing-  , _lciLogGroup = Nothing-  , _lciMessagePrefix = Nothing-  , _lciErrorMessage = Nothing-  }----- | Status of the last crawl.-lciStatus :: Lens' LastCrawlInfo (Maybe LastCrawlStatus)-lciStatus = lens _lciStatus (\ s a -> s{_lciStatus = a});---- | The time at which the crawl started.-lciStartTime :: Lens' LastCrawlInfo (Maybe UTCTime)-lciStartTime = lens _lciStartTime (\ s a -> s{_lciStartTime = a}) . mapping _Time;---- | The log stream for the last crawl.-lciLogStream :: Lens' LastCrawlInfo (Maybe Text)-lciLogStream = lens _lciLogStream (\ s a -> s{_lciLogStream = a});---- | The log group for the last crawl.-lciLogGroup :: Lens' LastCrawlInfo (Maybe Text)-lciLogGroup = lens _lciLogGroup (\ s a -> s{_lciLogGroup = a});---- | The prefix for a message about this crawl.-lciMessagePrefix :: Lens' LastCrawlInfo (Maybe Text)-lciMessagePrefix = lens _lciMessagePrefix (\ s a -> s{_lciMessagePrefix = a});---- | Error information about the last crawl, if an error occurred.-lciErrorMessage :: Lens' LastCrawlInfo (Maybe Text)-lciErrorMessage = lens _lciErrorMessage (\ s a -> s{_lciErrorMessage = a});--instance FromJSON LastCrawlInfo where-        parseJSON-          = withObject "LastCrawlInfo"-              (\ x ->-                 LastCrawlInfo' <$>-                   (x .:? "Status") <*> (x .:? "StartTime") <*>-                     (x .:? "LogStream")-                     <*> (x .:? "LogGroup")-                     <*> (x .:? "MessagePrefix")-                     <*> (x .:? "ErrorMessage"))--instance Hashable LastCrawlInfo where--instance NFData LastCrawlInfo where---- | The location of resources.------------ /See:/ 'location' smart constructor.-data Location = Location'-  { _lJdbc :: !(Maybe [CodeGenNodeArg])-  , _lS3   :: !(Maybe [CodeGenNodeArg])-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Location' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lJdbc' - A JDBC location.------ * 'lS3' - An AWS S3 location.-location-    :: Location-location = Location' {_lJdbc = Nothing, _lS3 = Nothing}----- | A JDBC location.-lJdbc :: Lens' Location [CodeGenNodeArg]-lJdbc = lens _lJdbc (\ s a -> s{_lJdbc = a}) . _Default . _Coerce;---- | An AWS S3 location.-lS3 :: Lens' Location [CodeGenNodeArg]-lS3 = lens _lS3 (\ s a -> s{_lS3 = a}) . _Default . _Coerce;--instance Hashable Location where--instance NFData Location where--instance ToJSON Location where-        toJSON Location'{..}-          = object-              (catMaybes-                 [("Jdbc" .=) <$> _lJdbc, ("S3" .=) <$> _lS3])---- | Defines a mapping.------------ /See:/ 'mappingEntry' smart constructor.-data MappingEntry = MappingEntry'-  { _meTargetTable :: !(Maybe Text)-  , _meSourceType  :: !(Maybe Text)-  , _meSourceTable :: !(Maybe Text)-  , _meTargetType  :: !(Maybe Text)-  , _meTargetPath  :: !(Maybe Text)-  , _meSourcePath  :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'MappingEntry' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'meTargetTable' - The target table.------ * 'meSourceType' - The source type.------ * 'meSourceTable' - The name of the source table.------ * 'meTargetType' - The target type.------ * 'meTargetPath' - The target path.------ * 'meSourcePath' - The source path.-mappingEntry-    :: MappingEntry-mappingEntry =-  MappingEntry'-  { _meTargetTable = Nothing-  , _meSourceType = Nothing-  , _meSourceTable = Nothing-  , _meTargetType = Nothing-  , _meTargetPath = Nothing-  , _meSourcePath = Nothing-  }----- | The target table.-meTargetTable :: Lens' MappingEntry (Maybe Text)-meTargetTable = lens _meTargetTable (\ s a -> s{_meTargetTable = a});---- | The source type.-meSourceType :: Lens' MappingEntry (Maybe Text)-meSourceType = lens _meSourceType (\ s a -> s{_meSourceType = a});---- | The name of the source table.-meSourceTable :: Lens' MappingEntry (Maybe Text)-meSourceTable = lens _meSourceTable (\ s a -> s{_meSourceTable = a});---- | The target type.-meTargetType :: Lens' MappingEntry (Maybe Text)-meTargetType = lens _meTargetType (\ s a -> s{_meTargetType = a});---- | The target path.-meTargetPath :: Lens' MappingEntry (Maybe Text)-meTargetPath = lens _meTargetPath (\ s a -> s{_meTargetPath = a});---- | The source path.-meSourcePath :: Lens' MappingEntry (Maybe Text)-meSourcePath = lens _meSourcePath (\ s a -> s{_meSourcePath = a});--instance FromJSON MappingEntry where-        parseJSON-          = withObject "MappingEntry"-              (\ x ->-                 MappingEntry' <$>-                   (x .:? "TargetTable") <*> (x .:? "SourceType") <*>-                     (x .:? "SourceTable")-                     <*> (x .:? "TargetType")-                     <*> (x .:? "TargetPath")-                     <*> (x .:? "SourcePath"))--instance Hashable MappingEntry where--instance NFData MappingEntry where--instance ToJSON MappingEntry where-        toJSON MappingEntry'{..}-          = object-              (catMaybes-                 [("TargetTable" .=) <$> _meTargetTable,-                  ("SourceType" .=) <$> _meSourceType,-                  ("SourceTable" .=) <$> _meSourceTable,-                  ("TargetType" .=) <$> _meTargetType,-                  ("TargetPath" .=) <$> _meTargetPath,-                  ("SourcePath" .=) <$> _meSourcePath])---- | Specifies the sort order of a sorted column.------------ /See:/ 'order' smart constructor.-data Order = Order'-  { _oColumn    :: !Text-  , _oSortOrder :: !Nat-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Order' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'oColumn' - The name of the column.------ * 'oSortOrder' - Indicates that the column is sorted in ascending order (@== 1@ ), or in descending order (@==0@ ).-order-    :: Text -- ^ 'oColumn'-    -> Natural -- ^ 'oSortOrder'-    -> Order-order pColumn_ pSortOrder_ =-  Order' {_oColumn = pColumn_, _oSortOrder = _Nat # pSortOrder_}----- | The name of the column.-oColumn :: Lens' Order Text-oColumn = lens _oColumn (\ s a -> s{_oColumn = a});---- | Indicates that the column is sorted in ascending order (@== 1@ ), or in descending order (@==0@ ).-oSortOrder :: Lens' Order Natural-oSortOrder = lens _oSortOrder (\ s a -> s{_oSortOrder = a}) . _Nat;--instance FromJSON Order where-        parseJSON-          = withObject "Order"-              (\ x ->-                 Order' <$> (x .: "Column") <*> (x .: "SortOrder"))--instance Hashable Order where--instance NFData Order where--instance ToJSON Order where-        toJSON Order'{..}-          = object-              (catMaybes-                 [Just ("Column" .= _oColumn),-                  Just ("SortOrder" .= _oSortOrder)])---- | Represents a slice of table data.------------ /See:/ 'partition' smart constructor.-data Partition = Partition'-  { _pCreationTime      :: !(Maybe POSIX)-  , _pValues            :: !(Maybe [Text])-  , _pLastAnalyzedTime  :: !(Maybe POSIX)-  , _pStorageDescriptor :: !(Maybe StorageDescriptor)-  , _pDatabaseName      :: !(Maybe Text)-  , _pParameters        :: !(Maybe (Map Text Text))-  , _pLastAccessTime    :: !(Maybe POSIX)-  , _pTableName         :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Partition' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pCreationTime' - The time at which the partition was created.------ * 'pValues' - The values of the partition.------ * 'pLastAnalyzedTime' - The last time at which column statistics were computed for this partition.------ * 'pStorageDescriptor' - Provides information about the physical location where the partition is stored.------ * 'pDatabaseName' - The name of the catalog database where the table in question is located.------ * 'pParameters' - Partition parameters, in the form of a list of key-value pairs.------ * 'pLastAccessTime' - The last time at which the partition was accessed.------ * 'pTableName' - The name of the table in question.-partition-    :: Partition-partition =-  Partition'-  { _pCreationTime = Nothing-  , _pValues = Nothing-  , _pLastAnalyzedTime = Nothing-  , _pStorageDescriptor = Nothing-  , _pDatabaseName = Nothing-  , _pParameters = Nothing-  , _pLastAccessTime = Nothing-  , _pTableName = Nothing-  }----- | The time at which the partition was created.-pCreationTime :: Lens' Partition (Maybe UTCTime)-pCreationTime = lens _pCreationTime (\ s a -> s{_pCreationTime = a}) . mapping _Time;---- | The values of the partition.-pValues :: Lens' Partition [Text]-pValues = lens _pValues (\ s a -> s{_pValues = a}) . _Default . _Coerce;---- | The last time at which column statistics were computed for this partition.-pLastAnalyzedTime :: Lens' Partition (Maybe UTCTime)-pLastAnalyzedTime = lens _pLastAnalyzedTime (\ s a -> s{_pLastAnalyzedTime = a}) . mapping _Time;---- | Provides information about the physical location where the partition is stored.-pStorageDescriptor :: Lens' Partition (Maybe StorageDescriptor)-pStorageDescriptor = lens _pStorageDescriptor (\ s a -> s{_pStorageDescriptor = a});---- | The name of the catalog database where the table in question is located.-pDatabaseName :: Lens' Partition (Maybe Text)-pDatabaseName = lens _pDatabaseName (\ s a -> s{_pDatabaseName = a});---- | Partition parameters, in the form of a list of key-value pairs.-pParameters :: Lens' Partition (HashMap Text Text)-pParameters = lens _pParameters (\ s a -> s{_pParameters = a}) . _Default . _Map;---- | The last time at which the partition was accessed.-pLastAccessTime :: Lens' Partition (Maybe UTCTime)-pLastAccessTime = lens _pLastAccessTime (\ s a -> s{_pLastAccessTime = a}) . mapping _Time;---- | The name of the table in question.-pTableName :: Lens' Partition (Maybe Text)-pTableName = lens _pTableName (\ s a -> s{_pTableName = a});--instance FromJSON Partition where-        parseJSON-          = withObject "Partition"-              (\ x ->-                 Partition' <$>-                   (x .:? "CreationTime") <*>-                     (x .:? "Values" .!= mempty)-                     <*> (x .:? "LastAnalyzedTime")-                     <*> (x .:? "StorageDescriptor")-                     <*> (x .:? "DatabaseName")-                     <*> (x .:? "Parameters" .!= mempty)-                     <*> (x .:? "LastAccessTime")-                     <*> (x .:? "TableName"))--instance Hashable Partition where--instance NFData Partition where---- | Contains information about a partition error.------------ /See:/ 'partitionError' smart constructor.-data PartitionError = PartitionError'-  { _pePartitionValues :: !(Maybe [Text])-  , _peErrorDetail     :: !(Maybe ErrorDetail)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PartitionError' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pePartitionValues' - The values that define the partition.------ * 'peErrorDetail' - Details about the partition error.-partitionError-    :: PartitionError-partitionError =-  PartitionError' {_pePartitionValues = Nothing, _peErrorDetail = Nothing}----- | The values that define the partition.-pePartitionValues :: Lens' PartitionError [Text]-pePartitionValues = lens _pePartitionValues (\ s a -> s{_pePartitionValues = a}) . _Default . _Coerce;---- | Details about the partition error.-peErrorDetail :: Lens' PartitionError (Maybe ErrorDetail)-peErrorDetail = lens _peErrorDetail (\ s a -> s{_peErrorDetail = a});--instance FromJSON PartitionError where-        parseJSON-          = withObject "PartitionError"-              (\ x ->-                 PartitionError' <$>-                   (x .:? "PartitionValues" .!= mempty) <*>-                     (x .:? "ErrorDetail"))--instance Hashable PartitionError where--instance NFData PartitionError where---- | The structure used to create and update a partion.------------ /See:/ 'partitionInput' smart constructor.-data PartitionInput = PartitionInput'-  { _piValues            :: !(Maybe [Text])-  , _piLastAnalyzedTime  :: !(Maybe POSIX)-  , _piStorageDescriptor :: !(Maybe StorageDescriptor)-  , _piParameters        :: !(Maybe (Map Text Text))-  , _piLastAccessTime    :: !(Maybe POSIX)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PartitionInput' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'piValues' - The values of the partition.------ * 'piLastAnalyzedTime' - The last time at which column statistics were computed for this partition.------ * 'piStorageDescriptor' - Provides information about the physical location where the partition is stored.------ * 'piParameters' - Partition parameters, in the form of a list of key-value pairs.------ * 'piLastAccessTime' - The last time at which the partition was accessed.-partitionInput-    :: PartitionInput-partitionInput =-  PartitionInput'-  { _piValues = Nothing-  , _piLastAnalyzedTime = Nothing-  , _piStorageDescriptor = Nothing-  , _piParameters = Nothing-  , _piLastAccessTime = Nothing-  }----- | The values of the partition.-piValues :: Lens' PartitionInput [Text]-piValues = lens _piValues (\ s a -> s{_piValues = a}) . _Default . _Coerce;---- | The last time at which column statistics were computed for this partition.-piLastAnalyzedTime :: Lens' PartitionInput (Maybe UTCTime)-piLastAnalyzedTime = lens _piLastAnalyzedTime (\ s a -> s{_piLastAnalyzedTime = a}) . mapping _Time;---- | Provides information about the physical location where the partition is stored.-piStorageDescriptor :: Lens' PartitionInput (Maybe StorageDescriptor)-piStorageDescriptor = lens _piStorageDescriptor (\ s a -> s{_piStorageDescriptor = a});---- | Partition parameters, in the form of a list of key-value pairs.-piParameters :: Lens' PartitionInput (HashMap Text Text)-piParameters = lens _piParameters (\ s a -> s{_piParameters = a}) . _Default . _Map;---- | The last time at which the partition was accessed.-piLastAccessTime :: Lens' PartitionInput (Maybe UTCTime)-piLastAccessTime = lens _piLastAccessTime (\ s a -> s{_piLastAccessTime = a}) . mapping _Time;--instance Hashable PartitionInput where--instance NFData PartitionInput where--instance ToJSON PartitionInput where-        toJSON PartitionInput'{..}-          = object-              (catMaybes-                 [("Values" .=) <$> _piValues,-                  ("LastAnalyzedTime" .=) <$> _piLastAnalyzedTime,-                  ("StorageDescriptor" .=) <$> _piStorageDescriptor,-                  ("Parameters" .=) <$> _piParameters,-                  ("LastAccessTime" .=) <$> _piLastAccessTime])---- | Contains a list of values defining partitions.------------ /See:/ 'partitionValueList' smart constructor.-newtype PartitionValueList = PartitionValueList'-  { _pvlValues :: [Text]-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PartitionValueList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pvlValues' - The list of values.-partitionValueList-    :: PartitionValueList-partitionValueList = PartitionValueList' {_pvlValues = mempty}----- | The list of values.-pvlValues :: Lens' PartitionValueList [Text]-pvlValues = lens _pvlValues (\ s a -> s{_pvlValues = a}) . _Coerce;--instance FromJSON PartitionValueList where-        parseJSON-          = withObject "PartitionValueList"-              (\ x ->-                 PartitionValueList' <$> (x .:? "Values" .!= mempty))--instance Hashable PartitionValueList where--instance NFData PartitionValueList where--instance ToJSON PartitionValueList where-        toJSON PartitionValueList'{..}-          = object (catMaybes [Just ("Values" .= _pvlValues)])---- | Specifies the physical requirements for a connection.------------ /See:/ 'physicalConnectionRequirements' smart constructor.-data PhysicalConnectionRequirements = PhysicalConnectionRequirements'-  { _pcrSecurityGroupIdList :: !(Maybe [Text])-  , _pcrSubnetId            :: !(Maybe Text)-  , _pcrAvailabilityZone    :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PhysicalConnectionRequirements' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pcrSecurityGroupIdList' - The security group ID list used by the connection.------ * 'pcrSubnetId' - The subnet ID used by the connection.------ * 'pcrAvailabilityZone' - The connection's availability zone.-physicalConnectionRequirements-    :: PhysicalConnectionRequirements-physicalConnectionRequirements =-  PhysicalConnectionRequirements'-  { _pcrSecurityGroupIdList = Nothing-  , _pcrSubnetId = Nothing-  , _pcrAvailabilityZone = Nothing-  }----- | The security group ID list used by the connection.-pcrSecurityGroupIdList :: Lens' PhysicalConnectionRequirements [Text]-pcrSecurityGroupIdList = lens _pcrSecurityGroupIdList (\ s a -> s{_pcrSecurityGroupIdList = a}) . _Default . _Coerce;---- | The subnet ID used by the connection.-pcrSubnetId :: Lens' PhysicalConnectionRequirements (Maybe Text)-pcrSubnetId = lens _pcrSubnetId (\ s a -> s{_pcrSubnetId = a});---- | The connection's availability zone.-pcrAvailabilityZone :: Lens' PhysicalConnectionRequirements (Maybe Text)-pcrAvailabilityZone = lens _pcrAvailabilityZone (\ s a -> s{_pcrAvailabilityZone = a});--instance FromJSON PhysicalConnectionRequirements-         where-        parseJSON-          = withObject "PhysicalConnectionRequirements"-              (\ x ->-                 PhysicalConnectionRequirements' <$>-                   (x .:? "SecurityGroupIdList" .!= mempty) <*>-                     (x .:? "SubnetId")-                     <*> (x .:? "AvailabilityZone"))--instance Hashable PhysicalConnectionRequirements-         where--instance NFData PhysicalConnectionRequirements where--instance ToJSON PhysicalConnectionRequirements where-        toJSON PhysicalConnectionRequirements'{..}-          = object-              (catMaybes-                 [("SecurityGroupIdList" .=) <$>-                    _pcrSecurityGroupIdList,-                  ("SubnetId" .=) <$> _pcrSubnetId,-                  ("AvailabilityZone" .=) <$> _pcrAvailabilityZone])---- | A job run that preceded this one.------------ /See:/ 'predecessor' smart constructor.-data Predecessor = Predecessor'-  { _pJobName :: !(Maybe Text)-  , _pRunId   :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Predecessor' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pJobName' - The name of the predecessor job.------ * 'pRunId' - The job-run ID of the precessor job run.-predecessor-    :: Predecessor-predecessor = Predecessor' {_pJobName = Nothing, _pRunId = Nothing}----- | The name of the predecessor job.-pJobName :: Lens' Predecessor (Maybe Text)-pJobName = lens _pJobName (\ s a -> s{_pJobName = a});---- | The job-run ID of the precessor job run.-pRunId :: Lens' Predecessor (Maybe Text)-pRunId = lens _pRunId (\ s a -> s{_pRunId = a});--instance FromJSON Predecessor where-        parseJSON-          = withObject "Predecessor"-              (\ x ->-                 Predecessor' <$>-                   (x .:? "JobName") <*> (x .:? "RunId"))--instance Hashable Predecessor where--instance NFData Predecessor where---- | Defines the predicate of the trigger, which determines when it fires.------------ /See:/ 'predicate' smart constructor.-data Predicate = Predicate'-  { _pLogical    :: !(Maybe Logical)-  , _pConditions :: !(Maybe [Condition])-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Predicate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pLogical' - Currently "OR" is not supported.------ * 'pConditions' - A list of the conditions that determine when the trigger will fire.-predicate-    :: Predicate-predicate = Predicate' {_pLogical = Nothing, _pConditions = Nothing}----- | Currently "OR" is not supported.-pLogical :: Lens' Predicate (Maybe Logical)-pLogical = lens _pLogical (\ s a -> s{_pLogical = a});---- | A list of the conditions that determine when the trigger will fire.-pConditions :: Lens' Predicate [Condition]-pConditions = lens _pConditions (\ s a -> s{_pConditions = a}) . _Default . _Coerce;--instance FromJSON Predicate where-        parseJSON-          = withObject "Predicate"-              (\ x ->-                 Predicate' <$>-                   (x .:? "Logical") <*>-                     (x .:? "Conditions" .!= mempty))--instance Hashable Predicate where--instance NFData Predicate where--instance ToJSON Predicate where-        toJSON Predicate'{..}-          = object-              (catMaybes-                 [("Logical" .=) <$> _pLogical,-                  ("Conditions" .=) <$> _pConditions])---- | URIs for function resources.------------ /See:/ 'resourceURI' smart constructor.-data ResourceURI = ResourceURI'-  { _ruResourceType :: !(Maybe ResourceType)-  , _ruURI          :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ResourceURI' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ruResourceType' - The type of the resource.------ * 'ruURI' - The URI for accessing the resource.-resourceURI-    :: ResourceURI-resourceURI = ResourceURI' {_ruResourceType = Nothing, _ruURI = Nothing}----- | The type of the resource.-ruResourceType :: Lens' ResourceURI (Maybe ResourceType)-ruResourceType = lens _ruResourceType (\ s a -> s{_ruResourceType = a});---- | The URI for accessing the resource.-ruURI :: Lens' ResourceURI (Maybe Text)-ruURI = lens _ruURI (\ s a -> s{_ruURI = a});--instance FromJSON ResourceURI where-        parseJSON-          = withObject "ResourceURI"-              (\ x ->-                 ResourceURI' <$>-                   (x .:? "ResourceType") <*> (x .:? "Uri"))--instance Hashable ResourceURI where--instance NFData ResourceURI where--instance ToJSON ResourceURI where-        toJSON ResourceURI'{..}-          = object-              (catMaybes-                 [("ResourceType" .=) <$> _ruResourceType,-                  ("Uri" .=) <$> _ruURI])---- | Specifies a crawler target in AWS S3.------------ /See:/ 's3Target' smart constructor.-data S3Target = S3Target'-  { _stPath       :: !(Maybe Text)-  , _stExclusions :: !(Maybe [Text])-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'S3Target' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'stPath' - The path to the S3 target.------ * 'stExclusions' - A list of S3 objects to exclude from the crawl.-s3Target-    :: S3Target-s3Target = S3Target' {_stPath = Nothing, _stExclusions = Nothing}----- | The path to the S3 target.-stPath :: Lens' S3Target (Maybe Text)-stPath = lens _stPath (\ s a -> s{_stPath = a});---- | A list of S3 objects to exclude from the crawl.-stExclusions :: Lens' S3Target [Text]-stExclusions = lens _stExclusions (\ s a -> s{_stExclusions = a}) . _Default . _Coerce;--instance FromJSON S3Target where-        parseJSON-          = withObject "S3Target"-              (\ x ->-                 S3Target' <$>-                   (x .:? "Path") <*> (x .:? "Exclusions" .!= mempty))--instance Hashable S3Target where--instance NFData S3Target where--instance ToJSON S3Target where-        toJSON S3Target'{..}-          = object-              (catMaybes-                 [("Path" .=) <$> _stPath,-                  ("Exclusions" .=) <$> _stExclusions])---- | A scheduling object using a @cron@ statement to schedule an event.------------ /See:/ 'schedule' smart constructor.-data Schedule = Schedule'-  { _sState              :: !(Maybe ScheduleState)-  , _sScheduleExpression :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Schedule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sState' - The state of the schedule.------ * 'sScheduleExpression' - A @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ .-schedule-    :: Schedule-schedule = Schedule' {_sState = Nothing, _sScheduleExpression = Nothing}----- | The state of the schedule.-sState :: Lens' Schedule (Maybe ScheduleState)-sState = lens _sState (\ s a -> s{_sState = a});---- | A @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ .-sScheduleExpression :: Lens' Schedule (Maybe Text)-sScheduleExpression = lens _sScheduleExpression (\ s a -> s{_sScheduleExpression = a});--instance FromJSON Schedule where-        parseJSON-          = withObject "Schedule"-              (\ x ->-                 Schedule' <$>-                   (x .:? "State") <*> (x .:? "ScheduleExpression"))--instance Hashable Schedule where--instance NFData Schedule where---- | Crawler policy for update and deletion behavior.------------ /See:/ 'schemaChangePolicy' smart constructor.-data SchemaChangePolicy = SchemaChangePolicy'-  { _scpDeleteBehavior :: !(Maybe DeleteBehavior)-  , _scpUpdateBehavior :: !(Maybe UpdateBehavior)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'SchemaChangePolicy' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'scpDeleteBehavior' - The deletion behavior.------ * 'scpUpdateBehavior' - The update behavior.-schemaChangePolicy-    :: SchemaChangePolicy-schemaChangePolicy =-  SchemaChangePolicy'-  {_scpDeleteBehavior = Nothing, _scpUpdateBehavior = Nothing}----- | The deletion behavior.-scpDeleteBehavior :: Lens' SchemaChangePolicy (Maybe DeleteBehavior)-scpDeleteBehavior = lens _scpDeleteBehavior (\ s a -> s{_scpDeleteBehavior = a});---- | The update behavior.-scpUpdateBehavior :: Lens' SchemaChangePolicy (Maybe UpdateBehavior)-scpUpdateBehavior = lens _scpUpdateBehavior (\ s a -> s{_scpUpdateBehavior = a});--instance FromJSON SchemaChangePolicy where-        parseJSON-          = withObject "SchemaChangePolicy"-              (\ x ->-                 SchemaChangePolicy' <$>-                   (x .:? "DeleteBehavior") <*>-                     (x .:? "UpdateBehavior"))--instance Hashable SchemaChangePolicy where--instance NFData SchemaChangePolicy where--instance ToJSON SchemaChangePolicy where-        toJSON SchemaChangePolicy'{..}-          = object-              (catMaybes-                 [("DeleteBehavior" .=) <$> _scpDeleteBehavior,-                  ("UpdateBehavior" .=) <$> _scpUpdateBehavior])---- | Defines a non-overlapping region of a table's partitions, allowing multiple requests to be executed in parallel.------------ /See:/ 'segment' smart constructor.-data Segment = Segment'-  { _sSegmentNumber :: !Nat-  , _sTotalSegments :: !Nat-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Segment' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sSegmentNumber' - The zero-based index number of the this segment. For example, if the total number of segments is 4, SegmentNumber values will range from zero through three.------ * 'sTotalSegments' - The total numer of segments.-segment-    :: Natural -- ^ 'sSegmentNumber'-    -> Natural -- ^ 'sTotalSegments'-    -> Segment-segment pSegmentNumber_ pTotalSegments_ =-  Segment'-  { _sSegmentNumber = _Nat # pSegmentNumber_-  , _sTotalSegments = _Nat # pTotalSegments_-  }----- | The zero-based index number of the this segment. For example, if the total number of segments is 4, SegmentNumber values will range from zero through three.-sSegmentNumber :: Lens' Segment Natural-sSegmentNumber = lens _sSegmentNumber (\ s a -> s{_sSegmentNumber = a}) . _Nat;---- | The total numer of segments.-sTotalSegments :: Lens' Segment Natural-sTotalSegments = lens _sTotalSegments (\ s a -> s{_sTotalSegments = a}) . _Nat;--instance Hashable Segment where--instance NFData Segment where--instance ToJSON Segment where-        toJSON Segment'{..}-          = object-              (catMaybes-                 [Just ("SegmentNumber" .= _sSegmentNumber),-                  Just ("TotalSegments" .= _sTotalSegments)])---- | Information about a serialization/deserialization program (SerDe) which serves as an extractor and loader.------------ /See:/ 'serDeInfo' smart constructor.-data SerDeInfo = SerDeInfo'-  { _sdiSerializationLibrary :: !(Maybe Text)-  , _sdiName                 :: !(Maybe Text)-  , _sdiParameters           :: !(Maybe (Map Text Text))-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'SerDeInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sdiSerializationLibrary' - Usually the class that implements the SerDe. An example is: @org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe@ .------ * 'sdiName' - Name of the SerDe.------ * 'sdiParameters' - A list of initialization parameters for the SerDe, in key-value form.-serDeInfo-    :: SerDeInfo-serDeInfo =-  SerDeInfo'-  { _sdiSerializationLibrary = Nothing-  , _sdiName = Nothing-  , _sdiParameters = Nothing-  }----- | Usually the class that implements the SerDe. An example is: @org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe@ .-sdiSerializationLibrary :: Lens' SerDeInfo (Maybe Text)-sdiSerializationLibrary = lens _sdiSerializationLibrary (\ s a -> s{_sdiSerializationLibrary = a});---- | Name of the SerDe.-sdiName :: Lens' SerDeInfo (Maybe Text)-sdiName = lens _sdiName (\ s a -> s{_sdiName = a});---- | A list of initialization parameters for the SerDe, in key-value form.-sdiParameters :: Lens' SerDeInfo (HashMap Text Text)-sdiParameters = lens _sdiParameters (\ s a -> s{_sdiParameters = a}) . _Default . _Map;--instance FromJSON SerDeInfo where-        parseJSON-          = withObject "SerDeInfo"-              (\ x ->-                 SerDeInfo' <$>-                   (x .:? "SerializationLibrary") <*> (x .:? "Name") <*>-                     (x .:? "Parameters" .!= mempty))--instance Hashable SerDeInfo where--instance NFData SerDeInfo where--instance ToJSON SerDeInfo where-        toJSON SerDeInfo'{..}-          = object-              (catMaybes-                 [("SerializationLibrary" .=) <$>-                    _sdiSerializationLibrary,-                  ("Name" .=) <$> _sdiName,-                  ("Parameters" .=) <$> _sdiParameters])---- | Specifies skewed values in a table. Skewed are ones that occur with very high frequency.------------ /See:/ 'skewedInfo' smart constructor.-data SkewedInfo = SkewedInfo'-  { _siSkewedColumnValueLocationMaps :: !(Maybe (Map Text Text))-  , _siSkewedColumnValues            :: !(Maybe [Text])-  , _siSkewedColumnNames             :: !(Maybe [Text])-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'SkewedInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'siSkewedColumnValueLocationMaps' - A mapping of skewed values to the columns that contain them.------ * 'siSkewedColumnValues' - A list of values that appear so frequently as to be considered skewed.------ * 'siSkewedColumnNames' - A list of names of columns that contain skewed values.-skewedInfo-    :: SkewedInfo-skewedInfo =-  SkewedInfo'-  { _siSkewedColumnValueLocationMaps = Nothing-  , _siSkewedColumnValues = Nothing-  , _siSkewedColumnNames = Nothing-  }----- | A mapping of skewed values to the columns that contain them.-siSkewedColumnValueLocationMaps :: Lens' SkewedInfo (HashMap Text Text)-siSkewedColumnValueLocationMaps = lens _siSkewedColumnValueLocationMaps (\ s a -> s{_siSkewedColumnValueLocationMaps = a}) . _Default . _Map;---- | A list of values that appear so frequently as to be considered skewed.-siSkewedColumnValues :: Lens' SkewedInfo [Text]-siSkewedColumnValues = lens _siSkewedColumnValues (\ s a -> s{_siSkewedColumnValues = a}) . _Default . _Coerce;---- | A list of names of columns that contain skewed values.-siSkewedColumnNames :: Lens' SkewedInfo [Text]-siSkewedColumnNames = lens _siSkewedColumnNames (\ s a -> s{_siSkewedColumnNames = a}) . _Default . _Coerce;--instance FromJSON SkewedInfo where-        parseJSON-          = withObject "SkewedInfo"-              (\ x ->-                 SkewedInfo' <$>-                   (x .:? "SkewedColumnValueLocationMaps" .!= mempty)-                     <*> (x .:? "SkewedColumnValues" .!= mempty)-                     <*> (x .:? "SkewedColumnNames" .!= mempty))--instance Hashable SkewedInfo where--instance NFData SkewedInfo where--instance ToJSON SkewedInfo where-        toJSON SkewedInfo'{..}-          = object-              (catMaybes-                 [("SkewedColumnValueLocationMaps" .=) <$>-                    _siSkewedColumnValueLocationMaps,-                  ("SkewedColumnValues" .=) <$> _siSkewedColumnValues,-                  ("SkewedColumnNames" .=) <$> _siSkewedColumnNames])---- | Describes the physical storage of table data.------------ /See:/ 'storageDescriptor' smart constructor.-data StorageDescriptor = StorageDescriptor'-  { _sdSortColumns            :: !(Maybe [Order])-  , _sdCompressed             :: !(Maybe Bool)-  , _sdLocation               :: !(Maybe Text)-  , _sdBucketColumns          :: !(Maybe [Text])-  , _sdSerdeInfo              :: !(Maybe SerDeInfo)-  , _sdOutputFormat           :: !(Maybe Text)-  , _sdNumberOfBuckets        :: !(Maybe Int)-  , _sdStoredAsSubDirectories :: !(Maybe Bool)-  , _sdParameters             :: !(Maybe (Map Text Text))-  , _sdInputFormat            :: !(Maybe Text)-  , _sdSkewedInfo             :: !(Maybe SkewedInfo)-  , _sdColumns                :: !(Maybe [Column])-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'StorageDescriptor' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sdSortColumns' - A list specifying the sort order of each bucket in the table.------ * 'sdCompressed' - True if the data in the table is compressed, or False if not.------ * 'sdLocation' - The physical location of the table. By default this takes the form of the warehouse location, followed by the database location in the warehouse, followed by the table name.------ * 'sdBucketColumns' - A list of reducer grouping columns, clustering columns, and bucketing columns in the table.------ * 'sdSerdeInfo' - Serialization/deserialization (SerDe) information.------ * 'sdOutputFormat' - The output format: @SequenceFileOutputFormat@ (binary), or @IgnoreKeyTextOutputFormat@ , or a custom format.------ * 'sdNumberOfBuckets' - Must be specified if the table contains any dimension columns.------ * 'sdStoredAsSubDirectories' - True if the table data is stored in subdirectories, or False if not.------ * 'sdParameters' - User-supplied properties in key-value form.------ * 'sdInputFormat' - The input format: @SequenceFileInputFormat@ (binary), or @TextInputFormat@ , or a custom format.------ * 'sdSkewedInfo' - Information about values that appear very frequently in a column (skewed values).------ * 'sdColumns' - A list of the @Columns@ in the table.-storageDescriptor-    :: StorageDescriptor-storageDescriptor =-  StorageDescriptor'-  { _sdSortColumns = Nothing-  , _sdCompressed = Nothing-  , _sdLocation = Nothing-  , _sdBucketColumns = Nothing-  , _sdSerdeInfo = Nothing-  , _sdOutputFormat = Nothing-  , _sdNumberOfBuckets = Nothing-  , _sdStoredAsSubDirectories = Nothing-  , _sdParameters = Nothing-  , _sdInputFormat = Nothing-  , _sdSkewedInfo = Nothing-  , _sdColumns = Nothing-  }----- | A list specifying the sort order of each bucket in the table.-sdSortColumns :: Lens' StorageDescriptor [Order]-sdSortColumns = lens _sdSortColumns (\ s a -> s{_sdSortColumns = a}) . _Default . _Coerce;---- | True if the data in the table is compressed, or False if not.-sdCompressed :: Lens' StorageDescriptor (Maybe Bool)-sdCompressed = lens _sdCompressed (\ s a -> s{_sdCompressed = a});---- | The physical location of the table. By default this takes the form of the warehouse location, followed by the database location in the warehouse, followed by the table name.-sdLocation :: Lens' StorageDescriptor (Maybe Text)-sdLocation = lens _sdLocation (\ s a -> s{_sdLocation = a});---- | A list of reducer grouping columns, clustering columns, and bucketing columns in the table.-sdBucketColumns :: Lens' StorageDescriptor [Text]-sdBucketColumns = lens _sdBucketColumns (\ s a -> s{_sdBucketColumns = a}) . _Default . _Coerce;---- | Serialization/deserialization (SerDe) information.-sdSerdeInfo :: Lens' StorageDescriptor (Maybe SerDeInfo)-sdSerdeInfo = lens _sdSerdeInfo (\ s a -> s{_sdSerdeInfo = a});---- | The output format: @SequenceFileOutputFormat@ (binary), or @IgnoreKeyTextOutputFormat@ , or a custom format.-sdOutputFormat :: Lens' StorageDescriptor (Maybe Text)-sdOutputFormat = lens _sdOutputFormat (\ s a -> s{_sdOutputFormat = a});---- | Must be specified if the table contains any dimension columns.-sdNumberOfBuckets :: Lens' StorageDescriptor (Maybe Int)-sdNumberOfBuckets = lens _sdNumberOfBuckets (\ s a -> s{_sdNumberOfBuckets = a});---- | True if the table data is stored in subdirectories, or False if not.-sdStoredAsSubDirectories :: Lens' StorageDescriptor (Maybe Bool)-sdStoredAsSubDirectories = lens _sdStoredAsSubDirectories (\ s a -> s{_sdStoredAsSubDirectories = a});---- | User-supplied properties in key-value form.-sdParameters :: Lens' StorageDescriptor (HashMap Text Text)-sdParameters = lens _sdParameters (\ s a -> s{_sdParameters = a}) . _Default . _Map;---- | The input format: @SequenceFileInputFormat@ (binary), or @TextInputFormat@ , or a custom format.-sdInputFormat :: Lens' StorageDescriptor (Maybe Text)-sdInputFormat = lens _sdInputFormat (\ s a -> s{_sdInputFormat = a});---- | Information about values that appear very frequently in a column (skewed values).-sdSkewedInfo :: Lens' StorageDescriptor (Maybe SkewedInfo)-sdSkewedInfo = lens _sdSkewedInfo (\ s a -> s{_sdSkewedInfo = a});---- | A list of the @Columns@ in the table.-sdColumns :: Lens' StorageDescriptor [Column]-sdColumns = lens _sdColumns (\ s a -> s{_sdColumns = a}) . _Default . _Coerce;--instance FromJSON StorageDescriptor where-        parseJSON-          = withObject "StorageDescriptor"-              (\ x ->-                 StorageDescriptor' <$>-                   (x .:? "SortColumns" .!= mempty) <*>-                     (x .:? "Compressed")-                     <*> (x .:? "Location")-                     <*> (x .:? "BucketColumns" .!= mempty)-                     <*> (x .:? "SerdeInfo")-                     <*> (x .:? "OutputFormat")-                     <*> (x .:? "NumberOfBuckets")-                     <*> (x .:? "StoredAsSubDirectories")-                     <*> (x .:? "Parameters" .!= mempty)-                     <*> (x .:? "InputFormat")-                     <*> (x .:? "SkewedInfo")-                     <*> (x .:? "Columns" .!= mempty))--instance Hashable StorageDescriptor where--instance NFData StorageDescriptor where--instance ToJSON StorageDescriptor where-        toJSON StorageDescriptor'{..}-          = object-              (catMaybes-                 [("SortColumns" .=) <$> _sdSortColumns,-                  ("Compressed" .=) <$> _sdCompressed,-                  ("Location" .=) <$> _sdLocation,-                  ("BucketColumns" .=) <$> _sdBucketColumns,-                  ("SerdeInfo" .=) <$> _sdSerdeInfo,-                  ("OutputFormat" .=) <$> _sdOutputFormat,-                  ("NumberOfBuckets" .=) <$> _sdNumberOfBuckets,-                  ("StoredAsSubDirectories" .=) <$>-                    _sdStoredAsSubDirectories,-                  ("Parameters" .=) <$> _sdParameters,-                  ("InputFormat" .=) <$> _sdInputFormat,-                  ("SkewedInfo" .=) <$> _sdSkewedInfo,-                  ("Columns" .=) <$> _sdColumns])---- | Represents a collection of related data organized in columns and rows.------------ /See:/ 'table' smart constructor.-data Table = Table'-  { _tRetention         :: !(Maybe Nat)-  , _tCreatedBy         :: !(Maybe Text)-  , _tTableType         :: !(Maybe Text)-  , _tOwner             :: !(Maybe Text)-  , _tViewOriginalText  :: !(Maybe Text)-  , _tUpdateTime        :: !(Maybe POSIX)-  , _tViewExpandedText  :: !(Maybe Text)-  , _tLastAnalyzedTime  :: !(Maybe POSIX)-  , _tStorageDescriptor :: !(Maybe StorageDescriptor)-  , _tDatabaseName      :: !(Maybe Text)-  , _tParameters        :: !(Maybe (Map Text Text))-  , _tLastAccessTime    :: !(Maybe POSIX)-  , _tDescription       :: !(Maybe Text)-  , _tPartitionKeys     :: !(Maybe [Column])-  , _tCreateTime        :: !(Maybe POSIX)-  , _tName              :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Table' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tRetention' - Retention time for this table.------ * 'tCreatedBy' - Person or entity who created the table.------ * 'tTableType' - The type of this table (@EXTERNAL_TABLE@ , @VIRTUAL_VIEW@ , etc.).------ * 'tOwner' - Owner of the table.------ * 'tViewOriginalText' - If the table is a view, the original text of the view; otherwise @null@ .------ * 'tUpdateTime' - Last time the table was updated.------ * 'tViewExpandedText' - If the table is a view, the expanded text of the view; otherwise @null@ .------ * 'tLastAnalyzedTime' - Last time column statistics were computed for this table.------ * 'tStorageDescriptor' - A storage descriptor containing information about the physical storage of this table.------ * 'tDatabaseName' - Name of the metadata database where the table metadata resides.------ * 'tParameters' - Properties associated with this table, as a list of key-value pairs.------ * 'tLastAccessTime' - Last time the table was accessed. This is usually taken from HDFS, and may not be reliable.------ * 'tDescription' - Description of the table.------ * 'tPartitionKeys' - A list of columns by which the table is partitioned. Only primitive types are supported as partition keys.------ * 'tCreateTime' - Time when the table definition was created in the Data Catalog.------ * 'tName' - Name of the table.-table-    :: Text -- ^ 'tName'-    -> Table-table pName_ =-  Table'-  { _tRetention = Nothing-  , _tCreatedBy = Nothing-  , _tTableType = Nothing-  , _tOwner = Nothing-  , _tViewOriginalText = Nothing-  , _tUpdateTime = Nothing-  , _tViewExpandedText = Nothing-  , _tLastAnalyzedTime = Nothing-  , _tStorageDescriptor = Nothing-  , _tDatabaseName = Nothing-  , _tParameters = Nothing-  , _tLastAccessTime = Nothing-  , _tDescription = Nothing-  , _tPartitionKeys = Nothing-  , _tCreateTime = Nothing-  , _tName = pName_-  }----- | Retention time for this table.-tRetention :: Lens' Table (Maybe Natural)-tRetention = lens _tRetention (\ s a -> s{_tRetention = a}) . mapping _Nat;---- | Person or entity who created the table.-tCreatedBy :: Lens' Table (Maybe Text)-tCreatedBy = lens _tCreatedBy (\ s a -> s{_tCreatedBy = a});---- | The type of this table (@EXTERNAL_TABLE@ , @VIRTUAL_VIEW@ , etc.).-tTableType :: Lens' Table (Maybe Text)-tTableType = lens _tTableType (\ s a -> s{_tTableType = a});---- | Owner of the table.-tOwner :: Lens' Table (Maybe Text)-tOwner = lens _tOwner (\ s a -> s{_tOwner = a});---- | If the table is a view, the original text of the view; otherwise @null@ .-tViewOriginalText :: Lens' Table (Maybe Text)-tViewOriginalText = lens _tViewOriginalText (\ s a -> s{_tViewOriginalText = a});---- | Last time the table was updated.-tUpdateTime :: Lens' Table (Maybe UTCTime)-tUpdateTime = lens _tUpdateTime (\ s a -> s{_tUpdateTime = a}) . mapping _Time;---- | If the table is a view, the expanded text of the view; otherwise @null@ .-tViewExpandedText :: Lens' Table (Maybe Text)-tViewExpandedText = lens _tViewExpandedText (\ s a -> s{_tViewExpandedText = a});---- | Last time column statistics were computed for this table.-tLastAnalyzedTime :: Lens' Table (Maybe UTCTime)-tLastAnalyzedTime = lens _tLastAnalyzedTime (\ s a -> s{_tLastAnalyzedTime = a}) . mapping _Time;---- | A storage descriptor containing information about the physical storage of this table.-tStorageDescriptor :: Lens' Table (Maybe StorageDescriptor)-tStorageDescriptor = lens _tStorageDescriptor (\ s a -> s{_tStorageDescriptor = a});---- | Name of the metadata database where the table metadata resides.-tDatabaseName :: Lens' Table (Maybe Text)-tDatabaseName = lens _tDatabaseName (\ s a -> s{_tDatabaseName = a});---- | Properties associated with this table, as a list of key-value pairs.-tParameters :: Lens' Table (HashMap Text Text)-tParameters = lens _tParameters (\ s a -> s{_tParameters = a}) . _Default . _Map;---- | Last time the table was accessed. This is usually taken from HDFS, and may not be reliable.-tLastAccessTime :: Lens' Table (Maybe UTCTime)-tLastAccessTime = lens _tLastAccessTime (\ s a -> s{_tLastAccessTime = a}) . mapping _Time;---- | Description of the table.-tDescription :: Lens' Table (Maybe Text)-tDescription = lens _tDescription (\ s a -> s{_tDescription = a});---- | A list of columns by which the table is partitioned. Only primitive types are supported as partition keys.-tPartitionKeys :: Lens' Table [Column]-tPartitionKeys = lens _tPartitionKeys (\ s a -> s{_tPartitionKeys = a}) . _Default . _Coerce;---- | Time when the table definition was created in the Data Catalog.-tCreateTime :: Lens' Table (Maybe UTCTime)-tCreateTime = lens _tCreateTime (\ s a -> s{_tCreateTime = a}) . mapping _Time;---- | Name of the table.-tName :: Lens' Table Text-tName = lens _tName (\ s a -> s{_tName = a});--instance FromJSON Table where-        parseJSON-          = withObject "Table"-              (\ x ->-                 Table' <$>-                   (x .:? "Retention") <*> (x .:? "CreatedBy") <*>-                     (x .:? "TableType")-                     <*> (x .:? "Owner")-                     <*> (x .:? "ViewOriginalText")-                     <*> (x .:? "UpdateTime")-                     <*> (x .:? "ViewExpandedText")-                     <*> (x .:? "LastAnalyzedTime")-                     <*> (x .:? "StorageDescriptor")-                     <*> (x .:? "DatabaseName")-                     <*> (x .:? "Parameters" .!= mempty)-                     <*> (x .:? "LastAccessTime")-                     <*> (x .:? "Description")-                     <*> (x .:? "PartitionKeys" .!= mempty)-                     <*> (x .:? "CreateTime")-                     <*> (x .: "Name"))--instance Hashable Table where--instance NFData Table where---- | An error record for table operations.------------ /See:/ 'tableError' smart constructor.-data TableError = TableError'-  { _teTableName   :: !(Maybe Text)-  , _teErrorDetail :: !(Maybe ErrorDetail)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'TableError' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'teTableName' - Name of the table.------ * 'teErrorDetail' - Detail about the error.-tableError-    :: TableError-tableError = TableError' {_teTableName = Nothing, _teErrorDetail = Nothing}----- | Name of the table.-teTableName :: Lens' TableError (Maybe Text)-teTableName = lens _teTableName (\ s a -> s{_teTableName = a});---- | Detail about the error.-teErrorDetail :: Lens' TableError (Maybe ErrorDetail)-teErrorDetail = lens _teErrorDetail (\ s a -> s{_teErrorDetail = a});--instance FromJSON TableError where-        parseJSON-          = withObject "TableError"-              (\ x ->-                 TableError' <$>-                   (x .:? "TableName") <*> (x .:? "ErrorDetail"))--instance Hashable TableError where--instance NFData TableError where---- | Structure used to create or update the table.------------ /See:/ 'tableInput' smart constructor.-data TableInput = TableInput'-  { _tiRetention         :: !(Maybe Nat)-  , _tiTableType         :: !(Maybe Text)-  , _tiOwner             :: !(Maybe Text)-  , _tiViewOriginalText  :: !(Maybe Text)-  , _tiViewExpandedText  :: !(Maybe Text)-  , _tiLastAnalyzedTime  :: !(Maybe POSIX)-  , _tiStorageDescriptor :: !(Maybe StorageDescriptor)-  , _tiParameters        :: !(Maybe (Map Text Text))-  , _tiLastAccessTime    :: !(Maybe POSIX)-  , _tiDescription       :: !(Maybe Text)-  , _tiPartitionKeys     :: !(Maybe [Column])-  , _tiName              :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'TableInput' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tiRetention' - Retention time for this table.------ * 'tiTableType' - The type of this table (@EXTERNAL_TABLE@ , @VIRTUAL_VIEW@ , etc.).------ * 'tiOwner' - Owner of the table.------ * 'tiViewOriginalText' - If the table is a view, the original text of the view; otherwise @null@ .------ * 'tiViewExpandedText' - If the table is a view, the expanded text of the view; otherwise @null@ .------ * 'tiLastAnalyzedTime' - Last time column statistics were computed for this table.------ * 'tiStorageDescriptor' - A storage descriptor containing information about the physical storage of this table.------ * 'tiParameters' - Properties associated with this table, as a list of key-value pairs.------ * 'tiLastAccessTime' - Last time the table was accessed.------ * 'tiDescription' - Description of the table.------ * 'tiPartitionKeys' - A list of columns by which the table is partitioned. Only primitive types are supported as partition keys.------ * 'tiName' - Name of the table.-tableInput-    :: Text -- ^ 'tiName'-    -> TableInput-tableInput pName_ =-  TableInput'-  { _tiRetention = Nothing-  , _tiTableType = Nothing-  , _tiOwner = Nothing-  , _tiViewOriginalText = Nothing-  , _tiViewExpandedText = Nothing-  , _tiLastAnalyzedTime = Nothing-  , _tiStorageDescriptor = Nothing-  , _tiParameters = Nothing-  , _tiLastAccessTime = Nothing-  , _tiDescription = Nothing-  , _tiPartitionKeys = Nothing-  , _tiName = pName_-  }----- | Retention time for this table.-tiRetention :: Lens' TableInput (Maybe Natural)-tiRetention = lens _tiRetention (\ s a -> s{_tiRetention = a}) . mapping _Nat;---- | The type of this table (@EXTERNAL_TABLE@ , @VIRTUAL_VIEW@ , etc.).-tiTableType :: Lens' TableInput (Maybe Text)-tiTableType = lens _tiTableType (\ s a -> s{_tiTableType = a});---- | Owner of the table.-tiOwner :: Lens' TableInput (Maybe Text)-tiOwner = lens _tiOwner (\ s a -> s{_tiOwner = a});---- | If the table is a view, the original text of the view; otherwise @null@ .-tiViewOriginalText :: Lens' TableInput (Maybe Text)-tiViewOriginalText = lens _tiViewOriginalText (\ s a -> s{_tiViewOriginalText = a});---- | If the table is a view, the expanded text of the view; otherwise @null@ .-tiViewExpandedText :: Lens' TableInput (Maybe Text)-tiViewExpandedText = lens _tiViewExpandedText (\ s a -> s{_tiViewExpandedText = a});---- | Last time column statistics were computed for this table.-tiLastAnalyzedTime :: Lens' TableInput (Maybe UTCTime)-tiLastAnalyzedTime = lens _tiLastAnalyzedTime (\ s a -> s{_tiLastAnalyzedTime = a}) . mapping _Time;---- | A storage descriptor containing information about the physical storage of this table.-tiStorageDescriptor :: Lens' TableInput (Maybe StorageDescriptor)-tiStorageDescriptor = lens _tiStorageDescriptor (\ s a -> s{_tiStorageDescriptor = a});---- | Properties associated with this table, as a list of key-value pairs.-tiParameters :: Lens' TableInput (HashMap Text Text)-tiParameters = lens _tiParameters (\ s a -> s{_tiParameters = a}) . _Default . _Map;---- | Last time the table was accessed.-tiLastAccessTime :: Lens' TableInput (Maybe UTCTime)-tiLastAccessTime = lens _tiLastAccessTime (\ s a -> s{_tiLastAccessTime = a}) . mapping _Time;---- | Description of the table.-tiDescription :: Lens' TableInput (Maybe Text)-tiDescription = lens _tiDescription (\ s a -> s{_tiDescription = a});---- | A list of columns by which the table is partitioned. Only primitive types are supported as partition keys.-tiPartitionKeys :: Lens' TableInput [Column]-tiPartitionKeys = lens _tiPartitionKeys (\ s a -> s{_tiPartitionKeys = a}) . _Default . _Coerce;---- | Name of the table.-tiName :: Lens' TableInput Text-tiName = lens _tiName (\ s a -> s{_tiName = a});--instance Hashable TableInput where--instance NFData TableInput where--instance ToJSON TableInput where-        toJSON TableInput'{..}-          = object-              (catMaybes-                 [("Retention" .=) <$> _tiRetention,-                  ("TableType" .=) <$> _tiTableType,-                  ("Owner" .=) <$> _tiOwner,-                  ("ViewOriginalText" .=) <$> _tiViewOriginalText,-                  ("ViewExpandedText" .=) <$> _tiViewExpandedText,-                  ("LastAnalyzedTime" .=) <$> _tiLastAnalyzedTime,-                  ("StorageDescriptor" .=) <$> _tiStorageDescriptor,-                  ("Parameters" .=) <$> _tiParameters,-                  ("LastAccessTime" .=) <$> _tiLastAccessTime,-                  ("Description" .=) <$> _tiDescription,-                  ("PartitionKeys" .=) <$> _tiPartitionKeys,-                  Just ("Name" .= _tiName)])---- | Specifies a version of a table.------------ /See:/ 'tableVersion' smart constructor.-data TableVersion = TableVersion'-  { _tvVersionId :: !(Maybe Text)-  , _tvTable     :: !(Maybe Table)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'TableVersion' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tvVersionId' - The ID value that identifies this table version.------ * 'tvTable' - The table in question-tableVersion-    :: TableVersion-tableVersion = TableVersion' {_tvVersionId = Nothing, _tvTable = Nothing}----- | The ID value that identifies this table version.-tvVersionId :: Lens' TableVersion (Maybe Text)-tvVersionId = lens _tvVersionId (\ s a -> s{_tvVersionId = a});---- | The table in question-tvTable :: Lens' TableVersion (Maybe Table)-tvTable = lens _tvTable (\ s a -> s{_tvTable = a});--instance FromJSON TableVersion where-        parseJSON-          = withObject "TableVersion"-              (\ x ->-                 TableVersion' <$>-                   (x .:? "VersionId") <*> (x .:? "Table"))--instance Hashable TableVersion where--instance NFData TableVersion where---- | Information about a specific trigger.------------ /See:/ 'trigger' smart constructor.-data Trigger = Trigger'-  { _triState       :: !(Maybe TriggerState)-  , _triActions     :: !(Maybe [Action])-  , _triSchedule    :: !(Maybe Text)-  , _triPredicate   :: !(Maybe Predicate)-  , _triName        :: !(Maybe Text)-  , _triId          :: !(Maybe Text)-  , _triType        :: !(Maybe TriggerType)-  , _triDescription :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Trigger' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'triState' - The current state of the trigger.------ * 'triActions' - The actions initiated by this trigger.------ * 'triSchedule' - A @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ .------ * 'triPredicate' - The predicate of this trigger.------ * 'triName' - Name of the trigger.------ * 'triId' - The trigger ID.------ * 'triType' - The type of trigger that this is.------ * 'triDescription' - A description of this trigger.-trigger-    :: Trigger-trigger =-  Trigger'-  { _triState = Nothing-  , _triActions = Nothing-  , _triSchedule = Nothing-  , _triPredicate = Nothing-  , _triName = Nothing-  , _triId = Nothing-  , _triType = Nothing-  , _triDescription = Nothing-  }----- | The current state of the trigger.-triState :: Lens' Trigger (Maybe TriggerState)-triState = lens _triState (\ s a -> s{_triState = a});---- | The actions initiated by this trigger.-triActions :: Lens' Trigger [Action]-triActions = lens _triActions (\ s a -> s{_triActions = a}) . _Default . _Coerce;---- | A @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ .-triSchedule :: Lens' Trigger (Maybe Text)-triSchedule = lens _triSchedule (\ s a -> s{_triSchedule = a});---- | The predicate of this trigger.-triPredicate :: Lens' Trigger (Maybe Predicate)-triPredicate = lens _triPredicate (\ s a -> s{_triPredicate = a});---- | Name of the trigger.-triName :: Lens' Trigger (Maybe Text)-triName = lens _triName (\ s a -> s{_triName = a});---- | The trigger ID.-triId :: Lens' Trigger (Maybe Text)-triId = lens _triId (\ s a -> s{_triId = a});---- | The type of trigger that this is.-triType :: Lens' Trigger (Maybe TriggerType)-triType = lens _triType (\ s a -> s{_triType = a});---- | A description of this trigger.-triDescription :: Lens' Trigger (Maybe Text)-triDescription = lens _triDescription (\ s a -> s{_triDescription = a});--instance FromJSON Trigger where-        parseJSON-          = withObject "Trigger"-              (\ x ->-                 Trigger' <$>-                   (x .:? "State") <*> (x .:? "Actions" .!= mempty) <*>-                     (x .:? "Schedule")-                     <*> (x .:? "Predicate")-                     <*> (x .:? "Name")-                     <*> (x .:? "Id")-                     <*> (x .:? "Type")-                     <*> (x .:? "Description"))--instance Hashable Trigger where--instance NFData Trigger where---- | A structure used to provide information used to updata a trigger.------------ /See:/ 'triggerUpdate' smart constructor.-data TriggerUpdate = TriggerUpdate'-  { _tuActions     :: !(Maybe [Action])-  , _tuSchedule    :: !(Maybe Text)-  , _tuPredicate   :: !(Maybe Predicate)-  , _tuName        :: !(Maybe Text)-  , _tuDescription :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'TriggerUpdate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tuActions' - The actions initiated by this trigger.------ * 'tuSchedule' - An updated @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ .------ * 'tuPredicate' - The predicate of this trigger, which defines when it will fire.------ * 'tuName' - The name of the trigger.------ * 'tuDescription' - A description of this trigger.-triggerUpdate-    :: TriggerUpdate-triggerUpdate =-  TriggerUpdate'-  { _tuActions = Nothing-  , _tuSchedule = Nothing-  , _tuPredicate = Nothing-  , _tuName = Nothing-  , _tuDescription = Nothing-  }----- | The actions initiated by this trigger.-tuActions :: Lens' TriggerUpdate [Action]-tuActions = lens _tuActions (\ s a -> s{_tuActions = a}) . _Default . _Coerce;---- | An updated @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ .-tuSchedule :: Lens' TriggerUpdate (Maybe Text)-tuSchedule = lens _tuSchedule (\ s a -> s{_tuSchedule = a});---- | The predicate of this trigger, which defines when it will fire.-tuPredicate :: Lens' TriggerUpdate (Maybe Predicate)-tuPredicate = lens _tuPredicate (\ s a -> s{_tuPredicate = a});---- | The name of the trigger.-tuName :: Lens' TriggerUpdate (Maybe Text)-tuName = lens _tuName (\ s a -> s{_tuName = a});---- | A description of this trigger.-tuDescription :: Lens' TriggerUpdate (Maybe Text)-tuDescription = lens _tuDescription (\ s a -> s{_tuDescription = a});--instance Hashable TriggerUpdate where--instance NFData TriggerUpdate where--instance ToJSON TriggerUpdate where-        toJSON TriggerUpdate'{..}-          = object-              (catMaybes-                 [("Actions" .=) <$> _tuActions,-                  ("Schedule" .=) <$> _tuSchedule,-                  ("Predicate" .=) <$> _tuPredicate,-                  ("Name" .=) <$> _tuName,-                  ("Description" .=) <$> _tuDescription])---- | Specifies a Grok classifier to update when passed to UpdateClassifier.------------ /See:/ 'updateGrokClassifierRequest' smart constructor.-data UpdateGrokClassifierRequest = UpdateGrokClassifierRequest'-  { _ugcrClassification :: !(Maybe Text)-  , _ugcrCustomPatterns :: !(Maybe Text)-  , _ugcrGrokPattern    :: !(Maybe Text)-  , _ugcrName           :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateGrokClassifierRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ugcrClassification' - The type of result that the classifier matches, such as Twitter Json, Omniture logs, Cloudwatch logs, and so forth.------ * 'ugcrCustomPatterns' - Custom grok patterns used by this classifier.------ * 'ugcrGrokPattern' - The grok pattern used by this classifier.------ * 'ugcrName' - The name of the @GrokClassifier@ .-updateGrokClassifierRequest-    :: Text -- ^ 'ugcrName'-    -> UpdateGrokClassifierRequest-updateGrokClassifierRequest pName_ =-  UpdateGrokClassifierRequest'-  { _ugcrClassification = Nothing-  , _ugcrCustomPatterns = Nothing-  , _ugcrGrokPattern = Nothing-  , _ugcrName = pName_-  }----- | The type of result that the classifier matches, such as Twitter Json, Omniture logs, Cloudwatch logs, and so forth.-ugcrClassification :: Lens' UpdateGrokClassifierRequest (Maybe Text)-ugcrClassification = lens _ugcrClassification (\ s a -> s{_ugcrClassification = a});---- | Custom grok patterns used by this classifier.-ugcrCustomPatterns :: Lens' UpdateGrokClassifierRequest (Maybe Text)-ugcrCustomPatterns = lens _ugcrCustomPatterns (\ s a -> s{_ugcrCustomPatterns = a});---- | The grok pattern used by this classifier.-ugcrGrokPattern :: Lens' UpdateGrokClassifierRequest (Maybe Text)-ugcrGrokPattern = lens _ugcrGrokPattern (\ s a -> s{_ugcrGrokPattern = a});---- | The name of the @GrokClassifier@ .-ugcrName :: Lens' UpdateGrokClassifierRequest Text-ugcrName = lens _ugcrName (\ s a -> s{_ugcrName = a});--instance Hashable UpdateGrokClassifierRequest where--instance NFData UpdateGrokClassifierRequest where--instance ToJSON UpdateGrokClassifierRequest where-        toJSON UpdateGrokClassifierRequest'{..}-          = object-              (catMaybes-                 [("Classification" .=) <$> _ugcrClassification,-                  ("CustomPatterns" .=) <$> _ugcrCustomPatterns,-                  ("GrokPattern" .=) <$> _ugcrGrokPattern,-                  Just ("Name" .= _ugcrName)])---- | Represents the equivalent of a Hive user-defined function (@UDF@ ) definition.------------ /See:/ 'userDefinedFunction' smart constructor.-data UserDefinedFunction = UserDefinedFunction'-  { _udfOwnerName    :: !(Maybe Text)-  , _udfResourceURIs :: !(Maybe [ResourceURI])-  , _udfFunctionName :: !(Maybe Text)-  , _udfOwnerType    :: !(Maybe PrincipalType)-  , _udfCreateTime   :: !(Maybe POSIX)-  , _udfClassName    :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UserDefinedFunction' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'udfOwnerName' - The owner of the function.------ * 'udfResourceURIs' - The resource URIs for the function.------ * 'udfFunctionName' - The name of the function.------ * 'udfOwnerType' - The owner type.------ * 'udfCreateTime' - The time at which the function was created.------ * 'udfClassName' - The Java class that contains the function code.-userDefinedFunction-    :: UserDefinedFunction-userDefinedFunction =-  UserDefinedFunction'-  { _udfOwnerName = Nothing-  , _udfResourceURIs = Nothing-  , _udfFunctionName = Nothing-  , _udfOwnerType = Nothing-  , _udfCreateTime = Nothing-  , _udfClassName = Nothing-  }----- | The owner of the function.-udfOwnerName :: Lens' UserDefinedFunction (Maybe Text)-udfOwnerName = lens _udfOwnerName (\ s a -> s{_udfOwnerName = a});---- | The resource URIs for the function.-udfResourceURIs :: Lens' UserDefinedFunction [ResourceURI]-udfResourceURIs = lens _udfResourceURIs (\ s a -> s{_udfResourceURIs = a}) . _Default . _Coerce;---- | The name of the function.-udfFunctionName :: Lens' UserDefinedFunction (Maybe Text)-udfFunctionName = lens _udfFunctionName (\ s a -> s{_udfFunctionName = a});---- | The owner type.-udfOwnerType :: Lens' UserDefinedFunction (Maybe PrincipalType)-udfOwnerType = lens _udfOwnerType (\ s a -> s{_udfOwnerType = a});---- | The time at which the function was created.-udfCreateTime :: Lens' UserDefinedFunction (Maybe UTCTime)-udfCreateTime = lens _udfCreateTime (\ s a -> s{_udfCreateTime = a}) . mapping _Time;---- | The Java class that contains the function code.-udfClassName :: Lens' UserDefinedFunction (Maybe Text)-udfClassName = lens _udfClassName (\ s a -> s{_udfClassName = a});--instance FromJSON UserDefinedFunction where-        parseJSON-          = withObject "UserDefinedFunction"-              (\ x ->-                 UserDefinedFunction' <$>-                   (x .:? "OwnerName") <*>-                     (x .:? "ResourceUris" .!= mempty)-                     <*> (x .:? "FunctionName")-                     <*> (x .:? "OwnerType")-                     <*> (x .:? "CreateTime")-                     <*> (x .:? "ClassName"))--instance Hashable UserDefinedFunction where--instance NFData UserDefinedFunction where---- | A structure used to create or updata a user-defined function.------------ /See:/ 'userDefinedFunctionInput' smart constructor.-data UserDefinedFunctionInput = UserDefinedFunctionInput'-  { _udfiOwnerName    :: !(Maybe Text)-  , _udfiResourceURIs :: !(Maybe [ResourceURI])-  , _udfiFunctionName :: !(Maybe Text)-  , _udfiOwnerType    :: !(Maybe PrincipalType)-  , _udfiClassName    :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UserDefinedFunctionInput' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'udfiOwnerName' - The owner of the function.------ * 'udfiResourceURIs' - The resource URIs for the function.------ * 'udfiFunctionName' - The name of the function.------ * 'udfiOwnerType' - The owner type.------ * 'udfiClassName' - The Java class that contains the function code.-userDefinedFunctionInput-    :: UserDefinedFunctionInput-userDefinedFunctionInput =-  UserDefinedFunctionInput'-  { _udfiOwnerName = Nothing-  , _udfiResourceURIs = Nothing-  , _udfiFunctionName = Nothing-  , _udfiOwnerType = Nothing-  , _udfiClassName = Nothing-  }----- | The owner of the function.-udfiOwnerName :: Lens' UserDefinedFunctionInput (Maybe Text)-udfiOwnerName = lens _udfiOwnerName (\ s a -> s{_udfiOwnerName = a});---- | The resource URIs for the function.-udfiResourceURIs :: Lens' UserDefinedFunctionInput [ResourceURI]-udfiResourceURIs = lens _udfiResourceURIs (\ s a -> s{_udfiResourceURIs = a}) . _Default . _Coerce;---- | The name of the function.-udfiFunctionName :: Lens' UserDefinedFunctionInput (Maybe Text)-udfiFunctionName = lens _udfiFunctionName (\ s a -> s{_udfiFunctionName = a});---- | The owner type.-udfiOwnerType :: Lens' UserDefinedFunctionInput (Maybe PrincipalType)-udfiOwnerType = lens _udfiOwnerType (\ s a -> s{_udfiOwnerType = a});---- | The Java class that contains the function code.-udfiClassName :: Lens' UserDefinedFunctionInput (Maybe Text)-udfiClassName = lens _udfiClassName (\ s a -> s{_udfiClassName = a});--instance Hashable UserDefinedFunctionInput where--instance NFData UserDefinedFunctionInput where--instance ToJSON UserDefinedFunctionInput where-        toJSON UserDefinedFunctionInput'{..}-          = object-              (catMaybes-                 [("OwnerName" .=) <$> _udfiOwnerName,-                  ("ResourceUris" .=) <$> _udfiResourceURIs,-                  ("FunctionName" .=) <$> _udfiFunctionName,-                  ("OwnerType" .=) <$> _udfiOwnerType,-                  ("ClassName" .=) <$> _udfiClassName])+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.Glue.Types.Product where++import Network.AWS.Glue.Types.Sum+import Network.AWS.Lens+import Network.AWS.Prelude++-- | Defines an action to be initiated by a trigger.+--+--+--+-- /See:/ 'action' smart constructor.+data Action = Action'+  { _aArguments :: !(Maybe (Map Text Text))+  , _aJobName   :: !(Maybe Text)+  , _aTimeout   :: !(Maybe Nat)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Action' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aArguments' - Arguments to be passed to the job. You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes. For information about how to specify and consume your own Job arguments, see the <http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html Calling AWS Glue APIs in Python> topic in the developer guide. For information about the key-value pairs that AWS Glue consumes to set up your job, see the <http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html Special Parameters Used by AWS Glue> topic in the developer guide.+--+-- * 'aJobName' - The name of a job to be executed.+--+-- * 'aTimeout' - The job run timeout in minutes. It overrides the timeout value of the job.+action+    :: Action+action =+  Action' {_aArguments = Nothing, _aJobName = Nothing, _aTimeout = Nothing}+++-- | Arguments to be passed to the job. You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes. For information about how to specify and consume your own Job arguments, see the <http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html Calling AWS Glue APIs in Python> topic in the developer guide. For information about the key-value pairs that AWS Glue consumes to set up your job, see the <http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html Special Parameters Used by AWS Glue> topic in the developer guide.+aArguments :: Lens' Action (HashMap Text Text)+aArguments = lens _aArguments (\ s a -> s{_aArguments = a}) . _Default . _Map++-- | The name of a job to be executed.+aJobName :: Lens' Action (Maybe Text)+aJobName = lens _aJobName (\ s a -> s{_aJobName = a})++-- | The job run timeout in minutes. It overrides the timeout value of the job.+aTimeout :: Lens' Action (Maybe Natural)+aTimeout = lens _aTimeout (\ s a -> s{_aTimeout = a}) . mapping _Nat++instance FromJSON Action where+        parseJSON+          = withObject "Action"+              (\ x ->+                 Action' <$>+                   (x .:? "Arguments" .!= mempty) <*> (x .:? "JobName")+                     <*> (x .:? "Timeout"))++instance Hashable Action where++instance NFData Action where++instance ToJSON Action where+        toJSON Action'{..}+          = object+              (catMaybes+                 [("Arguments" .=) <$> _aArguments,+                  ("JobName" .=) <$> _aJobName,+                  ("Timeout" .=) <$> _aTimeout])++-- | Records an error that occurred when attempting to stop a specified job run.+--+--+--+-- /See:/ 'batchStopJobRunError' smart constructor.+data BatchStopJobRunError = BatchStopJobRunError'+  { _bsjreJobName     :: !(Maybe Text)+  , _bsjreJobRunId    :: !(Maybe Text)+  , _bsjreErrorDetail :: !(Maybe ErrorDetail)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchStopJobRunError' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bsjreJobName' - The name of the job definition used in the job run in question.+--+-- * 'bsjreJobRunId' - The JobRunId of the job run in question.+--+-- * 'bsjreErrorDetail' - Specifies details about the error that was encountered.+batchStopJobRunError+    :: BatchStopJobRunError+batchStopJobRunError =+  BatchStopJobRunError'+    { _bsjreJobName = Nothing+    , _bsjreJobRunId = Nothing+    , _bsjreErrorDetail = Nothing+    }+++-- | The name of the job definition used in the job run in question.+bsjreJobName :: Lens' BatchStopJobRunError (Maybe Text)+bsjreJobName = lens _bsjreJobName (\ s a -> s{_bsjreJobName = a})++-- | The JobRunId of the job run in question.+bsjreJobRunId :: Lens' BatchStopJobRunError (Maybe Text)+bsjreJobRunId = lens _bsjreJobRunId (\ s a -> s{_bsjreJobRunId = a})++-- | Specifies details about the error that was encountered.+bsjreErrorDetail :: Lens' BatchStopJobRunError (Maybe ErrorDetail)+bsjreErrorDetail = lens _bsjreErrorDetail (\ s a -> s{_bsjreErrorDetail = a})++instance FromJSON BatchStopJobRunError where+        parseJSON+          = withObject "BatchStopJobRunError"+              (\ x ->+                 BatchStopJobRunError' <$>+                   (x .:? "JobName") <*> (x .:? "JobRunId") <*>+                     (x .:? "ErrorDetail"))++instance Hashable BatchStopJobRunError where++instance NFData BatchStopJobRunError where++-- | Records a successful request to stop a specified JobRun.+--+--+--+-- /See:/ 'batchStopJobRunSuccessfulSubmission' smart constructor.+data BatchStopJobRunSuccessfulSubmission = BatchStopJobRunSuccessfulSubmission'+  { _bsjrssJobName  :: !(Maybe Text)+  , _bsjrssJobRunId :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchStopJobRunSuccessfulSubmission' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bsjrssJobName' - The name of the job definition used in the job run that was stopped.+--+-- * 'bsjrssJobRunId' - The JobRunId of the job run that was stopped.+batchStopJobRunSuccessfulSubmission+    :: BatchStopJobRunSuccessfulSubmission+batchStopJobRunSuccessfulSubmission =+  BatchStopJobRunSuccessfulSubmission'+    {_bsjrssJobName = Nothing, _bsjrssJobRunId = Nothing}+++-- | The name of the job definition used in the job run that was stopped.+bsjrssJobName :: Lens' BatchStopJobRunSuccessfulSubmission (Maybe Text)+bsjrssJobName = lens _bsjrssJobName (\ s a -> s{_bsjrssJobName = a})++-- | The JobRunId of the job run that was stopped.+bsjrssJobRunId :: Lens' BatchStopJobRunSuccessfulSubmission (Maybe Text)+bsjrssJobRunId = lens _bsjrssJobRunId (\ s a -> s{_bsjrssJobRunId = a})++instance FromJSON BatchStopJobRunSuccessfulSubmission+         where+        parseJSON+          = withObject "BatchStopJobRunSuccessfulSubmission"+              (\ x ->+                 BatchStopJobRunSuccessfulSubmission' <$>+                   (x .:? "JobName") <*> (x .:? "JobRunId"))++instance Hashable BatchStopJobRunSuccessfulSubmission+         where++instance NFData BatchStopJobRunSuccessfulSubmission+         where++-- | Specifies a table definition in the Data Catalog.+--+--+--+-- /See:/ 'catalogEntry' smart constructor.+data CatalogEntry = CatalogEntry'+  { _ceDatabaseName :: !Text+  , _ceTableName    :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CatalogEntry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ceDatabaseName' - The database in which the table metadata resides.+--+-- * 'ceTableName' - The name of the table in question.+catalogEntry+    :: Text -- ^ 'ceDatabaseName'+    -> Text -- ^ 'ceTableName'+    -> CatalogEntry+catalogEntry pDatabaseName_ pTableName_ =+  CatalogEntry' {_ceDatabaseName = pDatabaseName_, _ceTableName = pTableName_}+++-- | The database in which the table metadata resides.+ceDatabaseName :: Lens' CatalogEntry Text+ceDatabaseName = lens _ceDatabaseName (\ s a -> s{_ceDatabaseName = a})++-- | The name of the table in question.+ceTableName :: Lens' CatalogEntry Text+ceTableName = lens _ceTableName (\ s a -> s{_ceTableName = a})++instance Hashable CatalogEntry where++instance NFData CatalogEntry where++instance ToJSON CatalogEntry where+        toJSON CatalogEntry'{..}+          = object+              (catMaybes+                 [Just ("DatabaseName" .= _ceDatabaseName),+                  Just ("TableName" .= _ceTableName)])++-- | A structure containing migration status information.+--+--+--+-- /See:/ 'catalogImportStatus' smart constructor.+data CatalogImportStatus = CatalogImportStatus'+  { _cisImportedBy      :: !(Maybe Text)+  , _cisImportTime      :: !(Maybe POSIX)+  , _cisImportCompleted :: !(Maybe Bool)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CatalogImportStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cisImportedBy' - The name of the person who initiated the migration.+--+-- * 'cisImportTime' - The time that the migration was started.+--+-- * 'cisImportCompleted' - True if the migration has completed, or False otherwise.+catalogImportStatus+    :: CatalogImportStatus+catalogImportStatus =+  CatalogImportStatus'+    { _cisImportedBy = Nothing+    , _cisImportTime = Nothing+    , _cisImportCompleted = Nothing+    }+++-- | The name of the person who initiated the migration.+cisImportedBy :: Lens' CatalogImportStatus (Maybe Text)+cisImportedBy = lens _cisImportedBy (\ s a -> s{_cisImportedBy = a})++-- | The time that the migration was started.+cisImportTime :: Lens' CatalogImportStatus (Maybe UTCTime)+cisImportTime = lens _cisImportTime (\ s a -> s{_cisImportTime = a}) . mapping _Time++-- | True if the migration has completed, or False otherwise.+cisImportCompleted :: Lens' CatalogImportStatus (Maybe Bool)+cisImportCompleted = lens _cisImportCompleted (\ s a -> s{_cisImportCompleted = a})++instance FromJSON CatalogImportStatus where+        parseJSON+          = withObject "CatalogImportStatus"+              (\ x ->+                 CatalogImportStatus' <$>+                   (x .:? "ImportedBy") <*> (x .:? "ImportTime") <*>+                     (x .:? "ImportCompleted"))++instance Hashable CatalogImportStatus where++instance NFData CatalogImportStatus where++-- | Classifiers are written in Python and triggered during a crawl task. You can write your own classifiers to best categorize your data sources and specify the appropriate schemas to use for them. A classifier checks whether a given file is in a format it can handle, and if it is, the classifier creates a schema in the form of a @StructType@ object that matches that data format.+--+--+-- A classifier can be a @grok@ classifier, an XML classifier, or a JSON classifier, asspecified in one of the fields in the @Classifier@ object.+--+--+-- /See:/ 'classifier' smart constructor.+data Classifier = Classifier'+  { _cGrokClassifier :: !(Maybe GrokClassifier)+  , _cXMLClassifier  :: !(Maybe XMLClassifier)+  , _cJSONClassifier :: !(Maybe JSONClassifier)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Classifier' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cGrokClassifier' - A @GrokClassifier@ object.+--+-- * 'cXMLClassifier' - An @XMLClassifier@ object.+--+-- * 'cJSONClassifier' - A @JsonClassifier@ object.+classifier+    :: Classifier+classifier =+  Classifier'+    { _cGrokClassifier = Nothing+    , _cXMLClassifier = Nothing+    , _cJSONClassifier = Nothing+    }+++-- | A @GrokClassifier@ object.+cGrokClassifier :: Lens' Classifier (Maybe GrokClassifier)+cGrokClassifier = lens _cGrokClassifier (\ s a -> s{_cGrokClassifier = a})++-- | An @XMLClassifier@ object.+cXMLClassifier :: Lens' Classifier (Maybe XMLClassifier)+cXMLClassifier = lens _cXMLClassifier (\ s a -> s{_cXMLClassifier = a})++-- | A @JsonClassifier@ object.+cJSONClassifier :: Lens' Classifier (Maybe JSONClassifier)+cJSONClassifier = lens _cJSONClassifier (\ s a -> s{_cJSONClassifier = a})++instance FromJSON Classifier where+        parseJSON+          = withObject "Classifier"+              (\ x ->+                 Classifier' <$>+                   (x .:? "GrokClassifier") <*> (x .:? "XMLClassifier")+                     <*> (x .:? "JsonClassifier"))++instance Hashable Classifier where++instance NFData Classifier where++-- | Represents a directional edge in a directed acyclic graph (DAG).+--+--+--+-- /See:/ 'codeGenEdge' smart constructor.+data CodeGenEdge = CodeGenEdge'+  { _cgeTargetParameter :: !(Maybe Text)+  , _cgeSource          :: !Text+  , _cgeTarget          :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CodeGenEdge' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgeTargetParameter' - The target of the edge.+--+-- * 'cgeSource' - The ID of the node at which the edge starts.+--+-- * 'cgeTarget' - The ID of the node at which the edge ends.+codeGenEdge+    :: Text -- ^ 'cgeSource'+    -> Text -- ^ 'cgeTarget'+    -> CodeGenEdge+codeGenEdge pSource_ pTarget_ =+  CodeGenEdge'+    { _cgeTargetParameter = Nothing+    , _cgeSource = pSource_+    , _cgeTarget = pTarget_+    }+++-- | The target of the edge.+cgeTargetParameter :: Lens' CodeGenEdge (Maybe Text)+cgeTargetParameter = lens _cgeTargetParameter (\ s a -> s{_cgeTargetParameter = a})++-- | The ID of the node at which the edge starts.+cgeSource :: Lens' CodeGenEdge Text+cgeSource = lens _cgeSource (\ s a -> s{_cgeSource = a})++-- | The ID of the node at which the edge ends.+cgeTarget :: Lens' CodeGenEdge Text+cgeTarget = lens _cgeTarget (\ s a -> s{_cgeTarget = a})++instance FromJSON CodeGenEdge where+        parseJSON+          = withObject "CodeGenEdge"+              (\ x ->+                 CodeGenEdge' <$>+                   (x .:? "TargetParameter") <*> (x .: "Source") <*>+                     (x .: "Target"))++instance Hashable CodeGenEdge where++instance NFData CodeGenEdge where++instance ToJSON CodeGenEdge where+        toJSON CodeGenEdge'{..}+          = object+              (catMaybes+                 [("TargetParameter" .=) <$> _cgeTargetParameter,+                  Just ("Source" .= _cgeSource),+                  Just ("Target" .= _cgeTarget)])++-- | Represents a node in a directed acyclic graph (DAG)+--+--+--+-- /See:/ 'codeGenNode' smart constructor.+data CodeGenNode = CodeGenNode'+  { _cgnLineNumber :: !(Maybe Int)+  , _cgnId         :: !Text+  , _cgnNodeType   :: !Text+  , _cgnArgs       :: ![CodeGenNodeArg]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CodeGenNode' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgnLineNumber' - The line number of the node.+--+-- * 'cgnId' - A node identifier that is unique within the node's graph.+--+-- * 'cgnNodeType' - The type of node this is.+--+-- * 'cgnArgs' - Properties of the node, in the form of name-value pairs.+codeGenNode+    :: Text -- ^ 'cgnId'+    -> Text -- ^ 'cgnNodeType'+    -> CodeGenNode+codeGenNode pId_ pNodeType_ =+  CodeGenNode'+    { _cgnLineNumber = Nothing+    , _cgnId = pId_+    , _cgnNodeType = pNodeType_+    , _cgnArgs = mempty+    }+++-- | The line number of the node.+cgnLineNumber :: Lens' CodeGenNode (Maybe Int)+cgnLineNumber = lens _cgnLineNumber (\ s a -> s{_cgnLineNumber = a})++-- | A node identifier that is unique within the node's graph.+cgnId :: Lens' CodeGenNode Text+cgnId = lens _cgnId (\ s a -> s{_cgnId = a})++-- | The type of node this is.+cgnNodeType :: Lens' CodeGenNode Text+cgnNodeType = lens _cgnNodeType (\ s a -> s{_cgnNodeType = a})++-- | Properties of the node, in the form of name-value pairs.+cgnArgs :: Lens' CodeGenNode [CodeGenNodeArg]+cgnArgs = lens _cgnArgs (\ s a -> s{_cgnArgs = a}) . _Coerce++instance FromJSON CodeGenNode where+        parseJSON+          = withObject "CodeGenNode"+              (\ x ->+                 CodeGenNode' <$>+                   (x .:? "LineNumber") <*> (x .: "Id") <*>+                     (x .: "NodeType")+                     <*> (x .:? "Args" .!= mempty))++instance Hashable CodeGenNode where++instance NFData CodeGenNode where++instance ToJSON CodeGenNode where+        toJSON CodeGenNode'{..}+          = object+              (catMaybes+                 [("LineNumber" .=) <$> _cgnLineNumber,+                  Just ("Id" .= _cgnId),+                  Just ("NodeType" .= _cgnNodeType),+                  Just ("Args" .= _cgnArgs)])++-- | An argument or property of a node.+--+--+--+-- /See:/ 'codeGenNodeArg' smart constructor.+data CodeGenNodeArg = CodeGenNodeArg'+  { _cgnaParam :: !(Maybe Bool)+  , _cgnaName  :: !Text+  , _cgnaValue :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CodeGenNodeArg' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgnaParam' - True if the value is used as a parameter.+--+-- * 'cgnaName' - The name of the argument or property.+--+-- * 'cgnaValue' - The value of the argument or property.+codeGenNodeArg+    :: Text -- ^ 'cgnaName'+    -> Text -- ^ 'cgnaValue'+    -> CodeGenNodeArg+codeGenNodeArg pName_ pValue_ =+  CodeGenNodeArg'+    {_cgnaParam = Nothing, _cgnaName = pName_, _cgnaValue = pValue_}+++-- | True if the value is used as a parameter.+cgnaParam :: Lens' CodeGenNodeArg (Maybe Bool)+cgnaParam = lens _cgnaParam (\ s a -> s{_cgnaParam = a})++-- | The name of the argument or property.+cgnaName :: Lens' CodeGenNodeArg Text+cgnaName = lens _cgnaName (\ s a -> s{_cgnaName = a})++-- | The value of the argument or property.+cgnaValue :: Lens' CodeGenNodeArg Text+cgnaValue = lens _cgnaValue (\ s a -> s{_cgnaValue = a})++instance FromJSON CodeGenNodeArg where+        parseJSON+          = withObject "CodeGenNodeArg"+              (\ x ->+                 CodeGenNodeArg' <$>+                   (x .:? "Param") <*> (x .: "Name") <*> (x .: "Value"))++instance Hashable CodeGenNodeArg where++instance NFData CodeGenNodeArg where++instance ToJSON CodeGenNodeArg where+        toJSON CodeGenNodeArg'{..}+          = object+              (catMaybes+                 [("Param" .=) <$> _cgnaParam,+                  Just ("Name" .= _cgnaName),+                  Just ("Value" .= _cgnaValue)])++-- | A column in a @Table@ .+--+--+--+-- /See:/ 'column' smart constructor.+data Column = Column'+  { _cType    :: !(Maybe Text)+  , _cComment :: !(Maybe Text)+  , _cName    :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Column' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cType' - The datatype of data in the @Column@ .+--+-- * 'cComment' - Free-form text comment.+--+-- * 'cName' - The name of the @Column@ .+column+    :: Text -- ^ 'cName'+    -> Column+column pName_ = Column' {_cType = Nothing, _cComment = Nothing, _cName = pName_}+++-- | The datatype of data in the @Column@ .+cType :: Lens' Column (Maybe Text)+cType = lens _cType (\ s a -> s{_cType = a})++-- | Free-form text comment.+cComment :: Lens' Column (Maybe Text)+cComment = lens _cComment (\ s a -> s{_cComment = a})++-- | The name of the @Column@ .+cName :: Lens' Column Text+cName = lens _cName (\ s a -> s{_cName = a})++instance FromJSON Column where+        parseJSON+          = withObject "Column"+              (\ x ->+                 Column' <$>+                   (x .:? "Type") <*> (x .:? "Comment") <*>+                     (x .: "Name"))++instance Hashable Column where++instance NFData Column where++instance ToJSON Column where+        toJSON Column'{..}+          = object+              (catMaybes+                 [("Type" .=) <$> _cType,+                  ("Comment" .=) <$> _cComment,+                  Just ("Name" .= _cName)])++-- | Defines a condition under which a trigger fires.+--+--+--+-- /See:/ 'condition' smart constructor.+data Condition = Condition'+  { _cState           :: !(Maybe JobRunState)+  , _cJobName         :: !(Maybe Text)+  , _cLogicalOperator :: !(Maybe LogicalOperator)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Condition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cState' - The condition state. Currently, the values supported are SUCCEEDED, STOPPED, TIMEOUT and FAILED.+--+-- * 'cJobName' - The name of the Job to whose JobRuns this condition applies and on which this trigger waits.+--+-- * 'cLogicalOperator' - A logical operator.+condition+    :: Condition+condition =+  Condition'+    {_cState = Nothing, _cJobName = Nothing, _cLogicalOperator = Nothing}+++-- | The condition state. Currently, the values supported are SUCCEEDED, STOPPED, TIMEOUT and FAILED.+cState :: Lens' Condition (Maybe JobRunState)+cState = lens _cState (\ s a -> s{_cState = a})++-- | The name of the Job to whose JobRuns this condition applies and on which this trigger waits.+cJobName :: Lens' Condition (Maybe Text)+cJobName = lens _cJobName (\ s a -> s{_cJobName = a})++-- | A logical operator.+cLogicalOperator :: Lens' Condition (Maybe LogicalOperator)+cLogicalOperator = lens _cLogicalOperator (\ s a -> s{_cLogicalOperator = a})++instance FromJSON Condition where+        parseJSON+          = withObject "Condition"+              (\ x ->+                 Condition' <$>+                   (x .:? "State") <*> (x .:? "JobName") <*>+                     (x .:? "LogicalOperator"))++instance Hashable Condition where++instance NFData Condition where++instance ToJSON Condition where+        toJSON Condition'{..}+          = object+              (catMaybes+                 [("State" .=) <$> _cState,+                  ("JobName" .=) <$> _cJobName,+                  ("LogicalOperator" .=) <$> _cLogicalOperator])++-- | Defines a connection to a data source.+--+--+--+-- /See:/ 'connection' smart constructor.+data Connection = Connection'+  { _conCreationTime :: !(Maybe POSIX)+  , _conLastUpdatedBy :: !(Maybe Text)+  , _conConnectionProperties :: !(Maybe (Map ConnectionPropertyKey Text))+  , _conLastUpdatedTime :: !(Maybe POSIX)+  , _conMatchCriteria :: !(Maybe [Text])+  , _conPhysicalConnectionRequirements :: !(Maybe PhysicalConnectionRequirements)+  , _conName :: !(Maybe Text)+  , _conDescription :: !(Maybe Text)+  , _conConnectionType :: !(Maybe ConnectionType)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Connection' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'conCreationTime' - The time this connection definition was created.+--+-- * 'conLastUpdatedBy' - The user, group or role that last updated this connection definition.+--+-- * 'conConnectionProperties' - A list of key-value pairs used as parameters for this connection.+--+-- * 'conLastUpdatedTime' - The last time this connection definition was updated.+--+-- * 'conMatchCriteria' - A list of criteria that can be used in selecting this connection.+--+-- * 'conPhysicalConnectionRequirements' - A map of physical connection requirements, such as VPC and SecurityGroup, needed for making this connection successfully.+--+-- * 'conName' - The name of the connection definition.+--+-- * 'conDescription' - Description of the connection.+--+-- * 'conConnectionType' - The type of the connection. Currently, only JDBC is supported; SFTP is not supported.+connection+    :: Connection+connection =+  Connection'+    { _conCreationTime = Nothing+    , _conLastUpdatedBy = Nothing+    , _conConnectionProperties = Nothing+    , _conLastUpdatedTime = Nothing+    , _conMatchCriteria = Nothing+    , _conPhysicalConnectionRequirements = Nothing+    , _conName = Nothing+    , _conDescription = Nothing+    , _conConnectionType = Nothing+    }+++-- | The time this connection definition was created.+conCreationTime :: Lens' Connection (Maybe UTCTime)+conCreationTime = lens _conCreationTime (\ s a -> s{_conCreationTime = a}) . mapping _Time++-- | The user, group or role that last updated this connection definition.+conLastUpdatedBy :: Lens' Connection (Maybe Text)+conLastUpdatedBy = lens _conLastUpdatedBy (\ s a -> s{_conLastUpdatedBy = a})++-- | A list of key-value pairs used as parameters for this connection.+conConnectionProperties :: Lens' Connection (HashMap ConnectionPropertyKey Text)+conConnectionProperties = lens _conConnectionProperties (\ s a -> s{_conConnectionProperties = a}) . _Default . _Map++-- | The last time this connection definition was updated.+conLastUpdatedTime :: Lens' Connection (Maybe UTCTime)+conLastUpdatedTime = lens _conLastUpdatedTime (\ s a -> s{_conLastUpdatedTime = a}) . mapping _Time++-- | A list of criteria that can be used in selecting this connection.+conMatchCriteria :: Lens' Connection [Text]+conMatchCriteria = lens _conMatchCriteria (\ s a -> s{_conMatchCriteria = a}) . _Default . _Coerce++-- | A map of physical connection requirements, such as VPC and SecurityGroup, needed for making this connection successfully.+conPhysicalConnectionRequirements :: Lens' Connection (Maybe PhysicalConnectionRequirements)+conPhysicalConnectionRequirements = lens _conPhysicalConnectionRequirements (\ s a -> s{_conPhysicalConnectionRequirements = a})++-- | The name of the connection definition.+conName :: Lens' Connection (Maybe Text)+conName = lens _conName (\ s a -> s{_conName = a})++-- | Description of the connection.+conDescription :: Lens' Connection (Maybe Text)+conDescription = lens _conDescription (\ s a -> s{_conDescription = a})++-- | The type of the connection. Currently, only JDBC is supported; SFTP is not supported.+conConnectionType :: Lens' Connection (Maybe ConnectionType)+conConnectionType = lens _conConnectionType (\ s a -> s{_conConnectionType = a})++instance FromJSON Connection where+        parseJSON+          = withObject "Connection"+              (\ x ->+                 Connection' <$>+                   (x .:? "CreationTime") <*> (x .:? "LastUpdatedBy")+                     <*> (x .:? "ConnectionProperties" .!= mempty)+                     <*> (x .:? "LastUpdatedTime")+                     <*> (x .:? "MatchCriteria" .!= mempty)+                     <*> (x .:? "PhysicalConnectionRequirements")+                     <*> (x .:? "Name")+                     <*> (x .:? "Description")+                     <*> (x .:? "ConnectionType"))++instance Hashable Connection where++instance NFData Connection where++-- | A structure used to specify a connection to create or update.+--+--+--+-- /See:/ 'connectionInput' smart constructor.+data ConnectionInput = ConnectionInput'+  { _ciMatchCriteria                  :: !(Maybe [Text])+  , _ciPhysicalConnectionRequirements :: !(Maybe PhysicalConnectionRequirements)+  , _ciDescription                    :: !(Maybe Text)+  , _ciName                           :: !Text+  , _ciConnectionType                 :: !ConnectionType+  , _ciConnectionProperties           :: !(Map ConnectionPropertyKey Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ConnectionInput' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ciMatchCriteria' - A list of criteria that can be used in selecting this connection.+--+-- * 'ciPhysicalConnectionRequirements' - A map of physical connection requirements, such as VPC and SecurityGroup, needed for making this connection successfully.+--+-- * 'ciDescription' - Description of the connection.+--+-- * 'ciName' - The name of the connection.+--+-- * 'ciConnectionType' - The type of the connection. Currently, only JDBC is supported; SFTP is not supported.+--+-- * 'ciConnectionProperties' - A list of key-value pairs used as parameters for this connection.+connectionInput+    :: Text -- ^ 'ciName'+    -> ConnectionType -- ^ 'ciConnectionType'+    -> ConnectionInput+connectionInput pName_ pConnectionType_ =+  ConnectionInput'+    { _ciMatchCriteria = Nothing+    , _ciPhysicalConnectionRequirements = Nothing+    , _ciDescription = Nothing+    , _ciName = pName_+    , _ciConnectionType = pConnectionType_+    , _ciConnectionProperties = mempty+    }+++-- | A list of criteria that can be used in selecting this connection.+ciMatchCriteria :: Lens' ConnectionInput [Text]+ciMatchCriteria = lens _ciMatchCriteria (\ s a -> s{_ciMatchCriteria = a}) . _Default . _Coerce++-- | A map of physical connection requirements, such as VPC and SecurityGroup, needed for making this connection successfully.+ciPhysicalConnectionRequirements :: Lens' ConnectionInput (Maybe PhysicalConnectionRequirements)+ciPhysicalConnectionRequirements = lens _ciPhysicalConnectionRequirements (\ s a -> s{_ciPhysicalConnectionRequirements = a})++-- | Description of the connection.+ciDescription :: Lens' ConnectionInput (Maybe Text)+ciDescription = lens _ciDescription (\ s a -> s{_ciDescription = a})++-- | The name of the connection.+ciName :: Lens' ConnectionInput Text+ciName = lens _ciName (\ s a -> s{_ciName = a})++-- | The type of the connection. Currently, only JDBC is supported; SFTP is not supported.+ciConnectionType :: Lens' ConnectionInput ConnectionType+ciConnectionType = lens _ciConnectionType (\ s a -> s{_ciConnectionType = a})++-- | A list of key-value pairs used as parameters for this connection.+ciConnectionProperties :: Lens' ConnectionInput (HashMap ConnectionPropertyKey Text)+ciConnectionProperties = lens _ciConnectionProperties (\ s a -> s{_ciConnectionProperties = a}) . _Map++instance Hashable ConnectionInput where++instance NFData ConnectionInput where++instance ToJSON ConnectionInput where+        toJSON ConnectionInput'{..}+          = object+              (catMaybes+                 [("MatchCriteria" .=) <$> _ciMatchCriteria,+                  ("PhysicalConnectionRequirements" .=) <$>+                    _ciPhysicalConnectionRequirements,+                  ("Description" .=) <$> _ciDescription,+                  Just ("Name" .= _ciName),+                  Just ("ConnectionType" .= _ciConnectionType),+                  Just+                    ("ConnectionProperties" .= _ciConnectionProperties)])++-- | Specifies the connections used by a job.+--+--+--+-- /See:/ 'connectionsList' smart constructor.+newtype ConnectionsList = ConnectionsList'+  { _clConnections :: Maybe [Text]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ConnectionsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clConnections' - A list of connections used by the job.+connectionsList+    :: ConnectionsList+connectionsList = ConnectionsList' {_clConnections = Nothing}+++-- | A list of connections used by the job.+clConnections :: Lens' ConnectionsList [Text]+clConnections = lens _clConnections (\ s a -> s{_clConnections = a}) . _Default . _Coerce++instance FromJSON ConnectionsList where+        parseJSON+          = withObject "ConnectionsList"+              (\ x ->+                 ConnectionsList' <$>+                   (x .:? "Connections" .!= mempty))++instance Hashable ConnectionsList where++instance NFData ConnectionsList where++instance ToJSON ConnectionsList where+        toJSON ConnectionsList'{..}+          = object+              (catMaybes [("Connections" .=) <$> _clConnections])++-- | Specifies a crawler program that examines a data source and uses classifiers to try to determine its schema. If successful, the crawler records metadata concerning the data source in the AWS Glue Data Catalog.+--+--+--+-- /See:/ 'crawler' smart constructor.+data Crawler = Crawler'+  { _craCreationTime       :: !(Maybe POSIX)+  , _craState              :: !(Maybe CrawlerState)+  , _craSchemaChangePolicy :: !(Maybe SchemaChangePolicy)+  , _craLastUpdated        :: !(Maybe POSIX)+  , _craSchedule           :: !(Maybe Schedule)+  , _craLastCrawl          :: !(Maybe LastCrawlInfo)+  , _craCrawlElapsedTime   :: !(Maybe Integer)+  , _craClassifiers        :: !(Maybe [Text])+  , _craRole               :: !(Maybe Text)+  , _craName               :: !(Maybe Text)+  , _craTargets            :: !(Maybe CrawlerTargets)+  , _craVersion            :: !(Maybe Integer)+  , _craDatabaseName       :: !(Maybe Text)+  , _craConfiguration      :: !(Maybe Text)+  , _craTablePrefix        :: !(Maybe Text)+  , _craDescription        :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Crawler' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'craCreationTime' - The time when the crawler was created.+--+-- * 'craState' - Indicates whether the crawler is running, or whether a run is pending.+--+-- * 'craSchemaChangePolicy' - Sets the behavior when the crawler finds a changed or deleted object.+--+-- * 'craLastUpdated' - The time the crawler was last updated.+--+-- * 'craSchedule' - For scheduled crawlers, the schedule when the crawler runs.+--+-- * 'craLastCrawl' - The status of the last crawl, and potentially error information if an error occurred.+--+-- * 'craCrawlElapsedTime' - If the crawler is running, contains the total time elapsed since the last crawl began.+--+-- * 'craClassifiers' - A list of custom classifiers associated with the crawler.+--+-- * 'craRole' - The IAM role (or ARN of an IAM role) used to access customer resources, such as data in Amazon S3.+--+-- * 'craName' - The crawler name.+--+-- * 'craTargets' - A collection of targets to crawl.+--+-- * 'craVersion' - The version of the crawler.+--+-- * 'craDatabaseName' - The database where metadata is written by this crawler.+--+-- * 'craConfiguration' - Crawler configuration information. This versioned JSON string allows users to specify aspects of a Crawler's behavior. You can use this field to force partitions to inherit metadata such as classification, input format, output format, serde information, and schema from their parent table, rather than detect this information separately for each partition. Use the following JSON string to specify that behavior: Example: @'{ "Version": 1.0, "CrawlerOutput": { "Partitions": { "AddOrUpdateBehavior": "InheritFromTable" } } }'@+--+-- * 'craTablePrefix' - The prefix added to the names of tables that are created.+--+-- * 'craDescription' - A description of the crawler.+crawler+    :: Crawler+crawler =+  Crawler'+    { _craCreationTime = Nothing+    , _craState = Nothing+    , _craSchemaChangePolicy = Nothing+    , _craLastUpdated = Nothing+    , _craSchedule = Nothing+    , _craLastCrawl = Nothing+    , _craCrawlElapsedTime = Nothing+    , _craClassifiers = Nothing+    , _craRole = Nothing+    , _craName = Nothing+    , _craTargets = Nothing+    , _craVersion = Nothing+    , _craDatabaseName = Nothing+    , _craConfiguration = Nothing+    , _craTablePrefix = Nothing+    , _craDescription = Nothing+    }+++-- | The time when the crawler was created.+craCreationTime :: Lens' Crawler (Maybe UTCTime)+craCreationTime = lens _craCreationTime (\ s a -> s{_craCreationTime = a}) . mapping _Time++-- | Indicates whether the crawler is running, or whether a run is pending.+craState :: Lens' Crawler (Maybe CrawlerState)+craState = lens _craState (\ s a -> s{_craState = a})++-- | Sets the behavior when the crawler finds a changed or deleted object.+craSchemaChangePolicy :: Lens' Crawler (Maybe SchemaChangePolicy)+craSchemaChangePolicy = lens _craSchemaChangePolicy (\ s a -> s{_craSchemaChangePolicy = a})++-- | The time the crawler was last updated.+craLastUpdated :: Lens' Crawler (Maybe UTCTime)+craLastUpdated = lens _craLastUpdated (\ s a -> s{_craLastUpdated = a}) . mapping _Time++-- | For scheduled crawlers, the schedule when the crawler runs.+craSchedule :: Lens' Crawler (Maybe Schedule)+craSchedule = lens _craSchedule (\ s a -> s{_craSchedule = a})++-- | The status of the last crawl, and potentially error information if an error occurred.+craLastCrawl :: Lens' Crawler (Maybe LastCrawlInfo)+craLastCrawl = lens _craLastCrawl (\ s a -> s{_craLastCrawl = a})++-- | If the crawler is running, contains the total time elapsed since the last crawl began.+craCrawlElapsedTime :: Lens' Crawler (Maybe Integer)+craCrawlElapsedTime = lens _craCrawlElapsedTime (\ s a -> s{_craCrawlElapsedTime = a})++-- | A list of custom classifiers associated with the crawler.+craClassifiers :: Lens' Crawler [Text]+craClassifiers = lens _craClassifiers (\ s a -> s{_craClassifiers = a}) . _Default . _Coerce++-- | The IAM role (or ARN of an IAM role) used to access customer resources, such as data in Amazon S3.+craRole :: Lens' Crawler (Maybe Text)+craRole = lens _craRole (\ s a -> s{_craRole = a})++-- | The crawler name.+craName :: Lens' Crawler (Maybe Text)+craName = lens _craName (\ s a -> s{_craName = a})++-- | A collection of targets to crawl.+craTargets :: Lens' Crawler (Maybe CrawlerTargets)+craTargets = lens _craTargets (\ s a -> s{_craTargets = a})++-- | The version of the crawler.+craVersion :: Lens' Crawler (Maybe Integer)+craVersion = lens _craVersion (\ s a -> s{_craVersion = a})++-- | The database where metadata is written by this crawler.+craDatabaseName :: Lens' Crawler (Maybe Text)+craDatabaseName = lens _craDatabaseName (\ s a -> s{_craDatabaseName = a})++-- | Crawler configuration information. This versioned JSON string allows users to specify aspects of a Crawler's behavior. You can use this field to force partitions to inherit metadata such as classification, input format, output format, serde information, and schema from their parent table, rather than detect this information separately for each partition. Use the following JSON string to specify that behavior: Example: @'{ "Version": 1.0, "CrawlerOutput": { "Partitions": { "AddOrUpdateBehavior": "InheritFromTable" } } }'@+craConfiguration :: Lens' Crawler (Maybe Text)+craConfiguration = lens _craConfiguration (\ s a -> s{_craConfiguration = a})++-- | The prefix added to the names of tables that are created.+craTablePrefix :: Lens' Crawler (Maybe Text)+craTablePrefix = lens _craTablePrefix (\ s a -> s{_craTablePrefix = a})++-- | A description of the crawler.+craDescription :: Lens' Crawler (Maybe Text)+craDescription = lens _craDescription (\ s a -> s{_craDescription = a})++instance FromJSON Crawler where+        parseJSON+          = withObject "Crawler"+              (\ x ->+                 Crawler' <$>+                   (x .:? "CreationTime") <*> (x .:? "State") <*>+                     (x .:? "SchemaChangePolicy")+                     <*> (x .:? "LastUpdated")+                     <*> (x .:? "Schedule")+                     <*> (x .:? "LastCrawl")+                     <*> (x .:? "CrawlElapsedTime")+                     <*> (x .:? "Classifiers" .!= mempty)+                     <*> (x .:? "Role")+                     <*> (x .:? "Name")+                     <*> (x .:? "Targets")+                     <*> (x .:? "Version")+                     <*> (x .:? "DatabaseName")+                     <*> (x .:? "Configuration")+                     <*> (x .:? "TablePrefix")+                     <*> (x .:? "Description"))++instance Hashable Crawler where++instance NFData Crawler where++-- | Metrics for a specified crawler.+--+--+--+-- /See:/ 'crawlerMetrics' smart constructor.+data CrawlerMetrics = CrawlerMetrics'+  { _cmLastRuntimeSeconds   :: !(Maybe Double)+  , _cmTablesCreated        :: !(Maybe Nat)+  , _cmStillEstimating      :: !(Maybe Bool)+  , _cmMedianRuntimeSeconds :: !(Maybe Double)+  , _cmTimeLeftSeconds      :: !(Maybe Double)+  , _cmTablesDeleted        :: !(Maybe Nat)+  , _cmTablesUpdated        :: !(Maybe Nat)+  , _cmCrawlerName          :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CrawlerMetrics' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cmLastRuntimeSeconds' - The duration of the crawler's most recent run, in seconds.+--+-- * 'cmTablesCreated' - The number of tables created by this crawler.+--+-- * 'cmStillEstimating' - True if the crawler is still estimating how long it will take to complete this run.+--+-- * 'cmMedianRuntimeSeconds' - The median duration of this crawler's runs, in seconds.+--+-- * 'cmTimeLeftSeconds' - The estimated time left to complete a running crawl.+--+-- * 'cmTablesDeleted' - The number of tables deleted by this crawler.+--+-- * 'cmTablesUpdated' - The number of tables updated by this crawler.+--+-- * 'cmCrawlerName' - The name of the crawler.+crawlerMetrics+    :: CrawlerMetrics+crawlerMetrics =+  CrawlerMetrics'+    { _cmLastRuntimeSeconds = Nothing+    , _cmTablesCreated = Nothing+    , _cmStillEstimating = Nothing+    , _cmMedianRuntimeSeconds = Nothing+    , _cmTimeLeftSeconds = Nothing+    , _cmTablesDeleted = Nothing+    , _cmTablesUpdated = Nothing+    , _cmCrawlerName = Nothing+    }+++-- | The duration of the crawler's most recent run, in seconds.+cmLastRuntimeSeconds :: Lens' CrawlerMetrics (Maybe Double)+cmLastRuntimeSeconds = lens _cmLastRuntimeSeconds (\ s a -> s{_cmLastRuntimeSeconds = a})++-- | The number of tables created by this crawler.+cmTablesCreated :: Lens' CrawlerMetrics (Maybe Natural)+cmTablesCreated = lens _cmTablesCreated (\ s a -> s{_cmTablesCreated = a}) . mapping _Nat++-- | True if the crawler is still estimating how long it will take to complete this run.+cmStillEstimating :: Lens' CrawlerMetrics (Maybe Bool)+cmStillEstimating = lens _cmStillEstimating (\ s a -> s{_cmStillEstimating = a})++-- | The median duration of this crawler's runs, in seconds.+cmMedianRuntimeSeconds :: Lens' CrawlerMetrics (Maybe Double)+cmMedianRuntimeSeconds = lens _cmMedianRuntimeSeconds (\ s a -> s{_cmMedianRuntimeSeconds = a})++-- | The estimated time left to complete a running crawl.+cmTimeLeftSeconds :: Lens' CrawlerMetrics (Maybe Double)+cmTimeLeftSeconds = lens _cmTimeLeftSeconds (\ s a -> s{_cmTimeLeftSeconds = a})++-- | The number of tables deleted by this crawler.+cmTablesDeleted :: Lens' CrawlerMetrics (Maybe Natural)+cmTablesDeleted = lens _cmTablesDeleted (\ s a -> s{_cmTablesDeleted = a}) . mapping _Nat++-- | The number of tables updated by this crawler.+cmTablesUpdated :: Lens' CrawlerMetrics (Maybe Natural)+cmTablesUpdated = lens _cmTablesUpdated (\ s a -> s{_cmTablesUpdated = a}) . mapping _Nat++-- | The name of the crawler.+cmCrawlerName :: Lens' CrawlerMetrics (Maybe Text)+cmCrawlerName = lens _cmCrawlerName (\ s a -> s{_cmCrawlerName = a})++instance FromJSON CrawlerMetrics where+        parseJSON+          = withObject "CrawlerMetrics"+              (\ x ->+                 CrawlerMetrics' <$>+                   (x .:? "LastRuntimeSeconds") <*>+                     (x .:? "TablesCreated")+                     <*> (x .:? "StillEstimating")+                     <*> (x .:? "MedianRuntimeSeconds")+                     <*> (x .:? "TimeLeftSeconds")+                     <*> (x .:? "TablesDeleted")+                     <*> (x .:? "TablesUpdated")+                     <*> (x .:? "CrawlerName"))++instance Hashable CrawlerMetrics where++instance NFData CrawlerMetrics where++-- | Specifies data stores to crawl.+--+--+--+-- /See:/ 'crawlerTargets' smart constructor.+data CrawlerTargets = CrawlerTargets'+  { _ctS3Targets   :: !(Maybe [S3Target])+  , _ctJdbcTargets :: !(Maybe [JdbcTarget])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CrawlerTargets' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ctS3Targets' - Specifies Amazon S3 targets.+--+-- * 'ctJdbcTargets' - Specifies JDBC targets.+crawlerTargets+    :: CrawlerTargets+crawlerTargets =+  CrawlerTargets' {_ctS3Targets = Nothing, _ctJdbcTargets = Nothing}+++-- | Specifies Amazon S3 targets.+ctS3Targets :: Lens' CrawlerTargets [S3Target]+ctS3Targets = lens _ctS3Targets (\ s a -> s{_ctS3Targets = a}) . _Default . _Coerce++-- | Specifies JDBC targets.+ctJdbcTargets :: Lens' CrawlerTargets [JdbcTarget]+ctJdbcTargets = lens _ctJdbcTargets (\ s a -> s{_ctJdbcTargets = a}) . _Default . _Coerce++instance FromJSON CrawlerTargets where+        parseJSON+          = withObject "CrawlerTargets"+              (\ x ->+                 CrawlerTargets' <$>+                   (x .:? "S3Targets" .!= mempty) <*>+                     (x .:? "JdbcTargets" .!= mempty))++instance Hashable CrawlerTargets where++instance NFData CrawlerTargets where++instance ToJSON CrawlerTargets where+        toJSON CrawlerTargets'{..}+          = object+              (catMaybes+                 [("S3Targets" .=) <$> _ctS3Targets,+                  ("JdbcTargets" .=) <$> _ctJdbcTargets])++-- | Specifies a @grok@ classifier for @CreateClassifier@ to create.+--+--+--+-- /See:/ 'createGrokClassifierRequest' smart constructor.+data CreateGrokClassifierRequest = CreateGrokClassifierRequest'+  { _cgcrCustomPatterns :: !(Maybe Text)+  , _cgcrClassification :: !Text+  , _cgcrName           :: !Text+  , _cgcrGrokPattern    :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateGrokClassifierRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgcrCustomPatterns' - Optional custom grok patterns used by this classifier.+--+-- * 'cgcrClassification' - An identifier of the data format that the classifier matches, such as Twitter, JSON, Omniture logs, Amazon CloudWatch Logs, and so on.+--+-- * 'cgcrName' - The name of the new classifier.+--+-- * 'cgcrGrokPattern' - The grok pattern used by this classifier.+createGrokClassifierRequest+    :: Text -- ^ 'cgcrClassification'+    -> Text -- ^ 'cgcrName'+    -> Text -- ^ 'cgcrGrokPattern'+    -> CreateGrokClassifierRequest+createGrokClassifierRequest pClassification_ pName_ pGrokPattern_ =+  CreateGrokClassifierRequest'+    { _cgcrCustomPatterns = Nothing+    , _cgcrClassification = pClassification_+    , _cgcrName = pName_+    , _cgcrGrokPattern = pGrokPattern_+    }+++-- | Optional custom grok patterns used by this classifier.+cgcrCustomPatterns :: Lens' CreateGrokClassifierRequest (Maybe Text)+cgcrCustomPatterns = lens _cgcrCustomPatterns (\ s a -> s{_cgcrCustomPatterns = a})++-- | An identifier of the data format that the classifier matches, such as Twitter, JSON, Omniture logs, Amazon CloudWatch Logs, and so on.+cgcrClassification :: Lens' CreateGrokClassifierRequest Text+cgcrClassification = lens _cgcrClassification (\ s a -> s{_cgcrClassification = a})++-- | The name of the new classifier.+cgcrName :: Lens' CreateGrokClassifierRequest Text+cgcrName = lens _cgcrName (\ s a -> s{_cgcrName = a})++-- | The grok pattern used by this classifier.+cgcrGrokPattern :: Lens' CreateGrokClassifierRequest Text+cgcrGrokPattern = lens _cgcrGrokPattern (\ s a -> s{_cgcrGrokPattern = a})++instance Hashable CreateGrokClassifierRequest where++instance NFData CreateGrokClassifierRequest where++instance ToJSON CreateGrokClassifierRequest where+        toJSON CreateGrokClassifierRequest'{..}+          = object+              (catMaybes+                 [("CustomPatterns" .=) <$> _cgcrCustomPatterns,+                  Just ("Classification" .= _cgcrClassification),+                  Just ("Name" .= _cgcrName),+                  Just ("GrokPattern" .= _cgcrGrokPattern)])++-- | Specifies a JSON classifier for @CreateClassifier@ to create.+--+--+--+-- /See:/ 'createJSONClassifierRequest' smart constructor.+data CreateJSONClassifierRequest = CreateJSONClassifierRequest'+  { _cjcrName     :: !Text+  , _cjcrJSONPath :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateJSONClassifierRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cjcrName' - The name of the classifier.+--+-- * 'cjcrJSONPath' - A @JsonPath@ string defining the JSON data for the classifier to classify. AWS Glue supports a subset of JsonPath, as described in <https://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html#custom-classifier-json Writing JsonPath Custom Classifiers> .+createJSONClassifierRequest+    :: Text -- ^ 'cjcrName'+    -> Text -- ^ 'cjcrJSONPath'+    -> CreateJSONClassifierRequest+createJSONClassifierRequest pName_ pJSONPath_ =+  CreateJSONClassifierRequest' {_cjcrName = pName_, _cjcrJSONPath = pJSONPath_}+++-- | The name of the classifier.+cjcrName :: Lens' CreateJSONClassifierRequest Text+cjcrName = lens _cjcrName (\ s a -> s{_cjcrName = a})++-- | A @JsonPath@ string defining the JSON data for the classifier to classify. AWS Glue supports a subset of JsonPath, as described in <https://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html#custom-classifier-json Writing JsonPath Custom Classifiers> .+cjcrJSONPath :: Lens' CreateJSONClassifierRequest Text+cjcrJSONPath = lens _cjcrJSONPath (\ s a -> s{_cjcrJSONPath = a})++instance Hashable CreateJSONClassifierRequest where++instance NFData CreateJSONClassifierRequest where++instance ToJSON CreateJSONClassifierRequest where+        toJSON CreateJSONClassifierRequest'{..}+          = object+              (catMaybes+                 [Just ("Name" .= _cjcrName),+                  Just ("JsonPath" .= _cjcrJSONPath)])++-- | Specifies an XML classifier for @CreateClassifier@ to create.+--+--+--+-- /See:/ 'createXMLClassifierRequest' smart constructor.+data CreateXMLClassifierRequest = CreateXMLClassifierRequest'+  { _cxcrRowTag         :: !(Maybe Text)+  , _cxcrClassification :: !Text+  , _cxcrName           :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateXMLClassifierRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cxcrRowTag' - The XML tag designating the element that contains each record in an XML document being parsed. Note that this cannot identify a self-closing element (closed by @/>@ ). An empty row element that contains only attributes can be parsed as long as it ends with a closing tag (for example, @<row item_a="A" item_b="B"></row>@ is okay, but @<row item_a="A" item_b="B" />@ is not).+--+-- * 'cxcrClassification' - An identifier of the data format that the classifier matches.+--+-- * 'cxcrName' - The name of the classifier.+createXMLClassifierRequest+    :: Text -- ^ 'cxcrClassification'+    -> Text -- ^ 'cxcrName'+    -> CreateXMLClassifierRequest+createXMLClassifierRequest pClassification_ pName_ =+  CreateXMLClassifierRequest'+    { _cxcrRowTag = Nothing+    , _cxcrClassification = pClassification_+    , _cxcrName = pName_+    }+++-- | The XML tag designating the element that contains each record in an XML document being parsed. Note that this cannot identify a self-closing element (closed by @/>@ ). An empty row element that contains only attributes can be parsed as long as it ends with a closing tag (for example, @<row item_a="A" item_b="B"></row>@ is okay, but @<row item_a="A" item_b="B" />@ is not).+cxcrRowTag :: Lens' CreateXMLClassifierRequest (Maybe Text)+cxcrRowTag = lens _cxcrRowTag (\ s a -> s{_cxcrRowTag = a})++-- | An identifier of the data format that the classifier matches.+cxcrClassification :: Lens' CreateXMLClassifierRequest Text+cxcrClassification = lens _cxcrClassification (\ s a -> s{_cxcrClassification = a})++-- | The name of the classifier.+cxcrName :: Lens' CreateXMLClassifierRequest Text+cxcrName = lens _cxcrName (\ s a -> s{_cxcrName = a})++instance Hashable CreateXMLClassifierRequest where++instance NFData CreateXMLClassifierRequest where++instance ToJSON CreateXMLClassifierRequest where+        toJSON CreateXMLClassifierRequest'{..}+          = object+              (catMaybes+                 [("RowTag" .=) <$> _cxcrRowTag,+                  Just ("Classification" .= _cxcrClassification),+                  Just ("Name" .= _cxcrName)])++-- | The @Database@ object represents a logical grouping of tables that may reside in a Hive metastore or an RDBMS.+--+--+--+-- /See:/ 'database' smart constructor.+data Database = Database'+  { _dLocationURI :: !(Maybe Text)+  , _dParameters  :: !(Maybe (Map Text Text))+  , _dDescription :: !(Maybe Text)+  , _dCreateTime  :: !(Maybe POSIX)+  , _dName        :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Database' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dLocationURI' - The location of the database (for example, an HDFS path).+--+-- * 'dParameters' - A list of key-value pairs that define parameters and properties of the database.+--+-- * 'dDescription' - Description of the database.+--+-- * 'dCreateTime' - The time at which the metadata database was created in the catalog.+--+-- * 'dName' - Name of the database. For Hive compatibility, this is folded to lowercase when it is stored.+database+    :: Text -- ^ 'dName'+    -> Database+database pName_ =+  Database'+    { _dLocationURI = Nothing+    , _dParameters = Nothing+    , _dDescription = Nothing+    , _dCreateTime = Nothing+    , _dName = pName_+    }+++-- | The location of the database (for example, an HDFS path).+dLocationURI :: Lens' Database (Maybe Text)+dLocationURI = lens _dLocationURI (\ s a -> s{_dLocationURI = a})++-- | A list of key-value pairs that define parameters and properties of the database.+dParameters :: Lens' Database (HashMap Text Text)+dParameters = lens _dParameters (\ s a -> s{_dParameters = a}) . _Default . _Map++-- | Description of the database.+dDescription :: Lens' Database (Maybe Text)+dDescription = lens _dDescription (\ s a -> s{_dDescription = a})++-- | The time at which the metadata database was created in the catalog.+dCreateTime :: Lens' Database (Maybe UTCTime)+dCreateTime = lens _dCreateTime (\ s a -> s{_dCreateTime = a}) . mapping _Time++-- | Name of the database. For Hive compatibility, this is folded to lowercase when it is stored.+dName :: Lens' Database Text+dName = lens _dName (\ s a -> s{_dName = a})++instance FromJSON Database where+        parseJSON+          = withObject "Database"+              (\ x ->+                 Database' <$>+                   (x .:? "LocationUri") <*>+                     (x .:? "Parameters" .!= mempty)+                     <*> (x .:? "Description")+                     <*> (x .:? "CreateTime")+                     <*> (x .: "Name"))++instance Hashable Database where++instance NFData Database where++-- | The structure used to create or update a database.+--+--+--+-- /See:/ 'databaseInput' smart constructor.+data DatabaseInput = DatabaseInput'+  { _diLocationURI :: !(Maybe Text)+  , _diParameters  :: !(Maybe (Map Text Text))+  , _diDescription :: !(Maybe Text)+  , _diName        :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DatabaseInput' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'diLocationURI' - The location of the database (for example, an HDFS path).+--+-- * 'diParameters' - A list of key-value pairs that define parameters and properties of the database.+--+-- * 'diDescription' - Description of the database+--+-- * 'diName' - Name of the database. For Hive compatibility, this is folded to lowercase when it is stored.+databaseInput+    :: Text -- ^ 'diName'+    -> DatabaseInput+databaseInput pName_ =+  DatabaseInput'+    { _diLocationURI = Nothing+    , _diParameters = Nothing+    , _diDescription = Nothing+    , _diName = pName_+    }+++-- | The location of the database (for example, an HDFS path).+diLocationURI :: Lens' DatabaseInput (Maybe Text)+diLocationURI = lens _diLocationURI (\ s a -> s{_diLocationURI = a})++-- | A list of key-value pairs that define parameters and properties of the database.+diParameters :: Lens' DatabaseInput (HashMap Text Text)+diParameters = lens _diParameters (\ s a -> s{_diParameters = a}) . _Default . _Map++-- | Description of the database+diDescription :: Lens' DatabaseInput (Maybe Text)+diDescription = lens _diDescription (\ s a -> s{_diDescription = a})++-- | Name of the database. For Hive compatibility, this is folded to lowercase when it is stored.+diName :: Lens' DatabaseInput Text+diName = lens _diName (\ s a -> s{_diName = a})++instance Hashable DatabaseInput where++instance NFData DatabaseInput where++instance ToJSON DatabaseInput where+        toJSON DatabaseInput'{..}+          = object+              (catMaybes+                 [("LocationUri" .=) <$> _diLocationURI,+                  ("Parameters" .=) <$> _diParameters,+                  ("Description" .=) <$> _diDescription,+                  Just ("Name" .= _diName)])++-- | A development endpoint where a developer can remotely debug ETL scripts.+--+--+--+-- /See:/ 'devEndpoint' smart constructor.+data DevEndpoint = DevEndpoint'+  { _deStatus                             :: !(Maybe Text)+  , _deFailureReason                      :: !(Maybe Text)+  , _deEndpointName                       :: !(Maybe Text)+  , _deExtraPythonLibsS3Path              :: !(Maybe Text)+  , _deLastUpdateStatus                   :: !(Maybe Text)+  , _deSecurityGroupIds                   :: !(Maybe [Text])+  , _deLastModifiedTimestamp              :: !(Maybe POSIX)+  , _deVPCId                              :: !(Maybe Text)+  , _dePrivateAddress                     :: !(Maybe Text)+  , _dePublicKey                          :: !(Maybe Text)+  , _deSubnetId                           :: !(Maybe Text)+  , _deNumberOfNodes                      :: !(Maybe Int)+  , _dePublicAddress                      :: !(Maybe Text)+  , _deAvailabilityZone                   :: !(Maybe Text)+  , _deZeppelinRemoteSparkInterpreterPort :: !(Maybe Int)+  , _deExtraJARsS3Path                    :: !(Maybe Text)+  , _deCreatedTimestamp                   :: !(Maybe POSIX)+  , _deYarnEndpointAddress                :: !(Maybe Text)+  , _deRoleARN                            :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DevEndpoint' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'deStatus' - The current status of this DevEndpoint.+--+-- * 'deFailureReason' - The reason for a current failure in this DevEndpoint.+--+-- * 'deEndpointName' - The name of the DevEndpoint.+--+-- * 'deExtraPythonLibsS3Path' - Path(s) to one or more Python libraries in an S3 bucket that should be loaded in your DevEndpoint. Multiple values must be complete paths separated by a comma. Please note that only pure Python libraries can currently be used on a DevEndpoint. Libraries that rely on C extensions, such as the <http://pandas.pydata.org/ pandas> Python data analysis library, are not yet supported.+--+-- * 'deLastUpdateStatus' - The status of the last update.+--+-- * 'deSecurityGroupIds' - A list of security group identifiers used in this DevEndpoint.+--+-- * 'deLastModifiedTimestamp' - The point in time at which this DevEndpoint was last modified.+--+-- * 'deVPCId' - The ID of the virtual private cloud (VPC) used by this DevEndpoint.+--+-- * 'dePrivateAddress' - The private address used by this DevEndpoint.+--+-- * 'dePublicKey' - The public key to be used by this DevEndpoint for authentication.+--+-- * 'deSubnetId' - The subnet ID for this DevEndpoint.+--+-- * 'deNumberOfNodes' - The number of AWS Glue Data Processing Units (DPUs) allocated to this DevEndpoint.+--+-- * 'dePublicAddress' - The public VPC address used by this DevEndpoint.+--+-- * 'deAvailabilityZone' - The AWS availability zone where this DevEndpoint is located.+--+-- * 'deZeppelinRemoteSparkInterpreterPort' - The Apache Zeppelin port for the remote Apache Spark interpreter.+--+-- * 'deExtraJARsS3Path' - Path to one or more Java Jars in an S3 bucket that should be loaded in your DevEndpoint. Please note that only pure Java/Scala libraries can currently be used on a DevEndpoint.+--+-- * 'deCreatedTimestamp' - The point in time at which this DevEndpoint was created.+--+-- * 'deYarnEndpointAddress' - The YARN endpoint address used by this DevEndpoint.+--+-- * 'deRoleARN' - The AWS ARN of the IAM role used in this DevEndpoint.+devEndpoint+    :: DevEndpoint+devEndpoint =+  DevEndpoint'+    { _deStatus = Nothing+    , _deFailureReason = Nothing+    , _deEndpointName = Nothing+    , _deExtraPythonLibsS3Path = Nothing+    , _deLastUpdateStatus = Nothing+    , _deSecurityGroupIds = Nothing+    , _deLastModifiedTimestamp = Nothing+    , _deVPCId = Nothing+    , _dePrivateAddress = Nothing+    , _dePublicKey = Nothing+    , _deSubnetId = Nothing+    , _deNumberOfNodes = Nothing+    , _dePublicAddress = Nothing+    , _deAvailabilityZone = Nothing+    , _deZeppelinRemoteSparkInterpreterPort = Nothing+    , _deExtraJARsS3Path = Nothing+    , _deCreatedTimestamp = Nothing+    , _deYarnEndpointAddress = Nothing+    , _deRoleARN = Nothing+    }+++-- | The current status of this DevEndpoint.+deStatus :: Lens' DevEndpoint (Maybe Text)+deStatus = lens _deStatus (\ s a -> s{_deStatus = a})++-- | The reason for a current failure in this DevEndpoint.+deFailureReason :: Lens' DevEndpoint (Maybe Text)+deFailureReason = lens _deFailureReason (\ s a -> s{_deFailureReason = a})++-- | The name of the DevEndpoint.+deEndpointName :: Lens' DevEndpoint (Maybe Text)+deEndpointName = lens _deEndpointName (\ s a -> s{_deEndpointName = a})++-- | Path(s) to one or more Python libraries in an S3 bucket that should be loaded in your DevEndpoint. Multiple values must be complete paths separated by a comma. Please note that only pure Python libraries can currently be used on a DevEndpoint. Libraries that rely on C extensions, such as the <http://pandas.pydata.org/ pandas> Python data analysis library, are not yet supported.+deExtraPythonLibsS3Path :: Lens' DevEndpoint (Maybe Text)+deExtraPythonLibsS3Path = lens _deExtraPythonLibsS3Path (\ s a -> s{_deExtraPythonLibsS3Path = a})++-- | The status of the last update.+deLastUpdateStatus :: Lens' DevEndpoint (Maybe Text)+deLastUpdateStatus = lens _deLastUpdateStatus (\ s a -> s{_deLastUpdateStatus = a})++-- | A list of security group identifiers used in this DevEndpoint.+deSecurityGroupIds :: Lens' DevEndpoint [Text]+deSecurityGroupIds = lens _deSecurityGroupIds (\ s a -> s{_deSecurityGroupIds = a}) . _Default . _Coerce++-- | The point in time at which this DevEndpoint was last modified.+deLastModifiedTimestamp :: Lens' DevEndpoint (Maybe UTCTime)+deLastModifiedTimestamp = lens _deLastModifiedTimestamp (\ s a -> s{_deLastModifiedTimestamp = a}) . mapping _Time++-- | The ID of the virtual private cloud (VPC) used by this DevEndpoint.+deVPCId :: Lens' DevEndpoint (Maybe Text)+deVPCId = lens _deVPCId (\ s a -> s{_deVPCId = a})++-- | The private address used by this DevEndpoint.+dePrivateAddress :: Lens' DevEndpoint (Maybe Text)+dePrivateAddress = lens _dePrivateAddress (\ s a -> s{_dePrivateAddress = a})++-- | The public key to be used by this DevEndpoint for authentication.+dePublicKey :: Lens' DevEndpoint (Maybe Text)+dePublicKey = lens _dePublicKey (\ s a -> s{_dePublicKey = a})++-- | The subnet ID for this DevEndpoint.+deSubnetId :: Lens' DevEndpoint (Maybe Text)+deSubnetId = lens _deSubnetId (\ s a -> s{_deSubnetId = a})++-- | The number of AWS Glue Data Processing Units (DPUs) allocated to this DevEndpoint.+deNumberOfNodes :: Lens' DevEndpoint (Maybe Int)+deNumberOfNodes = lens _deNumberOfNodes (\ s a -> s{_deNumberOfNodes = a})++-- | The public VPC address used by this DevEndpoint.+dePublicAddress :: Lens' DevEndpoint (Maybe Text)+dePublicAddress = lens _dePublicAddress (\ s a -> s{_dePublicAddress = a})++-- | The AWS availability zone where this DevEndpoint is located.+deAvailabilityZone :: Lens' DevEndpoint (Maybe Text)+deAvailabilityZone = lens _deAvailabilityZone (\ s a -> s{_deAvailabilityZone = a})++-- | The Apache Zeppelin port for the remote Apache Spark interpreter.+deZeppelinRemoteSparkInterpreterPort :: Lens' DevEndpoint (Maybe Int)+deZeppelinRemoteSparkInterpreterPort = lens _deZeppelinRemoteSparkInterpreterPort (\ s a -> s{_deZeppelinRemoteSparkInterpreterPort = a})++-- | Path to one or more Java Jars in an S3 bucket that should be loaded in your DevEndpoint. Please note that only pure Java/Scala libraries can currently be used on a DevEndpoint.+deExtraJARsS3Path :: Lens' DevEndpoint (Maybe Text)+deExtraJARsS3Path = lens _deExtraJARsS3Path (\ s a -> s{_deExtraJARsS3Path = a})++-- | The point in time at which this DevEndpoint was created.+deCreatedTimestamp :: Lens' DevEndpoint (Maybe UTCTime)+deCreatedTimestamp = lens _deCreatedTimestamp (\ s a -> s{_deCreatedTimestamp = a}) . mapping _Time++-- | The YARN endpoint address used by this DevEndpoint.+deYarnEndpointAddress :: Lens' DevEndpoint (Maybe Text)+deYarnEndpointAddress = lens _deYarnEndpointAddress (\ s a -> s{_deYarnEndpointAddress = a})++-- | The AWS ARN of the IAM role used in this DevEndpoint.+deRoleARN :: Lens' DevEndpoint (Maybe Text)+deRoleARN = lens _deRoleARN (\ s a -> s{_deRoleARN = a})++instance FromJSON DevEndpoint where+        parseJSON+          = withObject "DevEndpoint"+              (\ x ->+                 DevEndpoint' <$>+                   (x .:? "Status") <*> (x .:? "FailureReason") <*>+                     (x .:? "EndpointName")+                     <*> (x .:? "ExtraPythonLibsS3Path")+                     <*> (x .:? "LastUpdateStatus")+                     <*> (x .:? "SecurityGroupIds" .!= mempty)+                     <*> (x .:? "LastModifiedTimestamp")+                     <*> (x .:? "VpcId")+                     <*> (x .:? "PrivateAddress")+                     <*> (x .:? "PublicKey")+                     <*> (x .:? "SubnetId")+                     <*> (x .:? "NumberOfNodes")+                     <*> (x .:? "PublicAddress")+                     <*> (x .:? "AvailabilityZone")+                     <*> (x .:? "ZeppelinRemoteSparkInterpreterPort")+                     <*> (x .:? "ExtraJarsS3Path")+                     <*> (x .:? "CreatedTimestamp")+                     <*> (x .:? "YarnEndpointAddress")+                     <*> (x .:? "RoleArn"))++instance Hashable DevEndpoint where++instance NFData DevEndpoint where++-- | Custom libraries to be loaded into a DevEndpoint.+--+--+--+-- /See:/ 'devEndpointCustomLibraries' smart constructor.+data DevEndpointCustomLibraries = DevEndpointCustomLibraries'+  { _declExtraPythonLibsS3Path :: !(Maybe Text)+  , _declExtraJARsS3Path       :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DevEndpointCustomLibraries' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'declExtraPythonLibsS3Path' - Path(s) to one or more Python libraries in an S3 bucket that should be loaded in your DevEndpoint. Multiple values must be complete paths separated by a comma. Please note that only pure Python libraries can currently be used on a DevEndpoint. Libraries that rely on C extensions, such as the <http://pandas.pydata.org/ pandas> Python data analysis library, are not yet supported.+--+-- * 'declExtraJARsS3Path' - Path to one or more Java Jars in an S3 bucket that should be loaded in your DevEndpoint. Please note that only pure Java/Scala libraries can currently be used on a DevEndpoint.+devEndpointCustomLibraries+    :: DevEndpointCustomLibraries+devEndpointCustomLibraries =+  DevEndpointCustomLibraries'+    {_declExtraPythonLibsS3Path = Nothing, _declExtraJARsS3Path = Nothing}+++-- | Path(s) to one or more Python libraries in an S3 bucket that should be loaded in your DevEndpoint. Multiple values must be complete paths separated by a comma. Please note that only pure Python libraries can currently be used on a DevEndpoint. Libraries that rely on C extensions, such as the <http://pandas.pydata.org/ pandas> Python data analysis library, are not yet supported.+declExtraPythonLibsS3Path :: Lens' DevEndpointCustomLibraries (Maybe Text)+declExtraPythonLibsS3Path = lens _declExtraPythonLibsS3Path (\ s a -> s{_declExtraPythonLibsS3Path = a})++-- | Path to one or more Java Jars in an S3 bucket that should be loaded in your DevEndpoint. Please note that only pure Java/Scala libraries can currently be used on a DevEndpoint.+declExtraJARsS3Path :: Lens' DevEndpointCustomLibraries (Maybe Text)+declExtraJARsS3Path = lens _declExtraJARsS3Path (\ s a -> s{_declExtraJARsS3Path = a})++instance Hashable DevEndpointCustomLibraries where++instance NFData DevEndpointCustomLibraries where++instance ToJSON DevEndpointCustomLibraries where+        toJSON DevEndpointCustomLibraries'{..}+          = object+              (catMaybes+                 [("ExtraPythonLibsS3Path" .=) <$>+                    _declExtraPythonLibsS3Path,+                  ("ExtraJarsS3Path" .=) <$> _declExtraJARsS3Path])++-- | Contains details about an error.+--+--+--+-- /See:/ 'errorDetail' smart constructor.+data ErrorDetail = ErrorDetail'+  { _edErrorCode    :: !(Maybe Text)+  , _edErrorMessage :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ErrorDetail' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'edErrorCode' - The code associated with this error.+--+-- * 'edErrorMessage' - A message describing the error.+errorDetail+    :: ErrorDetail+errorDetail = ErrorDetail' {_edErrorCode = Nothing, _edErrorMessage = Nothing}+++-- | The code associated with this error.+edErrorCode :: Lens' ErrorDetail (Maybe Text)+edErrorCode = lens _edErrorCode (\ s a -> s{_edErrorCode = a})++-- | A message describing the error.+edErrorMessage :: Lens' ErrorDetail (Maybe Text)+edErrorMessage = lens _edErrorMessage (\ s a -> s{_edErrorMessage = a})++instance FromJSON ErrorDetail where+        parseJSON+          = withObject "ErrorDetail"+              (\ x ->+                 ErrorDetail' <$>+                   (x .:? "ErrorCode") <*> (x .:? "ErrorMessage"))++instance Hashable ErrorDetail where++instance NFData ErrorDetail where++-- | An execution property of a job.+--+--+--+-- /See:/ 'executionProperty' smart constructor.+newtype ExecutionProperty = ExecutionProperty'+  { _epMaxConcurrentRuns :: Maybe Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ExecutionProperty' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'epMaxConcurrentRuns' - The maximum number of concurrent runs allowed for the job. The default is 1. An error is returned when this threshold is reached. The maximum value you can specify is controlled by a service limit.+executionProperty+    :: ExecutionProperty+executionProperty = ExecutionProperty' {_epMaxConcurrentRuns = Nothing}+++-- | The maximum number of concurrent runs allowed for the job. The default is 1. An error is returned when this threshold is reached. The maximum value you can specify is controlled by a service limit.+epMaxConcurrentRuns :: Lens' ExecutionProperty (Maybe Int)+epMaxConcurrentRuns = lens _epMaxConcurrentRuns (\ s a -> s{_epMaxConcurrentRuns = a})++instance FromJSON ExecutionProperty where+        parseJSON+          = withObject "ExecutionProperty"+              (\ x ->+                 ExecutionProperty' <$> (x .:? "MaxConcurrentRuns"))++instance Hashable ExecutionProperty where++instance NFData ExecutionProperty where++instance ToJSON ExecutionProperty where+        toJSON ExecutionProperty'{..}+          = object+              (catMaybes+                 [("MaxConcurrentRuns" .=) <$> _epMaxConcurrentRuns])++-- | Filters the connection definitions returned by the @GetConnections@ API.+--+--+--+-- /See:/ 'getConnectionsFilter' smart constructor.+data GetConnectionsFilter = GetConnectionsFilter'+  { _gcfMatchCriteria  :: !(Maybe [Text])+  , _gcfConnectionType :: !(Maybe ConnectionType)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetConnectionsFilter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gcfMatchCriteria' - A criteria string that must match the criteria recorded in the connection definition for that connection definition to be returned.+--+-- * 'gcfConnectionType' - The type of connections to return. Currently, only JDBC is supported; SFTP is not supported.+getConnectionsFilter+    :: GetConnectionsFilter+getConnectionsFilter =+  GetConnectionsFilter'+    {_gcfMatchCriteria = Nothing, _gcfConnectionType = Nothing}+++-- | A criteria string that must match the criteria recorded in the connection definition for that connection definition to be returned.+gcfMatchCriteria :: Lens' GetConnectionsFilter [Text]+gcfMatchCriteria = lens _gcfMatchCriteria (\ s a -> s{_gcfMatchCriteria = a}) . _Default . _Coerce++-- | The type of connections to return. Currently, only JDBC is supported; SFTP is not supported.+gcfConnectionType :: Lens' GetConnectionsFilter (Maybe ConnectionType)+gcfConnectionType = lens _gcfConnectionType (\ s a -> s{_gcfConnectionType = a})++instance Hashable GetConnectionsFilter where++instance NFData GetConnectionsFilter where++instance ToJSON GetConnectionsFilter where+        toJSON GetConnectionsFilter'{..}+          = object+              (catMaybes+                 [("MatchCriteria" .=) <$> _gcfMatchCriteria,+                  ("ConnectionType" .=) <$> _gcfConnectionType])++-- | A classifier that uses @grok@ patterns.+--+--+--+-- /See:/ 'grokClassifier' smart constructor.+data GrokClassifier = GrokClassifier'+  { _gcCreationTime   :: !(Maybe POSIX)+  , _gcLastUpdated    :: !(Maybe POSIX)+  , _gcVersion        :: !(Maybe Integer)+  , _gcCustomPatterns :: !(Maybe Text)+  , _gcName           :: !Text+  , _gcClassification :: !Text+  , _gcGrokPattern    :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GrokClassifier' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gcCreationTime' - The time this classifier was registered.+--+-- * 'gcLastUpdated' - The time this classifier was last updated.+--+-- * 'gcVersion' - The version of this classifier.+--+-- * 'gcCustomPatterns' - Optional custom grok patterns defined by this classifier. For more information, see custom patterns in <http://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html Writing Custom Classifers> .+--+-- * 'gcName' - The name of the classifier.+--+-- * 'gcClassification' - An identifier of the data format that the classifier matches, such as Twitter, JSON, Omniture logs, and so on.+--+-- * 'gcGrokPattern' - The grok pattern applied to a data store by this classifier. For more information, see built-in patterns in <http://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html Writing Custom Classifers> .+grokClassifier+    :: Text -- ^ 'gcName'+    -> Text -- ^ 'gcClassification'+    -> Text -- ^ 'gcGrokPattern'+    -> GrokClassifier+grokClassifier pName_ pClassification_ pGrokPattern_ =+  GrokClassifier'+    { _gcCreationTime = Nothing+    , _gcLastUpdated = Nothing+    , _gcVersion = Nothing+    , _gcCustomPatterns = Nothing+    , _gcName = pName_+    , _gcClassification = pClassification_+    , _gcGrokPattern = pGrokPattern_+    }+++-- | The time this classifier was registered.+gcCreationTime :: Lens' GrokClassifier (Maybe UTCTime)+gcCreationTime = lens _gcCreationTime (\ s a -> s{_gcCreationTime = a}) . mapping _Time++-- | The time this classifier was last updated.+gcLastUpdated :: Lens' GrokClassifier (Maybe UTCTime)+gcLastUpdated = lens _gcLastUpdated (\ s a -> s{_gcLastUpdated = a}) . mapping _Time++-- | The version of this classifier.+gcVersion :: Lens' GrokClassifier (Maybe Integer)+gcVersion = lens _gcVersion (\ s a -> s{_gcVersion = a})++-- | Optional custom grok patterns defined by this classifier. For more information, see custom patterns in <http://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html Writing Custom Classifers> .+gcCustomPatterns :: Lens' GrokClassifier (Maybe Text)+gcCustomPatterns = lens _gcCustomPatterns (\ s a -> s{_gcCustomPatterns = a})++-- | The name of the classifier.+gcName :: Lens' GrokClassifier Text+gcName = lens _gcName (\ s a -> s{_gcName = a})++-- | An identifier of the data format that the classifier matches, such as Twitter, JSON, Omniture logs, and so on.+gcClassification :: Lens' GrokClassifier Text+gcClassification = lens _gcClassification (\ s a -> s{_gcClassification = a})++-- | The grok pattern applied to a data store by this classifier. For more information, see built-in patterns in <http://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html Writing Custom Classifers> .+gcGrokPattern :: Lens' GrokClassifier Text+gcGrokPattern = lens _gcGrokPattern (\ s a -> s{_gcGrokPattern = a})++instance FromJSON GrokClassifier where+        parseJSON+          = withObject "GrokClassifier"+              (\ x ->+                 GrokClassifier' <$>+                   (x .:? "CreationTime") <*> (x .:? "LastUpdated") <*>+                     (x .:? "Version")+                     <*> (x .:? "CustomPatterns")+                     <*> (x .: "Name")+                     <*> (x .: "Classification")+                     <*> (x .: "GrokPattern"))++instance Hashable GrokClassifier where++instance NFData GrokClassifier where++-- | A classifier for @JSON@ content.+--+--+--+-- /See:/ 'jsonClassifier' smart constructor.+data JSONClassifier = JSONClassifier'+  { _jcCreationTime :: !(Maybe POSIX)+  , _jcLastUpdated  :: !(Maybe POSIX)+  , _jcVersion      :: !(Maybe Integer)+  , _jcName         :: !Text+  , _jcJSONPath     :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'JSONClassifier' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jcCreationTime' - The time this classifier was registered.+--+-- * 'jcLastUpdated' - The time this classifier was last updated.+--+-- * 'jcVersion' - The version of this classifier.+--+-- * 'jcName' - The name of the classifier.+--+-- * 'jcJSONPath' - A @JsonPath@ string defining the JSON data for the classifier to classify. AWS Glue supports a subset of JsonPath, as described in <https://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html#custom-classifier-json Writing JsonPath Custom Classifiers> .+jsonClassifier+    :: Text -- ^ 'jcName'+    -> Text -- ^ 'jcJSONPath'+    -> JSONClassifier+jsonClassifier pName_ pJSONPath_ =+  JSONClassifier'+    { _jcCreationTime = Nothing+    , _jcLastUpdated = Nothing+    , _jcVersion = Nothing+    , _jcName = pName_+    , _jcJSONPath = pJSONPath_+    }+++-- | The time this classifier was registered.+jcCreationTime :: Lens' JSONClassifier (Maybe UTCTime)+jcCreationTime = lens _jcCreationTime (\ s a -> s{_jcCreationTime = a}) . mapping _Time++-- | The time this classifier was last updated.+jcLastUpdated :: Lens' JSONClassifier (Maybe UTCTime)+jcLastUpdated = lens _jcLastUpdated (\ s a -> s{_jcLastUpdated = a}) . mapping _Time++-- | The version of this classifier.+jcVersion :: Lens' JSONClassifier (Maybe Integer)+jcVersion = lens _jcVersion (\ s a -> s{_jcVersion = a})++-- | The name of the classifier.+jcName :: Lens' JSONClassifier Text+jcName = lens _jcName (\ s a -> s{_jcName = a})++-- | A @JsonPath@ string defining the JSON data for the classifier to classify. AWS Glue supports a subset of JsonPath, as described in <https://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html#custom-classifier-json Writing JsonPath Custom Classifiers> .+jcJSONPath :: Lens' JSONClassifier Text+jcJSONPath = lens _jcJSONPath (\ s a -> s{_jcJSONPath = a})++instance FromJSON JSONClassifier where+        parseJSON+          = withObject "JSONClassifier"+              (\ x ->+                 JSONClassifier' <$>+                   (x .:? "CreationTime") <*> (x .:? "LastUpdated") <*>+                     (x .:? "Version")+                     <*> (x .: "Name")+                     <*> (x .: "JsonPath"))++instance Hashable JSONClassifier where++instance NFData JSONClassifier where++-- | Specifies a JDBC data store to crawl.+--+--+--+-- /See:/ 'jdbcTarget' smart constructor.+data JdbcTarget = JdbcTarget'+  { _jtPath           :: !(Maybe Text)+  , _jtConnectionName :: !(Maybe Text)+  , _jtExclusions     :: !(Maybe [Text])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'JdbcTarget' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jtPath' - The path of the JDBC target.+--+-- * 'jtConnectionName' - The name of the connection to use to connect to the JDBC target.+--+-- * 'jtExclusions' - A list of glob patterns used to exclude from the crawl. For more information, see <http://docs.aws.amazon.com/glue/latest/dg/add-crawler.html Catalog Tables with a Crawler> .+jdbcTarget+    :: JdbcTarget+jdbcTarget =+  JdbcTarget'+    {_jtPath = Nothing, _jtConnectionName = Nothing, _jtExclusions = Nothing}+++-- | The path of the JDBC target.+jtPath :: Lens' JdbcTarget (Maybe Text)+jtPath = lens _jtPath (\ s a -> s{_jtPath = a})++-- | The name of the connection to use to connect to the JDBC target.+jtConnectionName :: Lens' JdbcTarget (Maybe Text)+jtConnectionName = lens _jtConnectionName (\ s a -> s{_jtConnectionName = a})++-- | A list of glob patterns used to exclude from the crawl. For more information, see <http://docs.aws.amazon.com/glue/latest/dg/add-crawler.html Catalog Tables with a Crawler> .+jtExclusions :: Lens' JdbcTarget [Text]+jtExclusions = lens _jtExclusions (\ s a -> s{_jtExclusions = a}) . _Default . _Coerce++instance FromJSON JdbcTarget where+        parseJSON+          = withObject "JdbcTarget"+              (\ x ->+                 JdbcTarget' <$>+                   (x .:? "Path") <*> (x .:? "ConnectionName") <*>+                     (x .:? "Exclusions" .!= mempty))++instance Hashable JdbcTarget where++instance NFData JdbcTarget where++instance ToJSON JdbcTarget where+        toJSON JdbcTarget'{..}+          = object+              (catMaybes+                 [("Path" .=) <$> _jtPath,+                  ("ConnectionName" .=) <$> _jtConnectionName,+                  ("Exclusions" .=) <$> _jtExclusions])++-- | Specifies a job definition.+--+--+--+-- /See:/ 'job' smart constructor.+data Job = Job'+  { _jCommand           :: !(Maybe JobCommand)+  , _jLastModifiedOn    :: !(Maybe POSIX)+  , _jConnections       :: !(Maybe ConnectionsList)+  , _jRole              :: !(Maybe Text)+  , _jName              :: !(Maybe Text)+  , _jLogURI            :: !(Maybe Text)+  , _jMaxRetries        :: !(Maybe Int)+  , _jExecutionProperty :: !(Maybe ExecutionProperty)+  , _jAllocatedCapacity :: !(Maybe Int)+  , _jTimeout           :: !(Maybe Nat)+  , _jDefaultArguments  :: !(Maybe (Map Text Text))+  , _jDescription       :: !(Maybe Text)+  , _jCreatedOn         :: !(Maybe POSIX)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Job' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jCommand' - The JobCommand that executes this job.+--+-- * 'jLastModifiedOn' - The last point in time when this job definition was modified.+--+-- * 'jConnections' - The connections used for this job.+--+-- * 'jRole' - The name or ARN of the IAM role associated with this job.+--+-- * 'jName' - The name you assign to this job definition.+--+-- * 'jLogURI' - This field is reserved for future use.+--+-- * 'jMaxRetries' - The maximum number of times to retry this job after a JobRun fails.+--+-- * 'jExecutionProperty' - An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.+--+-- * 'jAllocatedCapacity' - The number of AWS Glue data processing units (DPUs) allocated to runs of this job. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the <https://aws.amazon.com/glue/pricing/ AWS Glue pricing page> .+--+-- * 'jTimeout' - The job timeout in minutes.+--+-- * 'jDefaultArguments' - The default arguments for this job, specified as name-value pairs. You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes. For information about how to specify and consume your own Job arguments, see the <http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html Calling AWS Glue APIs in Python> topic in the developer guide. For information about the key-value pairs that AWS Glue consumes to set up your job, see the <http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html Special Parameters Used by AWS Glue> topic in the developer guide.+--+-- * 'jDescription' - Description of the job being defined.+--+-- * 'jCreatedOn' - The time and date that this job definition was created.+job+    :: Job+job =+  Job'+    { _jCommand = Nothing+    , _jLastModifiedOn = Nothing+    , _jConnections = Nothing+    , _jRole = Nothing+    , _jName = Nothing+    , _jLogURI = Nothing+    , _jMaxRetries = Nothing+    , _jExecutionProperty = Nothing+    , _jAllocatedCapacity = Nothing+    , _jTimeout = Nothing+    , _jDefaultArguments = Nothing+    , _jDescription = Nothing+    , _jCreatedOn = Nothing+    }+++-- | The JobCommand that executes this job.+jCommand :: Lens' Job (Maybe JobCommand)+jCommand = lens _jCommand (\ s a -> s{_jCommand = a})++-- | The last point in time when this job definition was modified.+jLastModifiedOn :: Lens' Job (Maybe UTCTime)+jLastModifiedOn = lens _jLastModifiedOn (\ s a -> s{_jLastModifiedOn = a}) . mapping _Time++-- | The connections used for this job.+jConnections :: Lens' Job (Maybe ConnectionsList)+jConnections = lens _jConnections (\ s a -> s{_jConnections = a})++-- | The name or ARN of the IAM role associated with this job.+jRole :: Lens' Job (Maybe Text)+jRole = lens _jRole (\ s a -> s{_jRole = a})++-- | The name you assign to this job definition.+jName :: Lens' Job (Maybe Text)+jName = lens _jName (\ s a -> s{_jName = a})++-- | This field is reserved for future use.+jLogURI :: Lens' Job (Maybe Text)+jLogURI = lens _jLogURI (\ s a -> s{_jLogURI = a})++-- | The maximum number of times to retry this job after a JobRun fails.+jMaxRetries :: Lens' Job (Maybe Int)+jMaxRetries = lens _jMaxRetries (\ s a -> s{_jMaxRetries = a})++-- | An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.+jExecutionProperty :: Lens' Job (Maybe ExecutionProperty)+jExecutionProperty = lens _jExecutionProperty (\ s a -> s{_jExecutionProperty = a})++-- | The number of AWS Glue data processing units (DPUs) allocated to runs of this job. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the <https://aws.amazon.com/glue/pricing/ AWS Glue pricing page> .+jAllocatedCapacity :: Lens' Job (Maybe Int)+jAllocatedCapacity = lens _jAllocatedCapacity (\ s a -> s{_jAllocatedCapacity = a})++-- | The job timeout in minutes.+jTimeout :: Lens' Job (Maybe Natural)+jTimeout = lens _jTimeout (\ s a -> s{_jTimeout = a}) . mapping _Nat++-- | The default arguments for this job, specified as name-value pairs. You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes. For information about how to specify and consume your own Job arguments, see the <http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html Calling AWS Glue APIs in Python> topic in the developer guide. For information about the key-value pairs that AWS Glue consumes to set up your job, see the <http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html Special Parameters Used by AWS Glue> topic in the developer guide.+jDefaultArguments :: Lens' Job (HashMap Text Text)+jDefaultArguments = lens _jDefaultArguments (\ s a -> s{_jDefaultArguments = a}) . _Default . _Map++-- | Description of the job being defined.+jDescription :: Lens' Job (Maybe Text)+jDescription = lens _jDescription (\ s a -> s{_jDescription = a})++-- | The time and date that this job definition was created.+jCreatedOn :: Lens' Job (Maybe UTCTime)+jCreatedOn = lens _jCreatedOn (\ s a -> s{_jCreatedOn = a}) . mapping _Time++instance FromJSON Job where+        parseJSON+          = withObject "Job"+              (\ x ->+                 Job' <$>+                   (x .:? "Command") <*> (x .:? "LastModifiedOn") <*>+                     (x .:? "Connections")+                     <*> (x .:? "Role")+                     <*> (x .:? "Name")+                     <*> (x .:? "LogUri")+                     <*> (x .:? "MaxRetries")+                     <*> (x .:? "ExecutionProperty")+                     <*> (x .:? "AllocatedCapacity")+                     <*> (x .:? "Timeout")+                     <*> (x .:? "DefaultArguments" .!= mempty)+                     <*> (x .:? "Description")+                     <*> (x .:? "CreatedOn"))++instance Hashable Job where++instance NFData Job where++-- | Defines a point which a job can resume processing.+--+--+--+-- /See:/ 'jobBookmarkEntry' smart constructor.+data JobBookmarkEntry = JobBookmarkEntry'+  { _jbeJobName     :: !(Maybe Text)+  , _jbeRun         :: !(Maybe Int)+  , _jbeVersion     :: !(Maybe Int)+  , _jbeAttempt     :: !(Maybe Int)+  , _jbeJobBookmark :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'JobBookmarkEntry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jbeJobName' - Name of the job in question.+--+-- * 'jbeRun' - The run ID number.+--+-- * 'jbeVersion' - Version of the job.+--+-- * 'jbeAttempt' - The attempt ID number.+--+-- * 'jbeJobBookmark' - The bookmark itself.+jobBookmarkEntry+    :: JobBookmarkEntry+jobBookmarkEntry =+  JobBookmarkEntry'+    { _jbeJobName = Nothing+    , _jbeRun = Nothing+    , _jbeVersion = Nothing+    , _jbeAttempt = Nothing+    , _jbeJobBookmark = Nothing+    }+++-- | Name of the job in question.+jbeJobName :: Lens' JobBookmarkEntry (Maybe Text)+jbeJobName = lens _jbeJobName (\ s a -> s{_jbeJobName = a})++-- | The run ID number.+jbeRun :: Lens' JobBookmarkEntry (Maybe Int)+jbeRun = lens _jbeRun (\ s a -> s{_jbeRun = a})++-- | Version of the job.+jbeVersion :: Lens' JobBookmarkEntry (Maybe Int)+jbeVersion = lens _jbeVersion (\ s a -> s{_jbeVersion = a})++-- | The attempt ID number.+jbeAttempt :: Lens' JobBookmarkEntry (Maybe Int)+jbeAttempt = lens _jbeAttempt (\ s a -> s{_jbeAttempt = a})++-- | The bookmark itself.+jbeJobBookmark :: Lens' JobBookmarkEntry (Maybe Text)+jbeJobBookmark = lens _jbeJobBookmark (\ s a -> s{_jbeJobBookmark = a})++instance FromJSON JobBookmarkEntry where+        parseJSON+          = withObject "JobBookmarkEntry"+              (\ x ->+                 JobBookmarkEntry' <$>+                   (x .:? "JobName") <*> (x .:? "Run") <*>+                     (x .:? "Version")+                     <*> (x .:? "Attempt")+                     <*> (x .:? "JobBookmark"))++instance Hashable JobBookmarkEntry where++instance NFData JobBookmarkEntry where++-- | Specifies code executed when a job is run.+--+--+--+-- /See:/ 'jobCommand' smart constructor.+data JobCommand = JobCommand'+  { _jobScriptLocation :: !(Maybe Text)+  , _jobName           :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'JobCommand' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jobScriptLocation' - Specifies the S3 path to a script that executes a job (required).+--+-- * 'jobName' - The name of the job command: this must be @glueetl@ .+jobCommand+    :: JobCommand+jobCommand = JobCommand' {_jobScriptLocation = Nothing, _jobName = Nothing}+++-- | Specifies the S3 path to a script that executes a job (required).+jobScriptLocation :: Lens' JobCommand (Maybe Text)+jobScriptLocation = lens _jobScriptLocation (\ s a -> s{_jobScriptLocation = a})++-- | The name of the job command: this must be @glueetl@ .+jobName :: Lens' JobCommand (Maybe Text)+jobName = lens _jobName (\ s a -> s{_jobName = a})++instance FromJSON JobCommand where+        parseJSON+          = withObject "JobCommand"+              (\ x ->+                 JobCommand' <$>+                   (x .:? "ScriptLocation") <*> (x .:? "Name"))++instance Hashable JobCommand where++instance NFData JobCommand where++instance ToJSON JobCommand where+        toJSON JobCommand'{..}+          = object+              (catMaybes+                 [("ScriptLocation" .=) <$> _jobScriptLocation,+                  ("Name" .=) <$> _jobName])++-- | Contains information about a job run.+--+--+--+-- /See:/ 'jobRun' smart constructor.+data JobRun = JobRun'+  { _jrCompletedOn       :: !(Maybe POSIX)+  , _jrTriggerName       :: !(Maybe Text)+  , _jrLastModifiedOn    :: !(Maybe POSIX)+  , _jrArguments         :: !(Maybe (Map Text Text))+  , _jrJobName           :: !(Maybe Text)+  , _jrStartedOn         :: !(Maybe POSIX)+  , _jrJobRunState       :: !(Maybe JobRunState)+  , _jrExecutionTime     :: !(Maybe Int)+  , _jrPredecessorRuns   :: !(Maybe [Predecessor])+  , _jrPreviousRunId     :: !(Maybe Text)+  , _jrId                :: !(Maybe Text)+  , _jrAttempt           :: !(Maybe Int)+  , _jrAllocatedCapacity :: !(Maybe Int)+  , _jrTimeout           :: !(Maybe Nat)+  , _jrErrorMessage      :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'JobRun' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'jrCompletedOn' - The date and time this job run completed.+--+-- * 'jrTriggerName' - The name of the trigger that started this job run.+--+-- * 'jrLastModifiedOn' - The last time this job run was modified.+--+-- * 'jrArguments' - The job arguments associated with this run. These override equivalent default arguments set for the job. You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes. For information about how to specify and consume your own job arguments, see the <http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html Calling AWS Glue APIs in Python> topic in the developer guide. For information about the key-value pairs that AWS Glue consumes to set up your job, see the <http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html Special Parameters Used by AWS Glue> topic in the developer guide.+--+-- * 'jrJobName' - The name of the job definition being used in this run.+--+-- * 'jrStartedOn' - The date and time at which this job run was started.+--+-- * 'jrJobRunState' - The current state of the job run.+--+-- * 'jrExecutionTime' - The amount of time (in seconds) that the job run consumed resources.+--+-- * 'jrPredecessorRuns' - A list of predecessors to this job run.+--+-- * 'jrPreviousRunId' - The ID of the previous run of this job. For example, the JobRunId specified in the StartJobRun action.+--+-- * 'jrId' - The ID of this job run.+--+-- * 'jrAttempt' - The number of the attempt to run this job.+--+-- * 'jrAllocatedCapacity' - The number of AWS Glue data processing units (DPUs) allocated to this JobRun. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the <https://aws.amazon.com/glue/pricing/ AWS Glue pricing page> .+--+-- * 'jrTimeout' - The job run timeout in minutes.+--+-- * 'jrErrorMessage' - An error message associated with this job run.+jobRun+    :: JobRun+jobRun =+  JobRun'+    { _jrCompletedOn = Nothing+    , _jrTriggerName = Nothing+    , _jrLastModifiedOn = Nothing+    , _jrArguments = Nothing+    , _jrJobName = Nothing+    , _jrStartedOn = Nothing+    , _jrJobRunState = Nothing+    , _jrExecutionTime = Nothing+    , _jrPredecessorRuns = Nothing+    , _jrPreviousRunId = Nothing+    , _jrId = Nothing+    , _jrAttempt = Nothing+    , _jrAllocatedCapacity = Nothing+    , _jrTimeout = Nothing+    , _jrErrorMessage = Nothing+    }+++-- | The date and time this job run completed.+jrCompletedOn :: Lens' JobRun (Maybe UTCTime)+jrCompletedOn = lens _jrCompletedOn (\ s a -> s{_jrCompletedOn = a}) . mapping _Time++-- | The name of the trigger that started this job run.+jrTriggerName :: Lens' JobRun (Maybe Text)+jrTriggerName = lens _jrTriggerName (\ s a -> s{_jrTriggerName = a})++-- | The last time this job run was modified.+jrLastModifiedOn :: Lens' JobRun (Maybe UTCTime)+jrLastModifiedOn = lens _jrLastModifiedOn (\ s a -> s{_jrLastModifiedOn = a}) . mapping _Time++-- | The job arguments associated with this run. These override equivalent default arguments set for the job. You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes. For information about how to specify and consume your own job arguments, see the <http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html Calling AWS Glue APIs in Python> topic in the developer guide. For information about the key-value pairs that AWS Glue consumes to set up your job, see the <http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html Special Parameters Used by AWS Glue> topic in the developer guide.+jrArguments :: Lens' JobRun (HashMap Text Text)+jrArguments = lens _jrArguments (\ s a -> s{_jrArguments = a}) . _Default . _Map++-- | The name of the job definition being used in this run.+jrJobName :: Lens' JobRun (Maybe Text)+jrJobName = lens _jrJobName (\ s a -> s{_jrJobName = a})++-- | The date and time at which this job run was started.+jrStartedOn :: Lens' JobRun (Maybe UTCTime)+jrStartedOn = lens _jrStartedOn (\ s a -> s{_jrStartedOn = a}) . mapping _Time++-- | The current state of the job run.+jrJobRunState :: Lens' JobRun (Maybe JobRunState)+jrJobRunState = lens _jrJobRunState (\ s a -> s{_jrJobRunState = a})++-- | The amount of time (in seconds) that the job run consumed resources.+jrExecutionTime :: Lens' JobRun (Maybe Int)+jrExecutionTime = lens _jrExecutionTime (\ s a -> s{_jrExecutionTime = a})++-- | A list of predecessors to this job run.+jrPredecessorRuns :: Lens' JobRun [Predecessor]+jrPredecessorRuns = lens _jrPredecessorRuns (\ s a -> s{_jrPredecessorRuns = a}) . _Default . _Coerce++-- | The ID of the previous run of this job. For example, the JobRunId specified in the StartJobRun action.+jrPreviousRunId :: Lens' JobRun (Maybe Text)+jrPreviousRunId = lens _jrPreviousRunId (\ s a -> s{_jrPreviousRunId = a})++-- | The ID of this job run.+jrId :: Lens' JobRun (Maybe Text)+jrId = lens _jrId (\ s a -> s{_jrId = a})++-- | The number of the attempt to run this job.+jrAttempt :: Lens' JobRun (Maybe Int)+jrAttempt = lens _jrAttempt (\ s a -> s{_jrAttempt = a})++-- | The number of AWS Glue data processing units (DPUs) allocated to this JobRun. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the <https://aws.amazon.com/glue/pricing/ AWS Glue pricing page> .+jrAllocatedCapacity :: Lens' JobRun (Maybe Int)+jrAllocatedCapacity = lens _jrAllocatedCapacity (\ s a -> s{_jrAllocatedCapacity = a})++-- | The job run timeout in minutes.+jrTimeout :: Lens' JobRun (Maybe Natural)+jrTimeout = lens _jrTimeout (\ s a -> s{_jrTimeout = a}) . mapping _Nat++-- | An error message associated with this job run.+jrErrorMessage :: Lens' JobRun (Maybe Text)+jrErrorMessage = lens _jrErrorMessage (\ s a -> s{_jrErrorMessage = a})++instance FromJSON JobRun where+        parseJSON+          = withObject "JobRun"+              (\ x ->+                 JobRun' <$>+                   (x .:? "CompletedOn") <*> (x .:? "TriggerName") <*>+                     (x .:? "LastModifiedOn")+                     <*> (x .:? "Arguments" .!= mempty)+                     <*> (x .:? "JobName")+                     <*> (x .:? "StartedOn")+                     <*> (x .:? "JobRunState")+                     <*> (x .:? "ExecutionTime")+                     <*> (x .:? "PredecessorRuns" .!= mempty)+                     <*> (x .:? "PreviousRunId")+                     <*> (x .:? "Id")+                     <*> (x .:? "Attempt")+                     <*> (x .:? "AllocatedCapacity")+                     <*> (x .:? "Timeout")+                     <*> (x .:? "ErrorMessage"))++instance Hashable JobRun where++instance NFData JobRun where++-- | Specifies information used to update an existing job definition. Note that the previous job definition will be completely overwritten by this information.+--+--+--+-- /See:/ 'jobUpdate' smart constructor.+data JobUpdate = JobUpdate'+  { _juCommand           :: !(Maybe JobCommand)+  , _juConnections       :: !(Maybe ConnectionsList)+  , _juRole              :: !(Maybe Text)+  , _juLogURI            :: !(Maybe Text)+  , _juMaxRetries        :: !(Maybe Int)+  , _juExecutionProperty :: !(Maybe ExecutionProperty)+  , _juAllocatedCapacity :: !(Maybe Int)+  , _juTimeout           :: !(Maybe Nat)+  , _juDefaultArguments  :: !(Maybe (Map Text Text))+  , _juDescription       :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'JobUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'juCommand' - The JobCommand that executes this job (required).+--+-- * 'juConnections' - The connections used for this job.+--+-- * 'juRole' - The name or ARN of the IAM role associated with this job (required).+--+-- * 'juLogURI' - This field is reserved for future use.+--+-- * 'juMaxRetries' - The maximum number of times to retry this job if it fails.+--+-- * 'juExecutionProperty' - An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.+--+-- * 'juAllocatedCapacity' - The number of AWS Glue data processing units (DPUs) to allocate to this Job. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the <https://aws.amazon.com/glue/pricing/ AWS Glue pricing page> .+--+-- * 'juTimeout' - The job timeout in minutes. The default is 2880 minutes (48 hours).+--+-- * 'juDefaultArguments' - The default arguments for this job. You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes. For information about how to specify and consume your own Job arguments, see the <http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html Calling AWS Glue APIs in Python> topic in the developer guide. For information about the key-value pairs that AWS Glue consumes to set up your job, see the <http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html Special Parameters Used by AWS Glue> topic in the developer guide.+--+-- * 'juDescription' - Description of the job being defined.+jobUpdate+    :: JobUpdate+jobUpdate =+  JobUpdate'+    { _juCommand = Nothing+    , _juConnections = Nothing+    , _juRole = Nothing+    , _juLogURI = Nothing+    , _juMaxRetries = Nothing+    , _juExecutionProperty = Nothing+    , _juAllocatedCapacity = Nothing+    , _juTimeout = Nothing+    , _juDefaultArguments = Nothing+    , _juDescription = Nothing+    }+++-- | The JobCommand that executes this job (required).+juCommand :: Lens' JobUpdate (Maybe JobCommand)+juCommand = lens _juCommand (\ s a -> s{_juCommand = a})++-- | The connections used for this job.+juConnections :: Lens' JobUpdate (Maybe ConnectionsList)+juConnections = lens _juConnections (\ s a -> s{_juConnections = a})++-- | The name or ARN of the IAM role associated with this job (required).+juRole :: Lens' JobUpdate (Maybe Text)+juRole = lens _juRole (\ s a -> s{_juRole = a})++-- | This field is reserved for future use.+juLogURI :: Lens' JobUpdate (Maybe Text)+juLogURI = lens _juLogURI (\ s a -> s{_juLogURI = a})++-- | The maximum number of times to retry this job if it fails.+juMaxRetries :: Lens' JobUpdate (Maybe Int)+juMaxRetries = lens _juMaxRetries (\ s a -> s{_juMaxRetries = a})++-- | An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.+juExecutionProperty :: Lens' JobUpdate (Maybe ExecutionProperty)+juExecutionProperty = lens _juExecutionProperty (\ s a -> s{_juExecutionProperty = a})++-- | The number of AWS Glue data processing units (DPUs) to allocate to this Job. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the <https://aws.amazon.com/glue/pricing/ AWS Glue pricing page> .+juAllocatedCapacity :: Lens' JobUpdate (Maybe Int)+juAllocatedCapacity = lens _juAllocatedCapacity (\ s a -> s{_juAllocatedCapacity = a})++-- | The job timeout in minutes. The default is 2880 minutes (48 hours).+juTimeout :: Lens' JobUpdate (Maybe Natural)+juTimeout = lens _juTimeout (\ s a -> s{_juTimeout = a}) . mapping _Nat++-- | The default arguments for this job. You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes. For information about how to specify and consume your own Job arguments, see the <http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html Calling AWS Glue APIs in Python> topic in the developer guide. For information about the key-value pairs that AWS Glue consumes to set up your job, see the <http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html Special Parameters Used by AWS Glue> topic in the developer guide.+juDefaultArguments :: Lens' JobUpdate (HashMap Text Text)+juDefaultArguments = lens _juDefaultArguments (\ s a -> s{_juDefaultArguments = a}) . _Default . _Map++-- | Description of the job being defined.+juDescription :: Lens' JobUpdate (Maybe Text)+juDescription = lens _juDescription (\ s a -> s{_juDescription = a})++instance Hashable JobUpdate where++instance NFData JobUpdate where++instance ToJSON JobUpdate where+        toJSON JobUpdate'{..}+          = object+              (catMaybes+                 [("Command" .=) <$> _juCommand,+                  ("Connections" .=) <$> _juConnections,+                  ("Role" .=) <$> _juRole, ("LogUri" .=) <$> _juLogURI,+                  ("MaxRetries" .=) <$> _juMaxRetries,+                  ("ExecutionProperty" .=) <$> _juExecutionProperty,+                  ("AllocatedCapacity" .=) <$> _juAllocatedCapacity,+                  ("Timeout" .=) <$> _juTimeout,+                  ("DefaultArguments" .=) <$> _juDefaultArguments,+                  ("Description" .=) <$> _juDescription])++-- | Status and error information about the most recent crawl.+--+--+--+-- /See:/ 'lastCrawlInfo' smart constructor.+data LastCrawlInfo = LastCrawlInfo'+  { _lciStatus        :: !(Maybe LastCrawlStatus)+  , _lciStartTime     :: !(Maybe POSIX)+  , _lciLogStream     :: !(Maybe Text)+  , _lciLogGroup      :: !(Maybe Text)+  , _lciMessagePrefix :: !(Maybe Text)+  , _lciErrorMessage  :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'LastCrawlInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lciStatus' - Status of the last crawl.+--+-- * 'lciStartTime' - The time at which the crawl started.+--+-- * 'lciLogStream' - The log stream for the last crawl.+--+-- * 'lciLogGroup' - The log group for the last crawl.+--+-- * 'lciMessagePrefix' - The prefix for a message about this crawl.+--+-- * 'lciErrorMessage' - If an error occurred, the error information about the last crawl.+lastCrawlInfo+    :: LastCrawlInfo+lastCrawlInfo =+  LastCrawlInfo'+    { _lciStatus = Nothing+    , _lciStartTime = Nothing+    , _lciLogStream = Nothing+    , _lciLogGroup = Nothing+    , _lciMessagePrefix = Nothing+    , _lciErrorMessage = Nothing+    }+++-- | Status of the last crawl.+lciStatus :: Lens' LastCrawlInfo (Maybe LastCrawlStatus)+lciStatus = lens _lciStatus (\ s a -> s{_lciStatus = a})++-- | The time at which the crawl started.+lciStartTime :: Lens' LastCrawlInfo (Maybe UTCTime)+lciStartTime = lens _lciStartTime (\ s a -> s{_lciStartTime = a}) . mapping _Time++-- | The log stream for the last crawl.+lciLogStream :: Lens' LastCrawlInfo (Maybe Text)+lciLogStream = lens _lciLogStream (\ s a -> s{_lciLogStream = a})++-- | The log group for the last crawl.+lciLogGroup :: Lens' LastCrawlInfo (Maybe Text)+lciLogGroup = lens _lciLogGroup (\ s a -> s{_lciLogGroup = a})++-- | The prefix for a message about this crawl.+lciMessagePrefix :: Lens' LastCrawlInfo (Maybe Text)+lciMessagePrefix = lens _lciMessagePrefix (\ s a -> s{_lciMessagePrefix = a})++-- | If an error occurred, the error information about the last crawl.+lciErrorMessage :: Lens' LastCrawlInfo (Maybe Text)+lciErrorMessage = lens _lciErrorMessage (\ s a -> s{_lciErrorMessage = a})++instance FromJSON LastCrawlInfo where+        parseJSON+          = withObject "LastCrawlInfo"+              (\ x ->+                 LastCrawlInfo' <$>+                   (x .:? "Status") <*> (x .:? "StartTime") <*>+                     (x .:? "LogStream")+                     <*> (x .:? "LogGroup")+                     <*> (x .:? "MessagePrefix")+                     <*> (x .:? "ErrorMessage"))++instance Hashable LastCrawlInfo where++instance NFData LastCrawlInfo where++-- | The location of resources.+--+--+--+-- /See:/ 'location' smart constructor.+data Location = Location'+  { _lJdbc :: !(Maybe [CodeGenNodeArg])+  , _lS3   :: !(Maybe [CodeGenNodeArg])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Location' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lJdbc' - A JDBC location.+--+-- * 'lS3' - An Amazon S3 location.+location+    :: Location+location = Location' {_lJdbc = Nothing, _lS3 = Nothing}+++-- | A JDBC location.+lJdbc :: Lens' Location [CodeGenNodeArg]+lJdbc = lens _lJdbc (\ s a -> s{_lJdbc = a}) . _Default . _Coerce++-- | An Amazon S3 location.+lS3 :: Lens' Location [CodeGenNodeArg]+lS3 = lens _lS3 (\ s a -> s{_lS3 = a}) . _Default . _Coerce++instance Hashable Location where++instance NFData Location where++instance ToJSON Location where+        toJSON Location'{..}+          = object+              (catMaybes+                 [("Jdbc" .=) <$> _lJdbc, ("S3" .=) <$> _lS3])++-- | Defines a mapping.+--+--+--+-- /See:/ 'mappingEntry' smart constructor.+data MappingEntry = MappingEntry'+  { _meTargetTable :: !(Maybe Text)+  , _meSourceType  :: !(Maybe Text)+  , _meSourceTable :: !(Maybe Text)+  , _meTargetType  :: !(Maybe Text)+  , _meTargetPath  :: !(Maybe Text)+  , _meSourcePath  :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MappingEntry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'meTargetTable' - The target table.+--+-- * 'meSourceType' - The source type.+--+-- * 'meSourceTable' - The name of the source table.+--+-- * 'meTargetType' - The target type.+--+-- * 'meTargetPath' - The target path.+--+-- * 'meSourcePath' - The source path.+mappingEntry+    :: MappingEntry+mappingEntry =+  MappingEntry'+    { _meTargetTable = Nothing+    , _meSourceType = Nothing+    , _meSourceTable = Nothing+    , _meTargetType = Nothing+    , _meTargetPath = Nothing+    , _meSourcePath = Nothing+    }+++-- | The target table.+meTargetTable :: Lens' MappingEntry (Maybe Text)+meTargetTable = lens _meTargetTable (\ s a -> s{_meTargetTable = a})++-- | The source type.+meSourceType :: Lens' MappingEntry (Maybe Text)+meSourceType = lens _meSourceType (\ s a -> s{_meSourceType = a})++-- | The name of the source table.+meSourceTable :: Lens' MappingEntry (Maybe Text)+meSourceTable = lens _meSourceTable (\ s a -> s{_meSourceTable = a})++-- | The target type.+meTargetType :: Lens' MappingEntry (Maybe Text)+meTargetType = lens _meTargetType (\ s a -> s{_meTargetType = a})++-- | The target path.+meTargetPath :: Lens' MappingEntry (Maybe Text)+meTargetPath = lens _meTargetPath (\ s a -> s{_meTargetPath = a})++-- | The source path.+meSourcePath :: Lens' MappingEntry (Maybe Text)+meSourcePath = lens _meSourcePath (\ s a -> s{_meSourcePath = a})++instance FromJSON MappingEntry where+        parseJSON+          = withObject "MappingEntry"+              (\ x ->+                 MappingEntry' <$>+                   (x .:? "TargetTable") <*> (x .:? "SourceType") <*>+                     (x .:? "SourceTable")+                     <*> (x .:? "TargetType")+                     <*> (x .:? "TargetPath")+                     <*> (x .:? "SourcePath"))++instance Hashable MappingEntry where++instance NFData MappingEntry where++instance ToJSON MappingEntry where+        toJSON MappingEntry'{..}+          = object+              (catMaybes+                 [("TargetTable" .=) <$> _meTargetTable,+                  ("SourceType" .=) <$> _meSourceType,+                  ("SourceTable" .=) <$> _meSourceTable,+                  ("TargetType" .=) <$> _meTargetType,+                  ("TargetPath" .=) <$> _meTargetPath,+                  ("SourcePath" .=) <$> _meSourcePath])++-- | Specifies the sort order of a sorted column.+--+--+--+-- /See:/ 'order' smart constructor.+data Order = Order'+  { _oColumn    :: !Text+  , _oSortOrder :: !Nat+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Order' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oColumn' - The name of the column.+--+-- * 'oSortOrder' - Indicates that the column is sorted in ascending order (@== 1@ ), or in descending order (@==0@ ).+order+    :: Text -- ^ 'oColumn'+    -> Natural -- ^ 'oSortOrder'+    -> Order+order pColumn_ pSortOrder_ =+  Order' {_oColumn = pColumn_, _oSortOrder = _Nat # pSortOrder_}+++-- | The name of the column.+oColumn :: Lens' Order Text+oColumn = lens _oColumn (\ s a -> s{_oColumn = a})++-- | Indicates that the column is sorted in ascending order (@== 1@ ), or in descending order (@==0@ ).+oSortOrder :: Lens' Order Natural+oSortOrder = lens _oSortOrder (\ s a -> s{_oSortOrder = a}) . _Nat++instance FromJSON Order where+        parseJSON+          = withObject "Order"+              (\ x ->+                 Order' <$> (x .: "Column") <*> (x .: "SortOrder"))++instance Hashable Order where++instance NFData Order where++instance ToJSON Order where+        toJSON Order'{..}+          = object+              (catMaybes+                 [Just ("Column" .= _oColumn),+                  Just ("SortOrder" .= _oSortOrder)])++-- | Represents a slice of table data.+--+--+--+-- /See:/ 'partition' smart constructor.+data Partition = Partition'+  { _pCreationTime      :: !(Maybe POSIX)+  , _pValues            :: !(Maybe [Text])+  , _pLastAnalyzedTime  :: !(Maybe POSIX)+  , _pStorageDescriptor :: !(Maybe StorageDescriptor)+  , _pDatabaseName      :: !(Maybe Text)+  , _pParameters        :: !(Maybe (Map Text Text))+  , _pLastAccessTime    :: !(Maybe POSIX)+  , _pTableName         :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Partition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pCreationTime' - The time at which the partition was created.+--+-- * 'pValues' - The values of the partition.+--+-- * 'pLastAnalyzedTime' - The last time at which column statistics were computed for this partition.+--+-- * 'pStorageDescriptor' - Provides information about the physical location where the partition is stored.+--+-- * 'pDatabaseName' - The name of the catalog database where the table in question is located.+--+-- * 'pParameters' - Partition parameters, in the form of a list of key-value pairs.+--+-- * 'pLastAccessTime' - The last time at which the partition was accessed.+--+-- * 'pTableName' - The name of the table in question.+partition+    :: Partition+partition =+  Partition'+    { _pCreationTime = Nothing+    , _pValues = Nothing+    , _pLastAnalyzedTime = Nothing+    , _pStorageDescriptor = Nothing+    , _pDatabaseName = Nothing+    , _pParameters = Nothing+    , _pLastAccessTime = Nothing+    , _pTableName = Nothing+    }+++-- | The time at which the partition was created.+pCreationTime :: Lens' Partition (Maybe UTCTime)+pCreationTime = lens _pCreationTime (\ s a -> s{_pCreationTime = a}) . mapping _Time++-- | The values of the partition.+pValues :: Lens' Partition [Text]+pValues = lens _pValues (\ s a -> s{_pValues = a}) . _Default . _Coerce++-- | The last time at which column statistics were computed for this partition.+pLastAnalyzedTime :: Lens' Partition (Maybe UTCTime)+pLastAnalyzedTime = lens _pLastAnalyzedTime (\ s a -> s{_pLastAnalyzedTime = a}) . mapping _Time++-- | Provides information about the physical location where the partition is stored.+pStorageDescriptor :: Lens' Partition (Maybe StorageDescriptor)+pStorageDescriptor = lens _pStorageDescriptor (\ s a -> s{_pStorageDescriptor = a})++-- | The name of the catalog database where the table in question is located.+pDatabaseName :: Lens' Partition (Maybe Text)+pDatabaseName = lens _pDatabaseName (\ s a -> s{_pDatabaseName = a})++-- | Partition parameters, in the form of a list of key-value pairs.+pParameters :: Lens' Partition (HashMap Text Text)+pParameters = lens _pParameters (\ s a -> s{_pParameters = a}) . _Default . _Map++-- | The last time at which the partition was accessed.+pLastAccessTime :: Lens' Partition (Maybe UTCTime)+pLastAccessTime = lens _pLastAccessTime (\ s a -> s{_pLastAccessTime = a}) . mapping _Time++-- | The name of the table in question.+pTableName :: Lens' Partition (Maybe Text)+pTableName = lens _pTableName (\ s a -> s{_pTableName = a})++instance FromJSON Partition where+        parseJSON+          = withObject "Partition"+              (\ x ->+                 Partition' <$>+                   (x .:? "CreationTime") <*>+                     (x .:? "Values" .!= mempty)+                     <*> (x .:? "LastAnalyzedTime")+                     <*> (x .:? "StorageDescriptor")+                     <*> (x .:? "DatabaseName")+                     <*> (x .:? "Parameters" .!= mempty)+                     <*> (x .:? "LastAccessTime")+                     <*> (x .:? "TableName"))++instance Hashable Partition where++instance NFData Partition where++-- | Contains information about a partition error.+--+--+--+-- /See:/ 'partitionError' smart constructor.+data PartitionError = PartitionError'+  { _pePartitionValues :: !(Maybe [Text])+  , _peErrorDetail     :: !(Maybe ErrorDetail)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PartitionError' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pePartitionValues' - The values that define the partition.+--+-- * 'peErrorDetail' - Details about the partition error.+partitionError+    :: PartitionError+partitionError =+  PartitionError' {_pePartitionValues = Nothing, _peErrorDetail = Nothing}+++-- | The values that define the partition.+pePartitionValues :: Lens' PartitionError [Text]+pePartitionValues = lens _pePartitionValues (\ s a -> s{_pePartitionValues = a}) . _Default . _Coerce++-- | Details about the partition error.+peErrorDetail :: Lens' PartitionError (Maybe ErrorDetail)+peErrorDetail = lens _peErrorDetail (\ s a -> s{_peErrorDetail = a})++instance FromJSON PartitionError where+        parseJSON+          = withObject "PartitionError"+              (\ x ->+                 PartitionError' <$>+                   (x .:? "PartitionValues" .!= mempty) <*>+                     (x .:? "ErrorDetail"))++instance Hashable PartitionError where++instance NFData PartitionError where++-- | The structure used to create and update a partion.+--+--+--+-- /See:/ 'partitionInput' smart constructor.+data PartitionInput = PartitionInput'+  { _piValues            :: !(Maybe [Text])+  , _piLastAnalyzedTime  :: !(Maybe POSIX)+  , _piStorageDescriptor :: !(Maybe StorageDescriptor)+  , _piParameters        :: !(Maybe (Map Text Text))+  , _piLastAccessTime    :: !(Maybe POSIX)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PartitionInput' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'piValues' - The values of the partition.+--+-- * 'piLastAnalyzedTime' - The last time at which column statistics were computed for this partition.+--+-- * 'piStorageDescriptor' - Provides information about the physical location where the partition is stored.+--+-- * 'piParameters' - Partition parameters, in the form of a list of key-value pairs.+--+-- * 'piLastAccessTime' - The last time at which the partition was accessed.+partitionInput+    :: PartitionInput+partitionInput =+  PartitionInput'+    { _piValues = Nothing+    , _piLastAnalyzedTime = Nothing+    , _piStorageDescriptor = Nothing+    , _piParameters = Nothing+    , _piLastAccessTime = Nothing+    }+++-- | The values of the partition.+piValues :: Lens' PartitionInput [Text]+piValues = lens _piValues (\ s a -> s{_piValues = a}) . _Default . _Coerce++-- | The last time at which column statistics were computed for this partition.+piLastAnalyzedTime :: Lens' PartitionInput (Maybe UTCTime)+piLastAnalyzedTime = lens _piLastAnalyzedTime (\ s a -> s{_piLastAnalyzedTime = a}) . mapping _Time++-- | Provides information about the physical location where the partition is stored.+piStorageDescriptor :: Lens' PartitionInput (Maybe StorageDescriptor)+piStorageDescriptor = lens _piStorageDescriptor (\ s a -> s{_piStorageDescriptor = a})++-- | Partition parameters, in the form of a list of key-value pairs.+piParameters :: Lens' PartitionInput (HashMap Text Text)+piParameters = lens _piParameters (\ s a -> s{_piParameters = a}) . _Default . _Map++-- | The last time at which the partition was accessed.+piLastAccessTime :: Lens' PartitionInput (Maybe UTCTime)+piLastAccessTime = lens _piLastAccessTime (\ s a -> s{_piLastAccessTime = a}) . mapping _Time++instance Hashable PartitionInput where++instance NFData PartitionInput where++instance ToJSON PartitionInput where+        toJSON PartitionInput'{..}+          = object+              (catMaybes+                 [("Values" .=) <$> _piValues,+                  ("LastAnalyzedTime" .=) <$> _piLastAnalyzedTime,+                  ("StorageDescriptor" .=) <$> _piStorageDescriptor,+                  ("Parameters" .=) <$> _piParameters,+                  ("LastAccessTime" .=) <$> _piLastAccessTime])++-- | Contains a list of values defining partitions.+--+--+--+-- /See:/ 'partitionValueList' smart constructor.+newtype PartitionValueList = PartitionValueList'+  { _pvlValues :: [Text]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PartitionValueList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pvlValues' - The list of values.+partitionValueList+    :: PartitionValueList+partitionValueList = PartitionValueList' {_pvlValues = mempty}+++-- | The list of values.+pvlValues :: Lens' PartitionValueList [Text]+pvlValues = lens _pvlValues (\ s a -> s{_pvlValues = a}) . _Coerce++instance FromJSON PartitionValueList where+        parseJSON+          = withObject "PartitionValueList"+              (\ x ->+                 PartitionValueList' <$> (x .:? "Values" .!= mempty))++instance Hashable PartitionValueList where++instance NFData PartitionValueList where++instance ToJSON PartitionValueList where+        toJSON PartitionValueList'{..}+          = object (catMaybes [Just ("Values" .= _pvlValues)])++-- | Specifies the physical requirements for a connection.+--+--+--+-- /See:/ 'physicalConnectionRequirements' smart constructor.+data PhysicalConnectionRequirements = PhysicalConnectionRequirements'+  { _pcrSecurityGroupIdList :: !(Maybe [Text])+  , _pcrSubnetId            :: !(Maybe Text)+  , _pcrAvailabilityZone    :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PhysicalConnectionRequirements' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pcrSecurityGroupIdList' - The security group ID list used by the connection.+--+-- * 'pcrSubnetId' - The subnet ID used by the connection.+--+-- * 'pcrAvailabilityZone' - The connection's availability zone. This field is deprecated and has no effect.+physicalConnectionRequirements+    :: PhysicalConnectionRequirements+physicalConnectionRequirements =+  PhysicalConnectionRequirements'+    { _pcrSecurityGroupIdList = Nothing+    , _pcrSubnetId = Nothing+    , _pcrAvailabilityZone = Nothing+    }+++-- | The security group ID list used by the connection.+pcrSecurityGroupIdList :: Lens' PhysicalConnectionRequirements [Text]+pcrSecurityGroupIdList = lens _pcrSecurityGroupIdList (\ s a -> s{_pcrSecurityGroupIdList = a}) . _Default . _Coerce++-- | The subnet ID used by the connection.+pcrSubnetId :: Lens' PhysicalConnectionRequirements (Maybe Text)+pcrSubnetId = lens _pcrSubnetId (\ s a -> s{_pcrSubnetId = a})++-- | The connection's availability zone. This field is deprecated and has no effect.+pcrAvailabilityZone :: Lens' PhysicalConnectionRequirements (Maybe Text)+pcrAvailabilityZone = lens _pcrAvailabilityZone (\ s a -> s{_pcrAvailabilityZone = a})++instance FromJSON PhysicalConnectionRequirements+         where+        parseJSON+          = withObject "PhysicalConnectionRequirements"+              (\ x ->+                 PhysicalConnectionRequirements' <$>+                   (x .:? "SecurityGroupIdList" .!= mempty) <*>+                     (x .:? "SubnetId")+                     <*> (x .:? "AvailabilityZone"))++instance Hashable PhysicalConnectionRequirements+         where++instance NFData PhysicalConnectionRequirements where++instance ToJSON PhysicalConnectionRequirements where+        toJSON PhysicalConnectionRequirements'{..}+          = object+              (catMaybes+                 [("SecurityGroupIdList" .=) <$>+                    _pcrSecurityGroupIdList,+                  ("SubnetId" .=) <$> _pcrSubnetId,+                  ("AvailabilityZone" .=) <$> _pcrAvailabilityZone])++-- | A job run that was used in the predicate of a conditional trigger that triggered this job run.+--+--+--+-- /See:/ 'predecessor' smart constructor.+data Predecessor = Predecessor'+  { _pJobName :: !(Maybe Text)+  , _pRunId   :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Predecessor' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pJobName' - The name of the job definition used by the predecessor job run.+--+-- * 'pRunId' - The job-run ID of the predecessor job run.+predecessor+    :: Predecessor+predecessor = Predecessor' {_pJobName = Nothing, _pRunId = Nothing}+++-- | The name of the job definition used by the predecessor job run.+pJobName :: Lens' Predecessor (Maybe Text)+pJobName = lens _pJobName (\ s a -> s{_pJobName = a})++-- | The job-run ID of the predecessor job run.+pRunId :: Lens' Predecessor (Maybe Text)+pRunId = lens _pRunId (\ s a -> s{_pRunId = a})++instance FromJSON Predecessor where+        parseJSON+          = withObject "Predecessor"+              (\ x ->+                 Predecessor' <$>+                   (x .:? "JobName") <*> (x .:? "RunId"))++instance Hashable Predecessor where++instance NFData Predecessor where++-- | Defines the predicate of the trigger, which determines when it fires.+--+--+--+-- /See:/ 'predicate' smart constructor.+data Predicate = Predicate'+  { _pLogical    :: !(Maybe Logical)+  , _pConditions :: !(Maybe [Condition])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Predicate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pLogical' - Optional field if only one condition is listed. If multiple conditions are listed, then this field is required.+--+-- * 'pConditions' - A list of the conditions that determine when the trigger will fire.+predicate+    :: Predicate+predicate = Predicate' {_pLogical = Nothing, _pConditions = Nothing}+++-- | Optional field if only one condition is listed. If multiple conditions are listed, then this field is required.+pLogical :: Lens' Predicate (Maybe Logical)+pLogical = lens _pLogical (\ s a -> s{_pLogical = a})++-- | A list of the conditions that determine when the trigger will fire.+pConditions :: Lens' Predicate [Condition]+pConditions = lens _pConditions (\ s a -> s{_pConditions = a}) . _Default . _Coerce++instance FromJSON Predicate where+        parseJSON+          = withObject "Predicate"+              (\ x ->+                 Predicate' <$>+                   (x .:? "Logical") <*>+                     (x .:? "Conditions" .!= mempty))++instance Hashable Predicate where++instance NFData Predicate where++instance ToJSON Predicate where+        toJSON Predicate'{..}+          = object+              (catMaybes+                 [("Logical" .=) <$> _pLogical,+                  ("Conditions" .=) <$> _pConditions])++-- | URIs for function resources.+--+--+--+-- /See:/ 'resourceURI' smart constructor.+data ResourceURI = ResourceURI'+  { _ruResourceType :: !(Maybe ResourceType)+  , _ruURI          :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ResourceURI' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ruResourceType' - The type of the resource.+--+-- * 'ruURI' - The URI for accessing the resource.+resourceURI+    :: ResourceURI+resourceURI = ResourceURI' {_ruResourceType = Nothing, _ruURI = Nothing}+++-- | The type of the resource.+ruResourceType :: Lens' ResourceURI (Maybe ResourceType)+ruResourceType = lens _ruResourceType (\ s a -> s{_ruResourceType = a})++-- | The URI for accessing the resource.+ruURI :: Lens' ResourceURI (Maybe Text)+ruURI = lens _ruURI (\ s a -> s{_ruURI = a})++instance FromJSON ResourceURI where+        parseJSON+          = withObject "ResourceURI"+              (\ x ->+                 ResourceURI' <$>+                   (x .:? "ResourceType") <*> (x .:? "Uri"))++instance Hashable ResourceURI where++instance NFData ResourceURI where++instance ToJSON ResourceURI where+        toJSON ResourceURI'{..}+          = object+              (catMaybes+                 [("ResourceType" .=) <$> _ruResourceType,+                  ("Uri" .=) <$> _ruURI])++-- | Specifies a data store in Amazon S3.+--+--+--+-- /See:/ 's3Target' smart constructor.+data S3Target = S3Target'+  { _stPath       :: !(Maybe Text)+  , _stExclusions :: !(Maybe [Text])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'S3Target' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'stPath' - The path to the Amazon S3 target.+--+-- * 'stExclusions' - A list of glob patterns used to exclude from the crawl. For more information, see <http://docs.aws.amazon.com/glue/latest/dg/add-crawler.html Catalog Tables with a Crawler> .+s3Target+    :: S3Target+s3Target = S3Target' {_stPath = Nothing, _stExclusions = Nothing}+++-- | The path to the Amazon S3 target.+stPath :: Lens' S3Target (Maybe Text)+stPath = lens _stPath (\ s a -> s{_stPath = a})++-- | A list of glob patterns used to exclude from the crawl. For more information, see <http://docs.aws.amazon.com/glue/latest/dg/add-crawler.html Catalog Tables with a Crawler> .+stExclusions :: Lens' S3Target [Text]+stExclusions = lens _stExclusions (\ s a -> s{_stExclusions = a}) . _Default . _Coerce++instance FromJSON S3Target where+        parseJSON+          = withObject "S3Target"+              (\ x ->+                 S3Target' <$>+                   (x .:? "Path") <*> (x .:? "Exclusions" .!= mempty))++instance Hashable S3Target where++instance NFData S3Target where++instance ToJSON S3Target where+        toJSON S3Target'{..}+          = object+              (catMaybes+                 [("Path" .=) <$> _stPath,+                  ("Exclusions" .=) <$> _stExclusions])++-- | A scheduling object using a @cron@ statement to schedule an event.+--+--+--+-- /See:/ 'schedule' smart constructor.+data Schedule = Schedule'+  { _sState              :: !(Maybe ScheduleState)+  , _sScheduleExpression :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Schedule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sState' - The state of the schedule.+--+-- * 'sScheduleExpression' - A @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ .+schedule+    :: Schedule+schedule = Schedule' {_sState = Nothing, _sScheduleExpression = Nothing}+++-- | The state of the schedule.+sState :: Lens' Schedule (Maybe ScheduleState)+sState = lens _sState (\ s a -> s{_sState = a})++-- | A @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ .+sScheduleExpression :: Lens' Schedule (Maybe Text)+sScheduleExpression = lens _sScheduleExpression (\ s a -> s{_sScheduleExpression = a})++instance FromJSON Schedule where+        parseJSON+          = withObject "Schedule"+              (\ x ->+                 Schedule' <$>+                   (x .:? "State") <*> (x .:? "ScheduleExpression"))++instance Hashable Schedule where++instance NFData Schedule where++-- | Crawler policy for update and deletion behavior.+--+--+--+-- /See:/ 'schemaChangePolicy' smart constructor.+data SchemaChangePolicy = SchemaChangePolicy'+  { _scpDeleteBehavior :: !(Maybe DeleteBehavior)+  , _scpUpdateBehavior :: !(Maybe UpdateBehavior)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SchemaChangePolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scpDeleteBehavior' - The deletion behavior when the crawler finds a deleted object.+--+-- * 'scpUpdateBehavior' - The update behavior when the crawler finds a changed schema.+schemaChangePolicy+    :: SchemaChangePolicy+schemaChangePolicy =+  SchemaChangePolicy'+    {_scpDeleteBehavior = Nothing, _scpUpdateBehavior = Nothing}+++-- | The deletion behavior when the crawler finds a deleted object.+scpDeleteBehavior :: Lens' SchemaChangePolicy (Maybe DeleteBehavior)+scpDeleteBehavior = lens _scpDeleteBehavior (\ s a -> s{_scpDeleteBehavior = a})++-- | The update behavior when the crawler finds a changed schema.+scpUpdateBehavior :: Lens' SchemaChangePolicy (Maybe UpdateBehavior)+scpUpdateBehavior = lens _scpUpdateBehavior (\ s a -> s{_scpUpdateBehavior = a})++instance FromJSON SchemaChangePolicy where+        parseJSON+          = withObject "SchemaChangePolicy"+              (\ x ->+                 SchemaChangePolicy' <$>+                   (x .:? "DeleteBehavior") <*>+                     (x .:? "UpdateBehavior"))++instance Hashable SchemaChangePolicy where++instance NFData SchemaChangePolicy where++instance ToJSON SchemaChangePolicy where+        toJSON SchemaChangePolicy'{..}+          = object+              (catMaybes+                 [("DeleteBehavior" .=) <$> _scpDeleteBehavior,+                  ("UpdateBehavior" .=) <$> _scpUpdateBehavior])++-- | Defines a non-overlapping region of a table's partitions, allowing multiple requests to be executed in parallel.+--+--+--+-- /See:/ 'segment' smart constructor.+data Segment = Segment'+  { _sSegmentNumber :: !Nat+  , _sTotalSegments :: !Nat+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Segment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sSegmentNumber' - The zero-based index number of the this segment. For example, if the total number of segments is 4, SegmentNumber values will range from zero through three.+--+-- * 'sTotalSegments' - The total numer of segments.+segment+    :: Natural -- ^ 'sSegmentNumber'+    -> Natural -- ^ 'sTotalSegments'+    -> Segment+segment pSegmentNumber_ pTotalSegments_ =+  Segment'+    { _sSegmentNumber = _Nat # pSegmentNumber_+    , _sTotalSegments = _Nat # pTotalSegments_+    }+++-- | The zero-based index number of the this segment. For example, if the total number of segments is 4, SegmentNumber values will range from zero through three.+sSegmentNumber :: Lens' Segment Natural+sSegmentNumber = lens _sSegmentNumber (\ s a -> s{_sSegmentNumber = a}) . _Nat++-- | The total numer of segments.+sTotalSegments :: Lens' Segment Natural+sTotalSegments = lens _sTotalSegments (\ s a -> s{_sTotalSegments = a}) . _Nat++instance Hashable Segment where++instance NFData Segment where++instance ToJSON Segment where+        toJSON Segment'{..}+          = object+              (catMaybes+                 [Just ("SegmentNumber" .= _sSegmentNumber),+                  Just ("TotalSegments" .= _sTotalSegments)])++-- | Information about a serialization/deserialization program (SerDe) which serves as an extractor and loader.+--+--+--+-- /See:/ 'serDeInfo' smart constructor.+data SerDeInfo = SerDeInfo'+  { _sdiSerializationLibrary :: !(Maybe Text)+  , _sdiName                 :: !(Maybe Text)+  , _sdiParameters           :: !(Maybe (Map Text Text))+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SerDeInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdiSerializationLibrary' - Usually the class that implements the SerDe. An example is: @org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe@ .+--+-- * 'sdiName' - Name of the SerDe.+--+-- * 'sdiParameters' - A list of initialization parameters for the SerDe, in key-value form.+serDeInfo+    :: SerDeInfo+serDeInfo =+  SerDeInfo'+    { _sdiSerializationLibrary = Nothing+    , _sdiName = Nothing+    , _sdiParameters = Nothing+    }+++-- | Usually the class that implements the SerDe. An example is: @org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe@ .+sdiSerializationLibrary :: Lens' SerDeInfo (Maybe Text)+sdiSerializationLibrary = lens _sdiSerializationLibrary (\ s a -> s{_sdiSerializationLibrary = a})++-- | Name of the SerDe.+sdiName :: Lens' SerDeInfo (Maybe Text)+sdiName = lens _sdiName (\ s a -> s{_sdiName = a})++-- | A list of initialization parameters for the SerDe, in key-value form.+sdiParameters :: Lens' SerDeInfo (HashMap Text Text)+sdiParameters = lens _sdiParameters (\ s a -> s{_sdiParameters = a}) . _Default . _Map++instance FromJSON SerDeInfo where+        parseJSON+          = withObject "SerDeInfo"+              (\ x ->+                 SerDeInfo' <$>+                   (x .:? "SerializationLibrary") <*> (x .:? "Name") <*>+                     (x .:? "Parameters" .!= mempty))++instance Hashable SerDeInfo where++instance NFData SerDeInfo where++instance ToJSON SerDeInfo where+        toJSON SerDeInfo'{..}+          = object+              (catMaybes+                 [("SerializationLibrary" .=) <$>+                    _sdiSerializationLibrary,+                  ("Name" .=) <$> _sdiName,+                  ("Parameters" .=) <$> _sdiParameters])++-- | Specifies skewed values in a table. Skewed are ones that occur with very high frequency.+--+--+--+-- /See:/ 'skewedInfo' smart constructor.+data SkewedInfo = SkewedInfo'+  { _siSkewedColumnValueLocationMaps :: !(Maybe (Map Text Text))+  , _siSkewedColumnValues            :: !(Maybe [Text])+  , _siSkewedColumnNames             :: !(Maybe [Text])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SkewedInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'siSkewedColumnValueLocationMaps' - A mapping of skewed values to the columns that contain them.+--+-- * 'siSkewedColumnValues' - A list of values that appear so frequently as to be considered skewed.+--+-- * 'siSkewedColumnNames' - A list of names of columns that contain skewed values.+skewedInfo+    :: SkewedInfo+skewedInfo =+  SkewedInfo'+    { _siSkewedColumnValueLocationMaps = Nothing+    , _siSkewedColumnValues = Nothing+    , _siSkewedColumnNames = Nothing+    }+++-- | A mapping of skewed values to the columns that contain them.+siSkewedColumnValueLocationMaps :: Lens' SkewedInfo (HashMap Text Text)+siSkewedColumnValueLocationMaps = lens _siSkewedColumnValueLocationMaps (\ s a -> s{_siSkewedColumnValueLocationMaps = a}) . _Default . _Map++-- | A list of values that appear so frequently as to be considered skewed.+siSkewedColumnValues :: Lens' SkewedInfo [Text]+siSkewedColumnValues = lens _siSkewedColumnValues (\ s a -> s{_siSkewedColumnValues = a}) . _Default . _Coerce++-- | A list of names of columns that contain skewed values.+siSkewedColumnNames :: Lens' SkewedInfo [Text]+siSkewedColumnNames = lens _siSkewedColumnNames (\ s a -> s{_siSkewedColumnNames = a}) . _Default . _Coerce++instance FromJSON SkewedInfo where+        parseJSON+          = withObject "SkewedInfo"+              (\ x ->+                 SkewedInfo' <$>+                   (x .:? "SkewedColumnValueLocationMaps" .!= mempty)+                     <*> (x .:? "SkewedColumnValues" .!= mempty)+                     <*> (x .:? "SkewedColumnNames" .!= mempty))++instance Hashable SkewedInfo where++instance NFData SkewedInfo where++instance ToJSON SkewedInfo where+        toJSON SkewedInfo'{..}+          = object+              (catMaybes+                 [("SkewedColumnValueLocationMaps" .=) <$>+                    _siSkewedColumnValueLocationMaps,+                  ("SkewedColumnValues" .=) <$> _siSkewedColumnValues,+                  ("SkewedColumnNames" .=) <$> _siSkewedColumnNames])++-- | Describes the physical storage of table data.+--+--+--+-- /See:/ 'storageDescriptor' smart constructor.+data StorageDescriptor = StorageDescriptor'+  { _sdSortColumns            :: !(Maybe [Order])+  , _sdCompressed             :: !(Maybe Bool)+  , _sdLocation               :: !(Maybe Text)+  , _sdBucketColumns          :: !(Maybe [Text])+  , _sdSerdeInfo              :: !(Maybe SerDeInfo)+  , _sdOutputFormat           :: !(Maybe Text)+  , _sdNumberOfBuckets        :: !(Maybe Int)+  , _sdStoredAsSubDirectories :: !(Maybe Bool)+  , _sdParameters             :: !(Maybe (Map Text Text))+  , _sdInputFormat            :: !(Maybe Text)+  , _sdSkewedInfo             :: !(Maybe SkewedInfo)+  , _sdColumns                :: !(Maybe [Column])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StorageDescriptor' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdSortColumns' - A list specifying the sort order of each bucket in the table.+--+-- * 'sdCompressed' - True if the data in the table is compressed, or False if not.+--+-- * 'sdLocation' - The physical location of the table. By default this takes the form of the warehouse location, followed by the database location in the warehouse, followed by the table name.+--+-- * 'sdBucketColumns' - A list of reducer grouping columns, clustering columns, and bucketing columns in the table.+--+-- * 'sdSerdeInfo' - Serialization/deserialization (SerDe) information.+--+-- * 'sdOutputFormat' - The output format: @SequenceFileOutputFormat@ (binary), or @IgnoreKeyTextOutputFormat@ , or a custom format.+--+-- * 'sdNumberOfBuckets' - Must be specified if the table contains any dimension columns.+--+-- * 'sdStoredAsSubDirectories' - True if the table data is stored in subdirectories, or False if not.+--+-- * 'sdParameters' - User-supplied properties in key-value form.+--+-- * 'sdInputFormat' - The input format: @SequenceFileInputFormat@ (binary), or @TextInputFormat@ , or a custom format.+--+-- * 'sdSkewedInfo' - Information about values that appear very frequently in a column (skewed values).+--+-- * 'sdColumns' - A list of the @Columns@ in the table.+storageDescriptor+    :: StorageDescriptor+storageDescriptor =+  StorageDescriptor'+    { _sdSortColumns = Nothing+    , _sdCompressed = Nothing+    , _sdLocation = Nothing+    , _sdBucketColumns = Nothing+    , _sdSerdeInfo = Nothing+    , _sdOutputFormat = Nothing+    , _sdNumberOfBuckets = Nothing+    , _sdStoredAsSubDirectories = Nothing+    , _sdParameters = Nothing+    , _sdInputFormat = Nothing+    , _sdSkewedInfo = Nothing+    , _sdColumns = Nothing+    }+++-- | A list specifying the sort order of each bucket in the table.+sdSortColumns :: Lens' StorageDescriptor [Order]+sdSortColumns = lens _sdSortColumns (\ s a -> s{_sdSortColumns = a}) . _Default . _Coerce++-- | True if the data in the table is compressed, or False if not.+sdCompressed :: Lens' StorageDescriptor (Maybe Bool)+sdCompressed = lens _sdCompressed (\ s a -> s{_sdCompressed = a})++-- | The physical location of the table. By default this takes the form of the warehouse location, followed by the database location in the warehouse, followed by the table name.+sdLocation :: Lens' StorageDescriptor (Maybe Text)+sdLocation = lens _sdLocation (\ s a -> s{_sdLocation = a})++-- | A list of reducer grouping columns, clustering columns, and bucketing columns in the table.+sdBucketColumns :: Lens' StorageDescriptor [Text]+sdBucketColumns = lens _sdBucketColumns (\ s a -> s{_sdBucketColumns = a}) . _Default . _Coerce++-- | Serialization/deserialization (SerDe) information.+sdSerdeInfo :: Lens' StorageDescriptor (Maybe SerDeInfo)+sdSerdeInfo = lens _sdSerdeInfo (\ s a -> s{_sdSerdeInfo = a})++-- | The output format: @SequenceFileOutputFormat@ (binary), or @IgnoreKeyTextOutputFormat@ , or a custom format.+sdOutputFormat :: Lens' StorageDescriptor (Maybe Text)+sdOutputFormat = lens _sdOutputFormat (\ s a -> s{_sdOutputFormat = a})++-- | Must be specified if the table contains any dimension columns.+sdNumberOfBuckets :: Lens' StorageDescriptor (Maybe Int)+sdNumberOfBuckets = lens _sdNumberOfBuckets (\ s a -> s{_sdNumberOfBuckets = a})++-- | True if the table data is stored in subdirectories, or False if not.+sdStoredAsSubDirectories :: Lens' StorageDescriptor (Maybe Bool)+sdStoredAsSubDirectories = lens _sdStoredAsSubDirectories (\ s a -> s{_sdStoredAsSubDirectories = a})++-- | User-supplied properties in key-value form.+sdParameters :: Lens' StorageDescriptor (HashMap Text Text)+sdParameters = lens _sdParameters (\ s a -> s{_sdParameters = a}) . _Default . _Map++-- | The input format: @SequenceFileInputFormat@ (binary), or @TextInputFormat@ , or a custom format.+sdInputFormat :: Lens' StorageDescriptor (Maybe Text)+sdInputFormat = lens _sdInputFormat (\ s a -> s{_sdInputFormat = a})++-- | Information about values that appear very frequently in a column (skewed values).+sdSkewedInfo :: Lens' StorageDescriptor (Maybe SkewedInfo)+sdSkewedInfo = lens _sdSkewedInfo (\ s a -> s{_sdSkewedInfo = a})++-- | A list of the @Columns@ in the table.+sdColumns :: Lens' StorageDescriptor [Column]+sdColumns = lens _sdColumns (\ s a -> s{_sdColumns = a}) . _Default . _Coerce++instance FromJSON StorageDescriptor where+        parseJSON+          = withObject "StorageDescriptor"+              (\ x ->+                 StorageDescriptor' <$>+                   (x .:? "SortColumns" .!= mempty) <*>+                     (x .:? "Compressed")+                     <*> (x .:? "Location")+                     <*> (x .:? "BucketColumns" .!= mempty)+                     <*> (x .:? "SerdeInfo")+                     <*> (x .:? "OutputFormat")+                     <*> (x .:? "NumberOfBuckets")+                     <*> (x .:? "StoredAsSubDirectories")+                     <*> (x .:? "Parameters" .!= mempty)+                     <*> (x .:? "InputFormat")+                     <*> (x .:? "SkewedInfo")+                     <*> (x .:? "Columns" .!= mempty))++instance Hashable StorageDescriptor where++instance NFData StorageDescriptor where++instance ToJSON StorageDescriptor where+        toJSON StorageDescriptor'{..}+          = object+              (catMaybes+                 [("SortColumns" .=) <$> _sdSortColumns,+                  ("Compressed" .=) <$> _sdCompressed,+                  ("Location" .=) <$> _sdLocation,+                  ("BucketColumns" .=) <$> _sdBucketColumns,+                  ("SerdeInfo" .=) <$> _sdSerdeInfo,+                  ("OutputFormat" .=) <$> _sdOutputFormat,+                  ("NumberOfBuckets" .=) <$> _sdNumberOfBuckets,+                  ("StoredAsSubDirectories" .=) <$>+                    _sdStoredAsSubDirectories,+                  ("Parameters" .=) <$> _sdParameters,+                  ("InputFormat" .=) <$> _sdInputFormat,+                  ("SkewedInfo" .=) <$> _sdSkewedInfo,+                  ("Columns" .=) <$> _sdColumns])++-- | Represents a collection of related data organized in columns and rows.+--+--+--+-- /See:/ 'table' smart constructor.+data Table = Table'+  { _tRetention         :: !(Maybe Nat)+  , _tCreatedBy         :: !(Maybe Text)+  , _tTableType         :: !(Maybe Text)+  , _tOwner             :: !(Maybe Text)+  , _tViewOriginalText  :: !(Maybe Text)+  , _tUpdateTime        :: !(Maybe POSIX)+  , _tViewExpandedText  :: !(Maybe Text)+  , _tLastAnalyzedTime  :: !(Maybe POSIX)+  , _tStorageDescriptor :: !(Maybe StorageDescriptor)+  , _tDatabaseName      :: !(Maybe Text)+  , _tParameters        :: !(Maybe (Map Text Text))+  , _tLastAccessTime    :: !(Maybe POSIX)+  , _tDescription       :: !(Maybe Text)+  , _tPartitionKeys     :: !(Maybe [Column])+  , _tCreateTime        :: !(Maybe POSIX)+  , _tName              :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Table' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tRetention' - Retention time for this table.+--+-- * 'tCreatedBy' - Person or entity who created the table.+--+-- * 'tTableType' - The type of this table (@EXTERNAL_TABLE@ , @VIRTUAL_VIEW@ , etc.).+--+-- * 'tOwner' - Owner of the table.+--+-- * 'tViewOriginalText' - If the table is a view, the original text of the view; otherwise @null@ .+--+-- * 'tUpdateTime' - Last time the table was updated.+--+-- * 'tViewExpandedText' - If the table is a view, the expanded text of the view; otherwise @null@ .+--+-- * 'tLastAnalyzedTime' - Last time column statistics were computed for this table.+--+-- * 'tStorageDescriptor' - A storage descriptor containing information about the physical storage of this table.+--+-- * 'tDatabaseName' - Name of the metadata database where the table metadata resides. For Hive compatibility, this must be all lowercase.+--+-- * 'tParameters' - Properties associated with this table, as a list of key-value pairs.+--+-- * 'tLastAccessTime' - Last time the table was accessed. This is usually taken from HDFS, and may not be reliable.+--+-- * 'tDescription' - Description of the table.+--+-- * 'tPartitionKeys' - A list of columns by which the table is partitioned. Only primitive types are supported as partition keys.+--+-- * 'tCreateTime' - Time when the table definition was created in the Data Catalog.+--+-- * 'tName' - Name of the table. For Hive compatibility, this must be entirely lowercase.+table+    :: Text -- ^ 'tName'+    -> Table+table pName_ =+  Table'+    { _tRetention = Nothing+    , _tCreatedBy = Nothing+    , _tTableType = Nothing+    , _tOwner = Nothing+    , _tViewOriginalText = Nothing+    , _tUpdateTime = Nothing+    , _tViewExpandedText = Nothing+    , _tLastAnalyzedTime = Nothing+    , _tStorageDescriptor = Nothing+    , _tDatabaseName = Nothing+    , _tParameters = Nothing+    , _tLastAccessTime = Nothing+    , _tDescription = Nothing+    , _tPartitionKeys = Nothing+    , _tCreateTime = Nothing+    , _tName = pName_+    }+++-- | Retention time for this table.+tRetention :: Lens' Table (Maybe Natural)+tRetention = lens _tRetention (\ s a -> s{_tRetention = a}) . mapping _Nat++-- | Person or entity who created the table.+tCreatedBy :: Lens' Table (Maybe Text)+tCreatedBy = lens _tCreatedBy (\ s a -> s{_tCreatedBy = a})++-- | The type of this table (@EXTERNAL_TABLE@ , @VIRTUAL_VIEW@ , etc.).+tTableType :: Lens' Table (Maybe Text)+tTableType = lens _tTableType (\ s a -> s{_tTableType = a})++-- | Owner of the table.+tOwner :: Lens' Table (Maybe Text)+tOwner = lens _tOwner (\ s a -> s{_tOwner = a})++-- | If the table is a view, the original text of the view; otherwise @null@ .+tViewOriginalText :: Lens' Table (Maybe Text)+tViewOriginalText = lens _tViewOriginalText (\ s a -> s{_tViewOriginalText = a})++-- | Last time the table was updated.+tUpdateTime :: Lens' Table (Maybe UTCTime)+tUpdateTime = lens _tUpdateTime (\ s a -> s{_tUpdateTime = a}) . mapping _Time++-- | If the table is a view, the expanded text of the view; otherwise @null@ .+tViewExpandedText :: Lens' Table (Maybe Text)+tViewExpandedText = lens _tViewExpandedText (\ s a -> s{_tViewExpandedText = a})++-- | Last time column statistics were computed for this table.+tLastAnalyzedTime :: Lens' Table (Maybe UTCTime)+tLastAnalyzedTime = lens _tLastAnalyzedTime (\ s a -> s{_tLastAnalyzedTime = a}) . mapping _Time++-- | A storage descriptor containing information about the physical storage of this table.+tStorageDescriptor :: Lens' Table (Maybe StorageDescriptor)+tStorageDescriptor = lens _tStorageDescriptor (\ s a -> s{_tStorageDescriptor = a})++-- | Name of the metadata database where the table metadata resides. For Hive compatibility, this must be all lowercase.+tDatabaseName :: Lens' Table (Maybe Text)+tDatabaseName = lens _tDatabaseName (\ s a -> s{_tDatabaseName = a})++-- | Properties associated with this table, as a list of key-value pairs.+tParameters :: Lens' Table (HashMap Text Text)+tParameters = lens _tParameters (\ s a -> s{_tParameters = a}) . _Default . _Map++-- | Last time the table was accessed. This is usually taken from HDFS, and may not be reliable.+tLastAccessTime :: Lens' Table (Maybe UTCTime)+tLastAccessTime = lens _tLastAccessTime (\ s a -> s{_tLastAccessTime = a}) . mapping _Time++-- | Description of the table.+tDescription :: Lens' Table (Maybe Text)+tDescription = lens _tDescription (\ s a -> s{_tDescription = a})++-- | A list of columns by which the table is partitioned. Only primitive types are supported as partition keys.+tPartitionKeys :: Lens' Table [Column]+tPartitionKeys = lens _tPartitionKeys (\ s a -> s{_tPartitionKeys = a}) . _Default . _Coerce++-- | Time when the table definition was created in the Data Catalog.+tCreateTime :: Lens' Table (Maybe UTCTime)+tCreateTime = lens _tCreateTime (\ s a -> s{_tCreateTime = a}) . mapping _Time++-- | Name of the table. For Hive compatibility, this must be entirely lowercase.+tName :: Lens' Table Text+tName = lens _tName (\ s a -> s{_tName = a})++instance FromJSON Table where+        parseJSON+          = withObject "Table"+              (\ x ->+                 Table' <$>+                   (x .:? "Retention") <*> (x .:? "CreatedBy") <*>+                     (x .:? "TableType")+                     <*> (x .:? "Owner")+                     <*> (x .:? "ViewOriginalText")+                     <*> (x .:? "UpdateTime")+                     <*> (x .:? "ViewExpandedText")+                     <*> (x .:? "LastAnalyzedTime")+                     <*> (x .:? "StorageDescriptor")+                     <*> (x .:? "DatabaseName")+                     <*> (x .:? "Parameters" .!= mempty)+                     <*> (x .:? "LastAccessTime")+                     <*> (x .:? "Description")+                     <*> (x .:? "PartitionKeys" .!= mempty)+                     <*> (x .:? "CreateTime")+                     <*> (x .: "Name"))++instance Hashable Table where++instance NFData Table where++-- | An error record for table operations.+--+--+--+-- /See:/ 'tableError' smart constructor.+data TableError = TableError'+  { _teTableName   :: !(Maybe Text)+  , _teErrorDetail :: !(Maybe ErrorDetail)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TableError' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'teTableName' - Name of the table. For Hive compatibility, this must be entirely lowercase.+--+-- * 'teErrorDetail' - Detail about the error.+tableError+    :: TableError+tableError = TableError' {_teTableName = Nothing, _teErrorDetail = Nothing}+++-- | Name of the table. For Hive compatibility, this must be entirely lowercase.+teTableName :: Lens' TableError (Maybe Text)+teTableName = lens _teTableName (\ s a -> s{_teTableName = a})++-- | Detail about the error.+teErrorDetail :: Lens' TableError (Maybe ErrorDetail)+teErrorDetail = lens _teErrorDetail (\ s a -> s{_teErrorDetail = a})++instance FromJSON TableError where+        parseJSON+          = withObject "TableError"+              (\ x ->+                 TableError' <$>+                   (x .:? "TableName") <*> (x .:? "ErrorDetail"))++instance Hashable TableError where++instance NFData TableError where++-- | Structure used to create or update the table.+--+--+--+-- /See:/ 'tableInput' smart constructor.+data TableInput = TableInput'+  { _tiRetention         :: !(Maybe Nat)+  , _tiTableType         :: !(Maybe Text)+  , _tiOwner             :: !(Maybe Text)+  , _tiViewOriginalText  :: !(Maybe Text)+  , _tiViewExpandedText  :: !(Maybe Text)+  , _tiLastAnalyzedTime  :: !(Maybe POSIX)+  , _tiStorageDescriptor :: !(Maybe StorageDescriptor)+  , _tiParameters        :: !(Maybe (Map Text Text))+  , _tiLastAccessTime    :: !(Maybe POSIX)+  , _tiDescription       :: !(Maybe Text)+  , _tiPartitionKeys     :: !(Maybe [Column])+  , _tiName              :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TableInput' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tiRetention' - Retention time for this table.+--+-- * 'tiTableType' - The type of this table (@EXTERNAL_TABLE@ , @VIRTUAL_VIEW@ , etc.).+--+-- * 'tiOwner' - Owner of the table.+--+-- * 'tiViewOriginalText' - If the table is a view, the original text of the view; otherwise @null@ .+--+-- * 'tiViewExpandedText' - If the table is a view, the expanded text of the view; otherwise @null@ .+--+-- * 'tiLastAnalyzedTime' - Last time column statistics were computed for this table.+--+-- * 'tiStorageDescriptor' - A storage descriptor containing information about the physical storage of this table.+--+-- * 'tiParameters' - Properties associated with this table, as a list of key-value pairs.+--+-- * 'tiLastAccessTime' - Last time the table was accessed.+--+-- * 'tiDescription' - Description of the table.+--+-- * 'tiPartitionKeys' - A list of columns by which the table is partitioned. Only primitive types are supported as partition keys.+--+-- * 'tiName' - Name of the table. For Hive compatibility, this is folded to lowercase when it is stored.+tableInput+    :: Text -- ^ 'tiName'+    -> TableInput+tableInput pName_ =+  TableInput'+    { _tiRetention = Nothing+    , _tiTableType = Nothing+    , _tiOwner = Nothing+    , _tiViewOriginalText = Nothing+    , _tiViewExpandedText = Nothing+    , _tiLastAnalyzedTime = Nothing+    , _tiStorageDescriptor = Nothing+    , _tiParameters = Nothing+    , _tiLastAccessTime = Nothing+    , _tiDescription = Nothing+    , _tiPartitionKeys = Nothing+    , _tiName = pName_+    }+++-- | Retention time for this table.+tiRetention :: Lens' TableInput (Maybe Natural)+tiRetention = lens _tiRetention (\ s a -> s{_tiRetention = a}) . mapping _Nat++-- | The type of this table (@EXTERNAL_TABLE@ , @VIRTUAL_VIEW@ , etc.).+tiTableType :: Lens' TableInput (Maybe Text)+tiTableType = lens _tiTableType (\ s a -> s{_tiTableType = a})++-- | Owner of the table.+tiOwner :: Lens' TableInput (Maybe Text)+tiOwner = lens _tiOwner (\ s a -> s{_tiOwner = a})++-- | If the table is a view, the original text of the view; otherwise @null@ .+tiViewOriginalText :: Lens' TableInput (Maybe Text)+tiViewOriginalText = lens _tiViewOriginalText (\ s a -> s{_tiViewOriginalText = a})++-- | If the table is a view, the expanded text of the view; otherwise @null@ .+tiViewExpandedText :: Lens' TableInput (Maybe Text)+tiViewExpandedText = lens _tiViewExpandedText (\ s a -> s{_tiViewExpandedText = a})++-- | Last time column statistics were computed for this table.+tiLastAnalyzedTime :: Lens' TableInput (Maybe UTCTime)+tiLastAnalyzedTime = lens _tiLastAnalyzedTime (\ s a -> s{_tiLastAnalyzedTime = a}) . mapping _Time++-- | A storage descriptor containing information about the physical storage of this table.+tiStorageDescriptor :: Lens' TableInput (Maybe StorageDescriptor)+tiStorageDescriptor = lens _tiStorageDescriptor (\ s a -> s{_tiStorageDescriptor = a})++-- | Properties associated with this table, as a list of key-value pairs.+tiParameters :: Lens' TableInput (HashMap Text Text)+tiParameters = lens _tiParameters (\ s a -> s{_tiParameters = a}) . _Default . _Map++-- | Last time the table was accessed.+tiLastAccessTime :: Lens' TableInput (Maybe UTCTime)+tiLastAccessTime = lens _tiLastAccessTime (\ s a -> s{_tiLastAccessTime = a}) . mapping _Time++-- | Description of the table.+tiDescription :: Lens' TableInput (Maybe Text)+tiDescription = lens _tiDescription (\ s a -> s{_tiDescription = a})++-- | A list of columns by which the table is partitioned. Only primitive types are supported as partition keys.+tiPartitionKeys :: Lens' TableInput [Column]+tiPartitionKeys = lens _tiPartitionKeys (\ s a -> s{_tiPartitionKeys = a}) . _Default . _Coerce++-- | Name of the table. For Hive compatibility, this is folded to lowercase when it is stored.+tiName :: Lens' TableInput Text+tiName = lens _tiName (\ s a -> s{_tiName = a})++instance Hashable TableInput where++instance NFData TableInput where++instance ToJSON TableInput where+        toJSON TableInput'{..}+          = object+              (catMaybes+                 [("Retention" .=) <$> _tiRetention,+                  ("TableType" .=) <$> _tiTableType,+                  ("Owner" .=) <$> _tiOwner,+                  ("ViewOriginalText" .=) <$> _tiViewOriginalText,+                  ("ViewExpandedText" .=) <$> _tiViewExpandedText,+                  ("LastAnalyzedTime" .=) <$> _tiLastAnalyzedTime,+                  ("StorageDescriptor" .=) <$> _tiStorageDescriptor,+                  ("Parameters" .=) <$> _tiParameters,+                  ("LastAccessTime" .=) <$> _tiLastAccessTime,+                  ("Description" .=) <$> _tiDescription,+                  ("PartitionKeys" .=) <$> _tiPartitionKeys,+                  Just ("Name" .= _tiName)])++-- | Specifies a version of a table.+--+--+--+-- /See:/ 'tableVersion' smart constructor.+data TableVersion = TableVersion'+  { _tvVersionId :: !(Maybe Text)+  , _tvTable     :: !(Maybe Table)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TableVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tvVersionId' - The ID value that identifies this table version.+--+-- * 'tvTable' - The table in question+tableVersion+    :: TableVersion+tableVersion = TableVersion' {_tvVersionId = Nothing, _tvTable = Nothing}+++-- | The ID value that identifies this table version.+tvVersionId :: Lens' TableVersion (Maybe Text)+tvVersionId = lens _tvVersionId (\ s a -> s{_tvVersionId = a})++-- | The table in question+tvTable :: Lens' TableVersion (Maybe Table)+tvTable = lens _tvTable (\ s a -> s{_tvTable = a})++instance FromJSON TableVersion where+        parseJSON+          = withObject "TableVersion"+              (\ x ->+                 TableVersion' <$>+                   (x .:? "VersionId") <*> (x .:? "Table"))++instance Hashable TableVersion where++instance NFData TableVersion where++-- | An error record for table-version operations.+--+--+--+-- /See:/ 'tableVersionError' smart constructor.+data TableVersionError = TableVersionError'+  { _tveVersionId   :: !(Maybe Text)+  , _tveTableName   :: !(Maybe Text)+  , _tveErrorDetail :: !(Maybe ErrorDetail)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TableVersionError' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tveVersionId' - The ID value of the version in question.+--+-- * 'tveTableName' - The name of the table in question.+--+-- * 'tveErrorDetail' - Detail about the error.+tableVersionError+    :: TableVersionError+tableVersionError =+  TableVersionError'+    { _tveVersionId = Nothing+    , _tveTableName = Nothing+    , _tveErrorDetail = Nothing+    }+++-- | The ID value of the version in question.+tveVersionId :: Lens' TableVersionError (Maybe Text)+tveVersionId = lens _tveVersionId (\ s a -> s{_tveVersionId = a})++-- | The name of the table in question.+tveTableName :: Lens' TableVersionError (Maybe Text)+tveTableName = lens _tveTableName (\ s a -> s{_tveTableName = a})++-- | Detail about the error.+tveErrorDetail :: Lens' TableVersionError (Maybe ErrorDetail)+tveErrorDetail = lens _tveErrorDetail (\ s a -> s{_tveErrorDetail = a})++instance FromJSON TableVersionError where+        parseJSON+          = withObject "TableVersionError"+              (\ x ->+                 TableVersionError' <$>+                   (x .:? "VersionId") <*> (x .:? "TableName") <*>+                     (x .:? "ErrorDetail"))++instance Hashable TableVersionError where++instance NFData TableVersionError where++-- | Information about a specific trigger.+--+--+--+-- /See:/ 'trigger' smart constructor.+data Trigger = Trigger'+  { _triState       :: !(Maybe TriggerState)+  , _triActions     :: !(Maybe [Action])+  , _triSchedule    :: !(Maybe Text)+  , _triPredicate   :: !(Maybe Predicate)+  , _triName        :: !(Maybe Text)+  , _triId          :: !(Maybe Text)+  , _triType        :: !(Maybe TriggerType)+  , _triDescription :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Trigger' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'triState' - The current state of the trigger.+--+-- * 'triActions' - The actions initiated by this trigger.+--+-- * 'triSchedule' - A @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ .+--+-- * 'triPredicate' - The predicate of this trigger, which defines when it will fire.+--+-- * 'triName' - Name of the trigger.+--+-- * 'triId' - Reserved for future use.+--+-- * 'triType' - The type of trigger that this is.+--+-- * 'triDescription' - A description of this trigger.+trigger+    :: Trigger+trigger =+  Trigger'+    { _triState = Nothing+    , _triActions = Nothing+    , _triSchedule = Nothing+    , _triPredicate = Nothing+    , _triName = Nothing+    , _triId = Nothing+    , _triType = Nothing+    , _triDescription = Nothing+    }+++-- | The current state of the trigger.+triState :: Lens' Trigger (Maybe TriggerState)+triState = lens _triState (\ s a -> s{_triState = a})++-- | The actions initiated by this trigger.+triActions :: Lens' Trigger [Action]+triActions = lens _triActions (\ s a -> s{_triActions = a}) . _Default . _Coerce++-- | A @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ .+triSchedule :: Lens' Trigger (Maybe Text)+triSchedule = lens _triSchedule (\ s a -> s{_triSchedule = a})++-- | The predicate of this trigger, which defines when it will fire.+triPredicate :: Lens' Trigger (Maybe Predicate)+triPredicate = lens _triPredicate (\ s a -> s{_triPredicate = a})++-- | Name of the trigger.+triName :: Lens' Trigger (Maybe Text)+triName = lens _triName (\ s a -> s{_triName = a})++-- | Reserved for future use.+triId :: Lens' Trigger (Maybe Text)+triId = lens _triId (\ s a -> s{_triId = a})++-- | The type of trigger that this is.+triType :: Lens' Trigger (Maybe TriggerType)+triType = lens _triType (\ s a -> s{_triType = a})++-- | A description of this trigger.+triDescription :: Lens' Trigger (Maybe Text)+triDescription = lens _triDescription (\ s a -> s{_triDescription = a})++instance FromJSON Trigger where+        parseJSON+          = withObject "Trigger"+              (\ x ->+                 Trigger' <$>+                   (x .:? "State") <*> (x .:? "Actions" .!= mempty) <*>+                     (x .:? "Schedule")+                     <*> (x .:? "Predicate")+                     <*> (x .:? "Name")+                     <*> (x .:? "Id")+                     <*> (x .:? "Type")+                     <*> (x .:? "Description"))++instance Hashable Trigger where++instance NFData Trigger where++-- | A structure used to provide information used to update a trigger. This object will update the the previous trigger definition by overwriting it completely.+--+--+--+-- /See:/ 'triggerUpdate' smart constructor.+data TriggerUpdate = TriggerUpdate'+  { _tuActions     :: !(Maybe [Action])+  , _tuSchedule    :: !(Maybe Text)+  , _tuPredicate   :: !(Maybe Predicate)+  , _tuName        :: !(Maybe Text)+  , _tuDescription :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TriggerUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tuActions' - The actions initiated by this trigger.+--+-- * 'tuSchedule' - A @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ .+--+-- * 'tuPredicate' - The predicate of this trigger, which defines when it will fire.+--+-- * 'tuName' - Reserved for future use.+--+-- * 'tuDescription' - A description of this trigger.+triggerUpdate+    :: TriggerUpdate+triggerUpdate =+  TriggerUpdate'+    { _tuActions = Nothing+    , _tuSchedule = Nothing+    , _tuPredicate = Nothing+    , _tuName = Nothing+    , _tuDescription = Nothing+    }+++-- | The actions initiated by this trigger.+tuActions :: Lens' TriggerUpdate [Action]+tuActions = lens _tuActions (\ s a -> s{_tuActions = a}) . _Default . _Coerce++-- | A @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ .+tuSchedule :: Lens' TriggerUpdate (Maybe Text)+tuSchedule = lens _tuSchedule (\ s a -> s{_tuSchedule = a})++-- | The predicate of this trigger, which defines when it will fire.+tuPredicate :: Lens' TriggerUpdate (Maybe Predicate)+tuPredicate = lens _tuPredicate (\ s a -> s{_tuPredicate = a})++-- | Reserved for future use.+tuName :: Lens' TriggerUpdate (Maybe Text)+tuName = lens _tuName (\ s a -> s{_tuName = a})++-- | A description of this trigger.+tuDescription :: Lens' TriggerUpdate (Maybe Text)+tuDescription = lens _tuDescription (\ s a -> s{_tuDescription = a})++instance Hashable TriggerUpdate where++instance NFData TriggerUpdate where++instance ToJSON TriggerUpdate where+        toJSON TriggerUpdate'{..}+          = object+              (catMaybes+                 [("Actions" .=) <$> _tuActions,+                  ("Schedule" .=) <$> _tuSchedule,+                  ("Predicate" .=) <$> _tuPredicate,+                  ("Name" .=) <$> _tuName,+                  ("Description" .=) <$> _tuDescription])++-- | Specifies a grok classifier to update when passed to @UpdateClassifier@ .+--+--+--+-- /See:/ 'updateGrokClassifierRequest' smart constructor.+data UpdateGrokClassifierRequest = UpdateGrokClassifierRequest'+  { _ugcrClassification :: !(Maybe Text)+  , _ugcrCustomPatterns :: !(Maybe Text)+  , _ugcrGrokPattern    :: !(Maybe Text)+  , _ugcrName           :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateGrokClassifierRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ugcrClassification' - An identifier of the data format that the classifier matches, such as Twitter, JSON, Omniture logs, Amazon CloudWatch Logs, and so on.+--+-- * 'ugcrCustomPatterns' - Optional custom grok patterns used by this classifier.+--+-- * 'ugcrGrokPattern' - The grok pattern used by this classifier.+--+-- * 'ugcrName' - The name of the @GrokClassifier@ .+updateGrokClassifierRequest+    :: Text -- ^ 'ugcrName'+    -> UpdateGrokClassifierRequest+updateGrokClassifierRequest pName_ =+  UpdateGrokClassifierRequest'+    { _ugcrClassification = Nothing+    , _ugcrCustomPatterns = Nothing+    , _ugcrGrokPattern = Nothing+    , _ugcrName = pName_+    }+++-- | An identifier of the data format that the classifier matches, such as Twitter, JSON, Omniture logs, Amazon CloudWatch Logs, and so on.+ugcrClassification :: Lens' UpdateGrokClassifierRequest (Maybe Text)+ugcrClassification = lens _ugcrClassification (\ s a -> s{_ugcrClassification = a})++-- | Optional custom grok patterns used by this classifier.+ugcrCustomPatterns :: Lens' UpdateGrokClassifierRequest (Maybe Text)+ugcrCustomPatterns = lens _ugcrCustomPatterns (\ s a -> s{_ugcrCustomPatterns = a})++-- | The grok pattern used by this classifier.+ugcrGrokPattern :: Lens' UpdateGrokClassifierRequest (Maybe Text)+ugcrGrokPattern = lens _ugcrGrokPattern (\ s a -> s{_ugcrGrokPattern = a})++-- | The name of the @GrokClassifier@ .+ugcrName :: Lens' UpdateGrokClassifierRequest Text+ugcrName = lens _ugcrName (\ s a -> s{_ugcrName = a})++instance Hashable UpdateGrokClassifierRequest where++instance NFData UpdateGrokClassifierRequest where++instance ToJSON UpdateGrokClassifierRequest where+        toJSON UpdateGrokClassifierRequest'{..}+          = object+              (catMaybes+                 [("Classification" .=) <$> _ugcrClassification,+                  ("CustomPatterns" .=) <$> _ugcrCustomPatterns,+                  ("GrokPattern" .=) <$> _ugcrGrokPattern,+                  Just ("Name" .= _ugcrName)])++-- | Specifies a JSON classifier to be updated.+--+--+--+-- /See:/ 'updateJSONClassifierRequest' smart constructor.+data UpdateJSONClassifierRequest = UpdateJSONClassifierRequest'+  { _ujcrJSONPath :: !(Maybe Text)+  , _ujcrName     :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateJSONClassifierRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ujcrJSONPath' - A @JsonPath@ string defining the JSON data for the classifier to classify. AWS Glue supports a subset of JsonPath, as described in <https://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html#custom-classifier-json Writing JsonPath Custom Classifiers> .+--+-- * 'ujcrName' - The name of the classifier.+updateJSONClassifierRequest+    :: Text -- ^ 'ujcrName'+    -> UpdateJSONClassifierRequest+updateJSONClassifierRequest pName_ =+  UpdateJSONClassifierRequest' {_ujcrJSONPath = Nothing, _ujcrName = pName_}+++-- | A @JsonPath@ string defining the JSON data for the classifier to classify. AWS Glue supports a subset of JsonPath, as described in <https://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html#custom-classifier-json Writing JsonPath Custom Classifiers> .+ujcrJSONPath :: Lens' UpdateJSONClassifierRequest (Maybe Text)+ujcrJSONPath = lens _ujcrJSONPath (\ s a -> s{_ujcrJSONPath = a})++-- | The name of the classifier.+ujcrName :: Lens' UpdateJSONClassifierRequest Text+ujcrName = lens _ujcrName (\ s a -> s{_ujcrName = a})++instance Hashable UpdateJSONClassifierRequest where++instance NFData UpdateJSONClassifierRequest where++instance ToJSON UpdateJSONClassifierRequest where+        toJSON UpdateJSONClassifierRequest'{..}+          = object+              (catMaybes+                 [("JsonPath" .=) <$> _ujcrJSONPath,+                  Just ("Name" .= _ujcrName)])++-- | Specifies an XML classifier to be updated.+--+--+--+-- /See:/ 'updateXMLClassifierRequest' smart constructor.+data UpdateXMLClassifierRequest = UpdateXMLClassifierRequest'+  { _uxcrClassification :: !(Maybe Text)+  , _uxcrRowTag         :: !(Maybe Text)+  , _uxcrName           :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateXMLClassifierRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uxcrClassification' - An identifier of the data format that the classifier matches.+--+-- * 'uxcrRowTag' - The XML tag designating the element that contains each record in an XML document being parsed. Note that this cannot identify a self-closing element (closed by @/>@ ). An empty row element that contains only attributes can be parsed as long as it ends with a closing tag (for example, @<row item_a="A" item_b="B"></row>@ is okay, but @<row item_a="A" item_b="B" />@ is not).+--+-- * 'uxcrName' - The name of the classifier.+updateXMLClassifierRequest+    :: Text -- ^ 'uxcrName'+    -> UpdateXMLClassifierRequest+updateXMLClassifierRequest pName_ =+  UpdateXMLClassifierRequest'+    {_uxcrClassification = Nothing, _uxcrRowTag = Nothing, _uxcrName = pName_}+++-- | An identifier of the data format that the classifier matches.+uxcrClassification :: Lens' UpdateXMLClassifierRequest (Maybe Text)+uxcrClassification = lens _uxcrClassification (\ s a -> s{_uxcrClassification = a})++-- | The XML tag designating the element that contains each record in an XML document being parsed. Note that this cannot identify a self-closing element (closed by @/>@ ). An empty row element that contains only attributes can be parsed as long as it ends with a closing tag (for example, @<row item_a="A" item_b="B"></row>@ is okay, but @<row item_a="A" item_b="B" />@ is not).+uxcrRowTag :: Lens' UpdateXMLClassifierRequest (Maybe Text)+uxcrRowTag = lens _uxcrRowTag (\ s a -> s{_uxcrRowTag = a})++-- | The name of the classifier.+uxcrName :: Lens' UpdateXMLClassifierRequest Text+uxcrName = lens _uxcrName (\ s a -> s{_uxcrName = a})++instance Hashable UpdateXMLClassifierRequest where++instance NFData UpdateXMLClassifierRequest where++instance ToJSON UpdateXMLClassifierRequest where+        toJSON UpdateXMLClassifierRequest'{..}+          = object+              (catMaybes+                 [("Classification" .=) <$> _uxcrClassification,+                  ("RowTag" .=) <$> _uxcrRowTag,+                  Just ("Name" .= _uxcrName)])++-- | Represents the equivalent of a Hive user-defined function (@UDF@ ) definition.+--+--+--+-- /See:/ 'userDefinedFunction' smart constructor.+data UserDefinedFunction = UserDefinedFunction'+  { _udfOwnerName    :: !(Maybe Text)+  , _udfResourceURIs :: !(Maybe [ResourceURI])+  , _udfFunctionName :: !(Maybe Text)+  , _udfOwnerType    :: !(Maybe PrincipalType)+  , _udfCreateTime   :: !(Maybe POSIX)+  , _udfClassName    :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UserDefinedFunction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'udfOwnerName' - The owner of the function.+--+-- * 'udfResourceURIs' - The resource URIs for the function.+--+-- * 'udfFunctionName' - The name of the function.+--+-- * 'udfOwnerType' - The owner type.+--+-- * 'udfCreateTime' - The time at which the function was created.+--+-- * 'udfClassName' - The Java class that contains the function code.+userDefinedFunction+    :: UserDefinedFunction+userDefinedFunction =+  UserDefinedFunction'+    { _udfOwnerName = Nothing+    , _udfResourceURIs = Nothing+    , _udfFunctionName = Nothing+    , _udfOwnerType = Nothing+    , _udfCreateTime = Nothing+    , _udfClassName = Nothing+    }+++-- | The owner of the function.+udfOwnerName :: Lens' UserDefinedFunction (Maybe Text)+udfOwnerName = lens _udfOwnerName (\ s a -> s{_udfOwnerName = a})++-- | The resource URIs for the function.+udfResourceURIs :: Lens' UserDefinedFunction [ResourceURI]+udfResourceURIs = lens _udfResourceURIs (\ s a -> s{_udfResourceURIs = a}) . _Default . _Coerce++-- | The name of the function.+udfFunctionName :: Lens' UserDefinedFunction (Maybe Text)+udfFunctionName = lens _udfFunctionName (\ s a -> s{_udfFunctionName = a})++-- | The owner type.+udfOwnerType :: Lens' UserDefinedFunction (Maybe PrincipalType)+udfOwnerType = lens _udfOwnerType (\ s a -> s{_udfOwnerType = a})++-- | The time at which the function was created.+udfCreateTime :: Lens' UserDefinedFunction (Maybe UTCTime)+udfCreateTime = lens _udfCreateTime (\ s a -> s{_udfCreateTime = a}) . mapping _Time++-- | The Java class that contains the function code.+udfClassName :: Lens' UserDefinedFunction (Maybe Text)+udfClassName = lens _udfClassName (\ s a -> s{_udfClassName = a})++instance FromJSON UserDefinedFunction where+        parseJSON+          = withObject "UserDefinedFunction"+              (\ x ->+                 UserDefinedFunction' <$>+                   (x .:? "OwnerName") <*>+                     (x .:? "ResourceUris" .!= mempty)+                     <*> (x .:? "FunctionName")+                     <*> (x .:? "OwnerType")+                     <*> (x .:? "CreateTime")+                     <*> (x .:? "ClassName"))++instance Hashable UserDefinedFunction where++instance NFData UserDefinedFunction where++-- | A structure used to create or updata a user-defined function.+--+--+--+-- /See:/ 'userDefinedFunctionInput' smart constructor.+data UserDefinedFunctionInput = UserDefinedFunctionInput'+  { _udfiOwnerName    :: !(Maybe Text)+  , _udfiResourceURIs :: !(Maybe [ResourceURI])+  , _udfiFunctionName :: !(Maybe Text)+  , _udfiOwnerType    :: !(Maybe PrincipalType)+  , _udfiClassName    :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UserDefinedFunctionInput' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'udfiOwnerName' - The owner of the function.+--+-- * 'udfiResourceURIs' - The resource URIs for the function.+--+-- * 'udfiFunctionName' - The name of the function.+--+-- * 'udfiOwnerType' - The owner type.+--+-- * 'udfiClassName' - The Java class that contains the function code.+userDefinedFunctionInput+    :: UserDefinedFunctionInput+userDefinedFunctionInput =+  UserDefinedFunctionInput'+    { _udfiOwnerName = Nothing+    , _udfiResourceURIs = Nothing+    , _udfiFunctionName = Nothing+    , _udfiOwnerType = Nothing+    , _udfiClassName = Nothing+    }+++-- | The owner of the function.+udfiOwnerName :: Lens' UserDefinedFunctionInput (Maybe Text)+udfiOwnerName = lens _udfiOwnerName (\ s a -> s{_udfiOwnerName = a})++-- | The resource URIs for the function.+udfiResourceURIs :: Lens' UserDefinedFunctionInput [ResourceURI]+udfiResourceURIs = lens _udfiResourceURIs (\ s a -> s{_udfiResourceURIs = a}) . _Default . _Coerce++-- | The name of the function.+udfiFunctionName :: Lens' UserDefinedFunctionInput (Maybe Text)+udfiFunctionName = lens _udfiFunctionName (\ s a -> s{_udfiFunctionName = a})++-- | The owner type.+udfiOwnerType :: Lens' UserDefinedFunctionInput (Maybe PrincipalType)+udfiOwnerType = lens _udfiOwnerType (\ s a -> s{_udfiOwnerType = a})++-- | The Java class that contains the function code.+udfiClassName :: Lens' UserDefinedFunctionInput (Maybe Text)+udfiClassName = lens _udfiClassName (\ s a -> s{_udfiClassName = a})++instance Hashable UserDefinedFunctionInput where++instance NFData UserDefinedFunctionInput where++instance ToJSON UserDefinedFunctionInput where+        toJSON UserDefinedFunctionInput'{..}+          = object+              (catMaybes+                 [("OwnerName" .=) <$> _udfiOwnerName,+                  ("ResourceUris" .=) <$> _udfiResourceURIs,+                  ("FunctionName" .=) <$> _udfiFunctionName,+                  ("OwnerType" .=) <$> _udfiOwnerType,+                  ("ClassName" .=) <$> _udfiClassName])++-- | A classifier for @XML@ content.+--+--+--+-- /See:/ 'xmlClassifier' smart constructor.+data XMLClassifier = XMLClassifier'+  { _xcCreationTime   :: !(Maybe POSIX)+  , _xcLastUpdated    :: !(Maybe POSIX)+  , _xcVersion        :: !(Maybe Integer)+  , _xcRowTag         :: !(Maybe Text)+  , _xcName           :: !Text+  , _xcClassification :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'XMLClassifier' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'xcCreationTime' - The time this classifier was registered.+--+-- * 'xcLastUpdated' - The time this classifier was last updated.+--+-- * 'xcVersion' - The version of this classifier.+--+-- * 'xcRowTag' - The XML tag designating the element that contains each record in an XML document being parsed. Note that this cannot identify a self-closing element (closed by @/>@ ). An empty row element that contains only attributes can be parsed as long as it ends with a closing tag (for example, @<row item_a="A" item_b="B"></row>@ is okay, but @<row item_a="A" item_b="B" />@ is not).+--+-- * 'xcName' - The name of the classifier.+--+-- * 'xcClassification' - An identifier of the data format that the classifier matches.+xmlClassifier+    :: Text -- ^ 'xcName'+    -> Text -- ^ 'xcClassification'+    -> XMLClassifier+xmlClassifier pName_ pClassification_ =+  XMLClassifier'+    { _xcCreationTime = Nothing+    , _xcLastUpdated = Nothing+    , _xcVersion = Nothing+    , _xcRowTag = Nothing+    , _xcName = pName_+    , _xcClassification = pClassification_+    }+++-- | The time this classifier was registered.+xcCreationTime :: Lens' XMLClassifier (Maybe UTCTime)+xcCreationTime = lens _xcCreationTime (\ s a -> s{_xcCreationTime = a}) . mapping _Time++-- | The time this classifier was last updated.+xcLastUpdated :: Lens' XMLClassifier (Maybe UTCTime)+xcLastUpdated = lens _xcLastUpdated (\ s a -> s{_xcLastUpdated = a}) . mapping _Time++-- | The version of this classifier.+xcVersion :: Lens' XMLClassifier (Maybe Integer)+xcVersion = lens _xcVersion (\ s a -> s{_xcVersion = a})++-- | The XML tag designating the element that contains each record in an XML document being parsed. Note that this cannot identify a self-closing element (closed by @/>@ ). An empty row element that contains only attributes can be parsed as long as it ends with a closing tag (for example, @<row item_a="A" item_b="B"></row>@ is okay, but @<row item_a="A" item_b="B" />@ is not).+xcRowTag :: Lens' XMLClassifier (Maybe Text)+xcRowTag = lens _xcRowTag (\ s a -> s{_xcRowTag = a})++-- | The name of the classifier.+xcName :: Lens' XMLClassifier Text+xcName = lens _xcName (\ s a -> s{_xcName = a})++-- | An identifier of the data format that the classifier matches.+xcClassification :: Lens' XMLClassifier Text+xcClassification = lens _xcClassification (\ s a -> s{_xcClassification = a})++instance FromJSON XMLClassifier where+        parseJSON+          = withObject "XMLClassifier"+              (\ x ->+                 XMLClassifier' <$>+                   (x .:? "CreationTime") <*> (x .:? "LastUpdated") <*>+                     (x .:? "Version")+                     <*> (x .:? "RowTag")+                     <*> (x .: "Name")+                     <*> (x .: "Classification"))++instance Hashable XMLClassifier where++instance NFData XMLClassifier where
gen/Network/AWS/Glue/Types/Sum.hs view
@@ -9,7 +9,7 @@  -- | -- Module      : Network.AWS.Glue.Types.Sum--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -176,6 +176,7 @@   | Stopped   | Stopping   | Succeeded+  | Timeout   deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)  @@ -187,8 +188,9 @@         "stopped" -> pure Stopped         "stopping" -> pure Stopping         "succeeded" -> pure Succeeded+        "timeout" -> pure Timeout         e -> fromTextError $ "Failure parsing JobRunState from value: '" <> e-           <> "'. Accepted values: failed, running, starting, stopped, stopping, succeeded"+           <> "'. Accepted values: failed, running, starting, stopped, stopping, succeeded, timeout"  instance ToText JobRunState where     toText = \case@@ -198,6 +200,7 @@         Stopped -> "STOPPED"         Stopping -> "STOPPING"         Succeeded -> "SUCCEEDED"+        Timeout -> "TIMEOUT"  instance Hashable     JobRunState instance NFData       JobRunState@@ -211,6 +214,33 @@ instance FromJSON JobRunState where     parseJSON = parseJSONText "JobRunState" +data Language+  = Python+  | Scala+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText Language where+    parser = takeLowerText >>= \case+        "python" -> pure Python+        "scala" -> pure Scala+        e -> fromTextError $ "Failure parsing Language from value: '" <> e+           <> "'. Accepted values: python, scala"++instance ToText Language where+    toText = \case+        Python -> "PYTHON"+        Scala -> "SCALA"++instance Hashable     Language+instance NFData       Language+instance ToByteString Language+instance ToQuery      Language+instance ToHeader     Language++instance ToJSON Language where+    toJSON = toJSONText+ data LastCrawlStatus   = LCSCancelled   | LCSFailed@@ -241,20 +271,23 @@ instance FromJSON LastCrawlStatus where     parseJSON = parseJSONText "LastCrawlStatus" -data Logical =-  And+data Logical+  = And+  | Any   deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)   instance FromText Logical where     parser = takeLowerText >>= \case         "and" -> pure And+        "any" -> pure Any         e -> fromTextError $ "Failure parsing Logical from value: '" <> e-           <> "'. Accepted values: and"+           <> "'. Accepted values: and, any"  instance ToText Logical where     toText = \case         And -> "AND"+        Any -> "ANY"  instance Hashable     Logical instance NFData       Logical
gen/Network/AWS/Glue/UpdateClassifier.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.Glue.UpdateClassifier--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Modifies an existing @Classifier@ .+-- Modifies an existing classifier (a @GrokClassifier@ , @XMLClassifier@ , or @JsonClassifier@ , depending on which field is present). -- -- module Network.AWS.Glue.UpdateClassifier@@ -28,6 +28,8 @@     , UpdateClassifier     -- * Request Lenses     , ucGrokClassifier+    , ucXMLClassifier+    , ucJSONClassifier      -- * Destructuring the Response     , updateClassifierResponse@@ -44,8 +46,10 @@ import Network.AWS.Response  -- | /See:/ 'updateClassifier' smart constructor.-newtype UpdateClassifier = UpdateClassifier'-  { _ucGrokClassifier :: Maybe UpdateGrokClassifierRequest+data UpdateClassifier = UpdateClassifier'+  { _ucGrokClassifier :: !(Maybe UpdateGrokClassifierRequest)+  , _ucXMLClassifier  :: !(Maybe UpdateXMLClassifierRequest)+  , _ucJSONClassifier :: !(Maybe UpdateJSONClassifierRequest)   } deriving (Eq, Read, Show, Data, Typeable, Generic)  @@ -54,15 +58,32 @@ -- Use one of the following lenses to modify other fields as desired: -- -- * 'ucGrokClassifier' - A @GrokClassifier@ object with updated fields.+--+-- * 'ucXMLClassifier' - An @XMLClassifier@ object with updated fields.+--+-- * 'ucJSONClassifier' - A @JsonClassifier@ object with updated fields. updateClassifier     :: UpdateClassifier-updateClassifier = UpdateClassifier' {_ucGrokClassifier = Nothing}+updateClassifier =+  UpdateClassifier'+    { _ucGrokClassifier = Nothing+    , _ucXMLClassifier = Nothing+    , _ucJSONClassifier = Nothing+    }   -- | A @GrokClassifier@ object with updated fields. ucGrokClassifier :: Lens' UpdateClassifier (Maybe UpdateGrokClassifierRequest)-ucGrokClassifier = lens _ucGrokClassifier (\ s a -> s{_ucGrokClassifier = a});+ucGrokClassifier = lens _ucGrokClassifier (\ s a -> s{_ucGrokClassifier = a}) +-- | An @XMLClassifier@ object with updated fields.+ucXMLClassifier :: Lens' UpdateClassifier (Maybe UpdateXMLClassifierRequest)+ucXMLClassifier = lens _ucXMLClassifier (\ s a -> s{_ucXMLClassifier = a})++-- | A @JsonClassifier@ object with updated fields.+ucJSONClassifier :: Lens' UpdateClassifier (Maybe UpdateJSONClassifierRequest)+ucJSONClassifier = lens _ucJSONClassifier (\ s a -> s{_ucJSONClassifier = a})+ instance AWSRequest UpdateClassifier where         type Rs UpdateClassifier = UpdateClassifierResponse         request = postJSON glue@@ -88,7 +109,9 @@         toJSON UpdateClassifier'{..}           = object               (catMaybes-                 [("GrokClassifier" .=) <$> _ucGrokClassifier])+                 [("GrokClassifier" .=) <$> _ucGrokClassifier,+                  ("XMLClassifier" .=) <$> _ucXMLClassifier,+                  ("JsonClassifier" .=) <$> _ucJSONClassifier])  instance ToPath UpdateClassifier where         toPath = const "/"@@ -116,6 +139,6 @@  -- | -- | The response status code. ursResponseStatus :: Lens' UpdateClassifierResponse Int-ursResponseStatus = lens _ursResponseStatus (\ s a -> s{_ursResponseStatus = a});+ursResponseStatus = lens _ursResponseStatus (\ s a -> s{_ursResponseStatus = a})  instance NFData UpdateClassifierResponse where
gen/Network/AWS/Glue/UpdateConnection.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.UpdateConnection--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -68,23 +68,23 @@     -> UpdateConnection updateConnection pName_ pConnectionInput_ =   UpdateConnection'-  { _ucCatalogId = Nothing-  , _ucName = pName_-  , _ucConnectionInput = pConnectionInput_-  }+    { _ucCatalogId = Nothing+    , _ucName = pName_+    , _ucConnectionInput = pConnectionInput_+    }   -- | The ID of the Data Catalog in which the connection resides. If none is supplied, the AWS account ID is used by default. ucCatalogId :: Lens' UpdateConnection (Maybe Text)-ucCatalogId = lens _ucCatalogId (\ s a -> s{_ucCatalogId = a});+ucCatalogId = lens _ucCatalogId (\ s a -> s{_ucCatalogId = a})  -- | The name of the connection definition to update. ucName :: Lens' UpdateConnection Text-ucName = lens _ucName (\ s a -> s{_ucName = a});+ucName = lens _ucName (\ s a -> s{_ucName = a})  -- | A @ConnectionInput@ object that redefines the connection in question. ucConnectionInput :: Lens' UpdateConnection ConnectionInput-ucConnectionInput = lens _ucConnectionInput (\ s a -> s{_ucConnectionInput = a});+ucConnectionInput = lens _ucConnectionInput (\ s a -> s{_ucConnectionInput = a})  instance AWSRequest UpdateConnection where         type Rs UpdateConnection = UpdateConnectionResponse@@ -141,6 +141,6 @@  -- | -- | The response status code. ucrsResponseStatus :: Lens' UpdateConnectionResponse Int-ucrsResponseStatus = lens _ucrsResponseStatus (\ s a -> s{_ucrsResponseStatus = a});+ucrsResponseStatus = lens _ucrsResponseStatus (\ s a -> s{_ucrsResponseStatus = a})  instance NFData UpdateConnectionResponse where
gen/Network/AWS/Glue/UpdateCrawler.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.Glue.UpdateCrawler--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Updates a @Crawler@ . If a @Crawler@ is running, you must stop it using @StopCrawler@ before updating it.+-- Updates a crawler. If a crawler is running, you must stop it using @StopCrawler@ before updating it. -- -- module Network.AWS.Glue.UpdateCrawler@@ -33,6 +33,7 @@     , uRole     , uTargets     , uDatabaseName+    , uConfiguration     , uTablePrefix     , uDescription     , uName@@ -59,6 +60,7 @@   , _uRole               :: !(Maybe Text)   , _uTargets            :: !(Maybe CrawlerTargets)   , _uDatabaseName       :: !(Maybe Text)+  , _uConfiguration      :: !(Maybe Text)   , _uTablePrefix        :: !(Maybe Text)   , _uDescription        :: !(Maybe Text)   , _uName               :: !Text@@ -73,71 +75,78 @@ -- -- * 'uSchedule' - A @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ . ----- * 'uClassifiers' - A list of custom @Classifier@ names that the user has registered. By default, all AWS classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification.+-- * 'uClassifiers' - A list of custom classifiers that the user has registered. By default, all classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification. ----- * 'uRole' - The IAM role (or ARN of an IAM role) used by the new @Crawler@ to access customer resources.+-- * 'uRole' - The IAM role (or ARN of an IAM role) used by the new crawler to access customer resources. ----- * 'uTargets' - A list of collection of targets to crawl.+-- * 'uTargets' - A list of targets to crawl. ----- * 'uDatabaseName' - The Glue @Database@ where results will be stored, such as: @arn:aws:daylight:us-east-1::database/sometable/*@ .+-- * 'uDatabaseName' - The AWS Glue database where results are stored, such as: @arn:aws:daylight:us-east-1::database/sometable/*@ . ----- * 'uTablePrefix' - The table prefix used for catalog tables created.+-- * 'uConfiguration' - Crawler configuration information. This versioned JSON string allows users to specify aspects of a Crawler's behavior. You can use this field to force partitions to inherit metadata such as classification, input format, output format, serde information, and schema from their parent table, rather than detect this information separately for each partition. Use the following JSON string to specify that behavior: Example: @'{ "Version": 1.0, "CrawlerOutput": { "Partitions": { "AddOrUpdateBehavior": "InheritFromTable" } } }'@ ----- * 'uDescription' - A description of the new @Crawler@ .+-- * 'uTablePrefix' - The table prefix used for catalog tables that are created. ----- * 'uName' - Name of the new @Crawler@ .+-- * 'uDescription' - A description of the new crawler.+--+-- * 'uName' - Name of the new crawler. updateCrawler     :: Text -- ^ 'uName'     -> UpdateCrawler updateCrawler pName_ =   UpdateCrawler'-  { _uSchemaChangePolicy = Nothing-  , _uSchedule = Nothing-  , _uClassifiers = Nothing-  , _uRole = Nothing-  , _uTargets = Nothing-  , _uDatabaseName = Nothing-  , _uTablePrefix = Nothing-  , _uDescription = Nothing-  , _uName = pName_-  }+    { _uSchemaChangePolicy = Nothing+    , _uSchedule = Nothing+    , _uClassifiers = Nothing+    , _uRole = Nothing+    , _uTargets = Nothing+    , _uDatabaseName = Nothing+    , _uConfiguration = Nothing+    , _uTablePrefix = Nothing+    , _uDescription = Nothing+    , _uName = pName_+    }   -- | Policy for the crawler's update and deletion behavior. uSchemaChangePolicy :: Lens' UpdateCrawler (Maybe SchemaChangePolicy)-uSchemaChangePolicy = lens _uSchemaChangePolicy (\ s a -> s{_uSchemaChangePolicy = a});+uSchemaChangePolicy = lens _uSchemaChangePolicy (\ s a -> s{_uSchemaChangePolicy = a})  -- | A @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ . uSchedule :: Lens' UpdateCrawler (Maybe Text)-uSchedule = lens _uSchedule (\ s a -> s{_uSchedule = a});+uSchedule = lens _uSchedule (\ s a -> s{_uSchedule = a}) --- | A list of custom @Classifier@ names that the user has registered. By default, all AWS classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification.+-- | A list of custom classifiers that the user has registered. By default, all classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification. uClassifiers :: Lens' UpdateCrawler [Text]-uClassifiers = lens _uClassifiers (\ s a -> s{_uClassifiers = a}) . _Default . _Coerce;+uClassifiers = lens _uClassifiers (\ s a -> s{_uClassifiers = a}) . _Default . _Coerce --- | The IAM role (or ARN of an IAM role) used by the new @Crawler@ to access customer resources.+-- | The IAM role (or ARN of an IAM role) used by the new crawler to access customer resources. uRole :: Lens' UpdateCrawler (Maybe Text)-uRole = lens _uRole (\ s a -> s{_uRole = a});+uRole = lens _uRole (\ s a -> s{_uRole = a}) --- | A list of collection of targets to crawl.+-- | A list of targets to crawl. uTargets :: Lens' UpdateCrawler (Maybe CrawlerTargets)-uTargets = lens _uTargets (\ s a -> s{_uTargets = a});+uTargets = lens _uTargets (\ s a -> s{_uTargets = a}) --- | The Glue @Database@ where results will be stored, such as: @arn:aws:daylight:us-east-1::database/sometable/*@ .+-- | The AWS Glue database where results are stored, such as: @arn:aws:daylight:us-east-1::database/sometable/*@ . uDatabaseName :: Lens' UpdateCrawler (Maybe Text)-uDatabaseName = lens _uDatabaseName (\ s a -> s{_uDatabaseName = a});+uDatabaseName = lens _uDatabaseName (\ s a -> s{_uDatabaseName = a}) --- | The table prefix used for catalog tables created.+-- | Crawler configuration information. This versioned JSON string allows users to specify aspects of a Crawler's behavior. You can use this field to force partitions to inherit metadata such as classification, input format, output format, serde information, and schema from their parent table, rather than detect this information separately for each partition. Use the following JSON string to specify that behavior: Example: @'{ "Version": 1.0, "CrawlerOutput": { "Partitions": { "AddOrUpdateBehavior": "InheritFromTable" } } }'@+uConfiguration :: Lens' UpdateCrawler (Maybe Text)+uConfiguration = lens _uConfiguration (\ s a -> s{_uConfiguration = a})++-- | The table prefix used for catalog tables that are created. uTablePrefix :: Lens' UpdateCrawler (Maybe Text)-uTablePrefix = lens _uTablePrefix (\ s a -> s{_uTablePrefix = a});+uTablePrefix = lens _uTablePrefix (\ s a -> s{_uTablePrefix = a}) --- | A description of the new @Crawler@ .+-- | A description of the new crawler. uDescription :: Lens' UpdateCrawler (Maybe Text)-uDescription = lens _uDescription (\ s a -> s{_uDescription = a});+uDescription = lens _uDescription (\ s a -> s{_uDescription = a}) --- | Name of the new @Crawler@ .+-- | Name of the new crawler. uName :: Lens' UpdateCrawler Text-uName = lens _uName (\ s a -> s{_uName = a});+uName = lens _uName (\ s a -> s{_uName = a})  instance AWSRequest UpdateCrawler where         type Rs UpdateCrawler = UpdateCrawlerResponse@@ -169,6 +178,7 @@                   ("Classifiers" .=) <$> _uClassifiers,                   ("Role" .=) <$> _uRole, ("Targets" .=) <$> _uTargets,                   ("DatabaseName" .=) <$> _uDatabaseName,+                  ("Configuration" .=) <$> _uConfiguration,                   ("TablePrefix" .=) <$> _uTablePrefix,                   ("Description" .=) <$> _uDescription,                   Just ("Name" .= _uName)])@@ -199,6 +209,6 @@  -- | -- | The response status code. uccrsResponseStatus :: Lens' UpdateCrawlerResponse Int-uccrsResponseStatus = lens _uccrsResponseStatus (\ s a -> s{_uccrsResponseStatus = a});+uccrsResponseStatus = lens _uccrsResponseStatus (\ s a -> s{_uccrsResponseStatus = a})  instance NFData UpdateCrawlerResponse where
gen/Network/AWS/Glue/UpdateCrawlerSchedule.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.Glue.UpdateCrawlerSchedule--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Updates the schedule of a crawler using a Cron expression.+-- Updates the schedule of a crawler using a @cron@ expression. -- -- module Network.AWS.Glue.UpdateCrawlerSchedule@@ -63,16 +63,16 @@     -> UpdateCrawlerSchedule updateCrawlerSchedule pCrawlerName_ =   UpdateCrawlerSchedule'-  {_ucsSchedule = Nothing, _ucsCrawlerName = pCrawlerName_}+    {_ucsSchedule = Nothing, _ucsCrawlerName = pCrawlerName_}   -- | The updated @cron@ expression used to specify the schedule (see <http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html Time-Based Schedules for Jobs and Crawlers> . For example, to run something every day at 12:15 UTC, you would specify: @cron(15 12 * * ? *)@ . ucsSchedule :: Lens' UpdateCrawlerSchedule (Maybe Text)-ucsSchedule = lens _ucsSchedule (\ s a -> s{_ucsSchedule = a});+ucsSchedule = lens _ucsSchedule (\ s a -> s{_ucsSchedule = a})  -- | Name of the crawler whose schedule to update. ucsCrawlerName :: Lens' UpdateCrawlerSchedule Text-ucsCrawlerName = lens _ucsCrawlerName (\ s a -> s{_ucsCrawlerName = a});+ucsCrawlerName = lens _ucsCrawlerName (\ s a -> s{_ucsCrawlerName = a})  instance AWSRequest UpdateCrawlerSchedule where         type Rs UpdateCrawlerSchedule =@@ -130,6 +130,6 @@  -- | -- | The response status code. ucsrsResponseStatus :: Lens' UpdateCrawlerScheduleResponse Int-ucsrsResponseStatus = lens _ucsrsResponseStatus (\ s a -> s{_ucsrsResponseStatus = a});+ucsrsResponseStatus = lens _ucsrsResponseStatus (\ s a -> s{_ucsrsResponseStatus = a})  instance NFData UpdateCrawlerScheduleResponse where
gen/Network/AWS/Glue/UpdateDatabase.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.UpdateDatabase--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -59,7 +59,7 @@ -- -- * 'udCatalogId' - The ID of the Data Catalog in which the metadata database resides. If none is supplied, the AWS account ID is used by default. ----- * 'udName' - The name of the metadata database to update in the catalog.+-- * 'udName' - The name of the database to update in the catalog. For Hive compatibility, this is folded to lowercase. -- -- * 'udDatabaseInput' - A @DatabaseInput@ object specifying the new definition of the metadata database in the catalog. updateDatabase@@ -68,20 +68,23 @@     -> UpdateDatabase updateDatabase pName_ pDatabaseInput_ =   UpdateDatabase'-  {_udCatalogId = Nothing, _udName = pName_, _udDatabaseInput = pDatabaseInput_}+    { _udCatalogId = Nothing+    , _udName = pName_+    , _udDatabaseInput = pDatabaseInput_+    }   -- | The ID of the Data Catalog in which the metadata database resides. If none is supplied, the AWS account ID is used by default. udCatalogId :: Lens' UpdateDatabase (Maybe Text)-udCatalogId = lens _udCatalogId (\ s a -> s{_udCatalogId = a});+udCatalogId = lens _udCatalogId (\ s a -> s{_udCatalogId = a}) --- | The name of the metadata database to update in the catalog.+-- | The name of the database to update in the catalog. For Hive compatibility, this is folded to lowercase. udName :: Lens' UpdateDatabase Text-udName = lens _udName (\ s a -> s{_udName = a});+udName = lens _udName (\ s a -> s{_udName = a})  -- | A @DatabaseInput@ object specifying the new definition of the metadata database in the catalog. udDatabaseInput :: Lens' UpdateDatabase DatabaseInput-udDatabaseInput = lens _udDatabaseInput (\ s a -> s{_udDatabaseInput = a});+udDatabaseInput = lens _udDatabaseInput (\ s a -> s{_udDatabaseInput = a})  instance AWSRequest UpdateDatabase where         type Rs UpdateDatabase = UpdateDatabaseResponse@@ -138,6 +141,6 @@  -- | -- | The response status code. udrsResponseStatus :: Lens' UpdateDatabaseResponse Int-udrsResponseStatus = lens _udrsResponseStatus (\ s a -> s{_udrsResponseStatus = a});+udrsResponseStatus = lens _udrsResponseStatus (\ s a -> s{_udrsResponseStatus = a})  instance NFData UpdateDatabaseResponse where
gen/Network/AWS/Glue/UpdateDevEndpoint.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.UpdateDevEndpoint--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -71,28 +71,28 @@     -> UpdateDevEndpoint updateDevEndpoint pEndpointName_ =   UpdateDevEndpoint'-  { _udeCustomLibraries = Nothing-  , _udePublicKey = Nothing-  , _udeUpdateEtlLibraries = Nothing-  , _udeEndpointName = pEndpointName_-  }+    { _udeCustomLibraries = Nothing+    , _udePublicKey = Nothing+    , _udeUpdateEtlLibraries = Nothing+    , _udeEndpointName = pEndpointName_+    }   -- | Custom Python or Java libraries to be loaded in the DevEndpoint. udeCustomLibraries :: Lens' UpdateDevEndpoint (Maybe DevEndpointCustomLibraries)-udeCustomLibraries = lens _udeCustomLibraries (\ s a -> s{_udeCustomLibraries = a});+udeCustomLibraries = lens _udeCustomLibraries (\ s a -> s{_udeCustomLibraries = a})  -- | The public key for the DevEndpoint to use. udePublicKey :: Lens' UpdateDevEndpoint (Maybe Text)-udePublicKey = lens _udePublicKey (\ s a -> s{_udePublicKey = a});+udePublicKey = lens _udePublicKey (\ s a -> s{_udePublicKey = a})  -- | True if the list of custom libraries to be loaded in the development endpoint needs to be updated, or False otherwise. udeUpdateEtlLibraries :: Lens' UpdateDevEndpoint (Maybe Bool)-udeUpdateEtlLibraries = lens _udeUpdateEtlLibraries (\ s a -> s{_udeUpdateEtlLibraries = a});+udeUpdateEtlLibraries = lens _udeUpdateEtlLibraries (\ s a -> s{_udeUpdateEtlLibraries = a})  -- | The name of the DevEndpoint to be updated. udeEndpointName :: Lens' UpdateDevEndpoint Text-udeEndpointName = lens _udeEndpointName (\ s a -> s{_udeEndpointName = a});+udeEndpointName = lens _udeEndpointName (\ s a -> s{_udeEndpointName = a})  instance AWSRequest UpdateDevEndpoint where         type Rs UpdateDevEndpoint = UpdateDevEndpointResponse@@ -150,6 +150,6 @@  -- | -- | The response status code. udersResponseStatus :: Lens' UpdateDevEndpointResponse Int-udersResponseStatus = lens _udersResponseStatus (\ s a -> s{_udersResponseStatus = a});+udersResponseStatus = lens _udersResponseStatus (\ s a -> s{_udersResponseStatus = a})  instance NFData UpdateDevEndpointResponse where
gen/Network/AWS/Glue/UpdateJob.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.UpdateJob--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -58,7 +58,7 @@ -- -- * 'ujJobName' - Name of the job definition to update. ----- * 'ujJobUpdate' - Specifies the values with which to update the job.+-- * 'ujJobUpdate' - Specifies the values with which to update the job definition. updateJob     :: Text -- ^ 'ujJobName'     -> JobUpdate -- ^ 'ujJobUpdate'@@ -69,11 +69,11 @@  -- | Name of the job definition to update. ujJobName :: Lens' UpdateJob Text-ujJobName = lens _ujJobName (\ s a -> s{_ujJobName = a});+ujJobName = lens _ujJobName (\ s a -> s{_ujJobName = a}) --- | Specifies the values with which to update the job.+-- | Specifies the values with which to update the job definition. ujJobUpdate :: Lens' UpdateJob JobUpdate-ujJobUpdate = lens _ujJobUpdate (\ s a -> s{_ujJobUpdate = a});+ujJobUpdate = lens _ujJobUpdate (\ s a -> s{_ujJobUpdate = a})  instance AWSRequest UpdateJob where         type Rs UpdateJob = UpdateJobResponse@@ -121,7 +121,7 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'ujrsJobName' - Returns the name of the updated job.+-- * 'ujrsJobName' - Returns the name of the updated job definition. -- -- * 'ujrsResponseStatus' - -- | The response status code. updateJobResponse@@ -129,15 +129,15 @@     -> UpdateJobResponse updateJobResponse pResponseStatus_ =   UpdateJobResponse'-  {_ujrsJobName = Nothing, _ujrsResponseStatus = pResponseStatus_}+    {_ujrsJobName = Nothing, _ujrsResponseStatus = pResponseStatus_}  --- | Returns the name of the updated job.+-- | Returns the name of the updated job definition. ujrsJobName :: Lens' UpdateJobResponse (Maybe Text)-ujrsJobName = lens _ujrsJobName (\ s a -> s{_ujrsJobName = a});+ujrsJobName = lens _ujrsJobName (\ s a -> s{_ujrsJobName = a})  -- | -- | The response status code. ujrsResponseStatus :: Lens' UpdateJobResponse Int-ujrsResponseStatus = lens _ujrsResponseStatus (\ s a -> s{_ujrsResponseStatus = a});+ujrsResponseStatus = lens _ujrsResponseStatus (\ s a -> s{_ujrsResponseStatus = a})  instance NFData UpdateJobResponse where
gen/Network/AWS/Glue/UpdatePartition.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.UpdatePartition--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -77,33 +77,33 @@     -> UpdatePartition updatePartition pDatabaseName_ pTableName_ pPartitionInput_ =   UpdatePartition'-  { _upCatalogId = Nothing-  , _upDatabaseName = pDatabaseName_-  , _upTableName = pTableName_-  , _upPartitionValueList = mempty-  , _upPartitionInput = pPartitionInput_-  }+    { _upCatalogId = Nothing+    , _upDatabaseName = pDatabaseName_+    , _upTableName = pTableName_+    , _upPartitionValueList = mempty+    , _upPartitionInput = pPartitionInput_+    }   -- | The ID of the Data Catalog where the partition to be updated resides. If none is supplied, the AWS account ID is used by default. upCatalogId :: Lens' UpdatePartition (Maybe Text)-upCatalogId = lens _upCatalogId (\ s a -> s{_upCatalogId = a});+upCatalogId = lens _upCatalogId (\ s a -> s{_upCatalogId = a})  -- | The name of the catalog database in which the table in question resides. upDatabaseName :: Lens' UpdatePartition Text-upDatabaseName = lens _upDatabaseName (\ s a -> s{_upDatabaseName = a});+upDatabaseName = lens _upDatabaseName (\ s a -> s{_upDatabaseName = a})  -- | The name of the table where the partition to be updated is located. upTableName :: Lens' UpdatePartition Text-upTableName = lens _upTableName (\ s a -> s{_upTableName = a});+upTableName = lens _upTableName (\ s a -> s{_upTableName = a})  -- | A list of the values defining the partition. upPartitionValueList :: Lens' UpdatePartition [Text]-upPartitionValueList = lens _upPartitionValueList (\ s a -> s{_upPartitionValueList = a}) . _Coerce;+upPartitionValueList = lens _upPartitionValueList (\ s a -> s{_upPartitionValueList = a}) . _Coerce  -- | The new partition object to which to update the partition. upPartitionInput :: Lens' UpdatePartition PartitionInput-upPartitionInput = lens _upPartitionInput (\ s a -> s{_upPartitionInput = a});+upPartitionInput = lens _upPartitionInput (\ s a -> s{_upPartitionInput = a})  instance AWSRequest UpdatePartition where         type Rs UpdatePartition = UpdatePartitionResponse@@ -162,6 +162,6 @@  -- | -- | The response status code. uprsResponseStatus :: Lens' UpdatePartitionResponse Int-uprsResponseStatus = lens _uprsResponseStatus (\ s a -> s{_uprsResponseStatus = a});+uprsResponseStatus = lens _uprsResponseStatus (\ s a -> s{_uprsResponseStatus = a})  instance NFData UpdatePartitionResponse where
gen/Network/AWS/Glue/UpdateTable.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.UpdateTable--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -27,6 +27,7 @@       updateTable     , UpdateTable     -- * Request Lenses+    , utSkipArchive     , utCatalogId     , utDatabaseName     , utTableInput@@ -47,7 +48,8 @@  -- | /See:/ 'updateTable' smart constructor. data UpdateTable = UpdateTable'-  { _utCatalogId    :: !(Maybe Text)+  { _utSkipArchive  :: !(Maybe Bool)+  , _utCatalogId    :: !(Maybe Text)   , _utDatabaseName :: !Text   , _utTableInput   :: !TableInput   } deriving (Eq, Read, Show, Data, Typeable, Generic)@@ -57,9 +59,11 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'utSkipArchive' - By default, @UpdateTable@ always creates an archived version of the table before updating it. If @skipArchive@ is set to true, however, @UpdateTable@ does not create the archived version.+-- -- * 'utCatalogId' - The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default. ----- * 'utDatabaseName' - The name of the catalog database in which the table resides.+-- * 'utDatabaseName' - The name of the catalog database in which the table resides. For Hive compatibility, this name is entirely lowercase. -- -- * 'utTableInput' - An updated @TableInput@ object to define the metadata table in the catalog. updateTable@@ -68,23 +72,28 @@     -> UpdateTable updateTable pDatabaseName_ pTableInput_ =   UpdateTable'-  { _utCatalogId = Nothing-  , _utDatabaseName = pDatabaseName_-  , _utTableInput = pTableInput_-  }+    { _utSkipArchive = Nothing+    , _utCatalogId = Nothing+    , _utDatabaseName = pDatabaseName_+    , _utTableInput = pTableInput_+    }  +-- | By default, @UpdateTable@ always creates an archived version of the table before updating it. If @skipArchive@ is set to true, however, @UpdateTable@ does not create the archived version.+utSkipArchive :: Lens' UpdateTable (Maybe Bool)+utSkipArchive = lens _utSkipArchive (\ s a -> s{_utSkipArchive = a})+ -- | The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default. utCatalogId :: Lens' UpdateTable (Maybe Text)-utCatalogId = lens _utCatalogId (\ s a -> s{_utCatalogId = a});+utCatalogId = lens _utCatalogId (\ s a -> s{_utCatalogId = a}) --- | The name of the catalog database in which the table resides.+-- | The name of the catalog database in which the table resides. For Hive compatibility, this name is entirely lowercase. utDatabaseName :: Lens' UpdateTable Text-utDatabaseName = lens _utDatabaseName (\ s a -> s{_utDatabaseName = a});+utDatabaseName = lens _utDatabaseName (\ s a -> s{_utDatabaseName = a})  -- | An updated @TableInput@ object to define the metadata table in the catalog. utTableInput :: Lens' UpdateTable TableInput-utTableInput = lens _utTableInput (\ s a -> s{_utTableInput = a});+utTableInput = lens _utTableInput (\ s a -> s{_utTableInput = a})  instance AWSRequest UpdateTable where         type Rs UpdateTable = UpdateTableResponse@@ -111,7 +120,8 @@         toJSON UpdateTable'{..}           = object               (catMaybes-                 [("CatalogId" .=) <$> _utCatalogId,+                 [("SkipArchive" .=) <$> _utSkipArchive,+                  ("CatalogId" .=) <$> _utCatalogId,                   Just ("DatabaseName" .= _utDatabaseName),                   Just ("TableInput" .= _utTableInput)]) @@ -141,6 +151,6 @@  -- | -- | The response status code. utrsResponseStatus :: Lens' UpdateTableResponse Int-utrsResponseStatus = lens _utrsResponseStatus (\ s a -> s{_utrsResponseStatus = a});+utrsResponseStatus = lens _utrsResponseStatus (\ s a -> s{_utrsResponseStatus = a})  instance NFData UpdateTableResponse where
gen/Network/AWS/Glue/UpdateTrigger.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.UpdateTrigger--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -69,11 +69,11 @@  -- | The name of the trigger to update. utName :: Lens' UpdateTrigger Text-utName = lens _utName (\ s a -> s{_utName = a});+utName = lens _utName (\ s a -> s{_utName = a})  -- | The new values with which to update the trigger. utTriggerUpdate :: Lens' UpdateTrigger TriggerUpdate-utTriggerUpdate = lens _utTriggerUpdate (\ s a -> s{_utTriggerUpdate = a});+utTriggerUpdate = lens _utTriggerUpdate (\ s a -> s{_utTriggerUpdate = a})  instance AWSRequest UpdateTrigger where         type Rs UpdateTrigger = UpdateTriggerResponse@@ -129,15 +129,15 @@     -> UpdateTriggerResponse updateTriggerResponse pResponseStatus_ =   UpdateTriggerResponse'-  {_updrsTrigger = Nothing, _updrsResponseStatus = pResponseStatus_}+    {_updrsTrigger = Nothing, _updrsResponseStatus = pResponseStatus_}   -- | The resulting trigger definition. updrsTrigger :: Lens' UpdateTriggerResponse (Maybe Trigger)-updrsTrigger = lens _updrsTrigger (\ s a -> s{_updrsTrigger = a});+updrsTrigger = lens _updrsTrigger (\ s a -> s{_updrsTrigger = a})  -- | -- | The response status code. updrsResponseStatus :: Lens' UpdateTriggerResponse Int-updrsResponseStatus = lens _updrsResponseStatus (\ s a -> s{_updrsResponseStatus = a});+updrsResponseStatus = lens _updrsResponseStatus (\ s a -> s{_updrsResponseStatus = a})  instance NFData UpdateTriggerResponse where
gen/Network/AWS/Glue/UpdateUserDefinedFunction.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.Glue.UpdateUserDefinedFunction--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -73,28 +73,28 @@     -> UpdateUserDefinedFunction updateUserDefinedFunction pDatabaseName_ pFunctionName_ pFunctionInput_ =   UpdateUserDefinedFunction'-  { _uudfCatalogId = Nothing-  , _uudfDatabaseName = pDatabaseName_-  , _uudfFunctionName = pFunctionName_-  , _uudfFunctionInput = pFunctionInput_-  }+    { _uudfCatalogId = Nothing+    , _uudfDatabaseName = pDatabaseName_+    , _uudfFunctionName = pFunctionName_+    , _uudfFunctionInput = pFunctionInput_+    }   -- | The ID of the Data Catalog where the function to be updated is located. If none is supplied, the AWS account ID is used by default. uudfCatalogId :: Lens' UpdateUserDefinedFunction (Maybe Text)-uudfCatalogId = lens _uudfCatalogId (\ s a -> s{_uudfCatalogId = a});+uudfCatalogId = lens _uudfCatalogId (\ s a -> s{_uudfCatalogId = a})  -- | The name of the catalog database where the function to be updated is located. uudfDatabaseName :: Lens' UpdateUserDefinedFunction Text-uudfDatabaseName = lens _uudfDatabaseName (\ s a -> s{_uudfDatabaseName = a});+uudfDatabaseName = lens _uudfDatabaseName (\ s a -> s{_uudfDatabaseName = a})  -- | The name of the function. uudfFunctionName :: Lens' UpdateUserDefinedFunction Text-uudfFunctionName = lens _uudfFunctionName (\ s a -> s{_uudfFunctionName = a});+uudfFunctionName = lens _uudfFunctionName (\ s a -> s{_uudfFunctionName = a})  -- | A @FunctionInput@ object that re-defines the function in the Data Catalog. uudfFunctionInput :: Lens' UpdateUserDefinedFunction UserDefinedFunctionInput-uudfFunctionInput = lens _uudfFunctionInput (\ s a -> s{_uudfFunctionInput = a});+uudfFunctionInput = lens _uudfFunctionInput (\ s a -> s{_uudfFunctionInput = a})  instance AWSRequest UpdateUserDefinedFunction where         type Rs UpdateUserDefinedFunction =@@ -154,7 +154,7 @@  -- | -- | The response status code. uudfrsResponseStatus :: Lens' UpdateUserDefinedFunctionResponse Int-uudfrsResponseStatus = lens _uudfrsResponseStatus (\ s a -> s{_uudfrsResponseStatus = a});+uudfrsResponseStatus = lens _uudfrsResponseStatus (\ s a -> s{_uudfrsResponseStatus = a})  instance NFData UpdateUserDefinedFunctionResponse          where
gen/Network/AWS/Glue/Waiters.hs view
@@ -7,7 +7,7 @@  -- | -- Module      : Network.AWS.Glue.Waiters--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated
test/Main.hs view
@@ -2,7 +2,7 @@  -- | -- Module      : Main--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated
test/Test/AWS/Gen/Glue.hs view
@@ -5,7 +5,7 @@  -- | -- Module      : Test.AWS.Gen.Glue--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -61,6 +61,9 @@ --         , requestGetMapping $ --             getMapping --+--         , requestGetTableVersion $+--             getTableVersion+-- --         , requestGetJobs $ --             getJobs --@@ -70,6 +73,9 @@ --         , requestCreateConnection $ --             createConnection --+--         , requestDeleteTableVersion $+--             deleteTableVersion+-- --         , requestDeleteDevEndpoint $ --             deleteDevEndpoint --@@ -139,6 +145,9 @@ --         , requestGetJob $ --             getJob --+--         , requestBatchDeleteTableVersion $+--             batchDeleteTableVersion+-- --         , requestGetDevEndpoints $ --             getDevEndpoints --@@ -289,6 +298,9 @@ --         , responseGetMapping $ --             getMappingResponse --+--         , responseGetTableVersion $+--             getTableVersionResponse+-- --         , responseGetJobs $ --             getJobsResponse --@@ -298,6 +310,9 @@ --         , responseCreateConnection $ --             createConnectionResponse --+--         , responseDeleteTableVersion $+--             deleteTableVersionResponse+-- --         , responseDeleteDevEndpoint $ --             deleteDevEndpointResponse --@@ -367,6 +382,9 @@ --         , responseGetJob $ --             getJobResponse --+--         , responseBatchDeleteTableVersion $+--             batchDeleteTableVersionResponse+-- --         , responseGetDevEndpoints $ --             getDevEndpointsResponse --@@ -541,6 +559,11 @@     "GetMapping"     "fixture/GetMapping.yaml" +requestGetTableVersion :: GetTableVersion -> TestTree+requestGetTableVersion = req+    "GetTableVersion"+    "fixture/GetTableVersion.yaml"+ requestGetJobs :: GetJobs -> TestTree requestGetJobs = req     "GetJobs"@@ -556,6 +579,11 @@     "CreateConnection"     "fixture/CreateConnection.yaml" +requestDeleteTableVersion :: DeleteTableVersion -> TestTree+requestDeleteTableVersion = req+    "DeleteTableVersion"+    "fixture/DeleteTableVersion.yaml"+ requestDeleteDevEndpoint :: DeleteDevEndpoint -> TestTree requestDeleteDevEndpoint = req     "DeleteDevEndpoint"@@ -671,6 +699,11 @@     "GetJob"     "fixture/GetJob.yaml" +requestBatchDeleteTableVersion :: BatchDeleteTableVersion -> TestTree+requestBatchDeleteTableVersion = req+    "BatchDeleteTableVersion"+    "fixture/BatchDeleteTableVersion.yaml"+ requestGetDevEndpoints :: GetDevEndpoints -> TestTree requestGetDevEndpoints = req     "GetDevEndpoints"@@ -940,6 +973,13 @@     glue     (Proxy :: Proxy GetMapping) +responseGetTableVersion :: GetTableVersionResponse -> TestTree+responseGetTableVersion = res+    "GetTableVersionResponse"+    "fixture/GetTableVersionResponse.proto"+    glue+    (Proxy :: Proxy GetTableVersion)+ responseGetJobs :: GetJobsResponse -> TestTree responseGetJobs = res     "GetJobsResponse"@@ -961,6 +1001,13 @@     glue     (Proxy :: Proxy CreateConnection) +responseDeleteTableVersion :: DeleteTableVersionResponse -> TestTree+responseDeleteTableVersion = res+    "DeleteTableVersionResponse"+    "fixture/DeleteTableVersionResponse.proto"+    glue+    (Proxy :: Proxy DeleteTableVersion)+ responseDeleteDevEndpoint :: DeleteDevEndpointResponse -> TestTree responseDeleteDevEndpoint = res     "DeleteDevEndpointResponse"@@ -1121,6 +1168,13 @@     "fixture/GetJobResponse.proto"     glue     (Proxy :: Proxy GetJob)++responseBatchDeleteTableVersion :: BatchDeleteTableVersionResponse -> TestTree+responseBatchDeleteTableVersion = res+    "BatchDeleteTableVersionResponse"+    "fixture/BatchDeleteTableVersionResponse.proto"+    glue+    (Proxy :: Proxy BatchDeleteTableVersion)  responseGetDevEndpoints :: GetDevEndpointsResponse -> TestTree responseGetDevEndpoints = res
test/Test/AWS/Glue.hs view
@@ -1,6 +1,6 @@ -- | -- Module      : Test.AWS.Glue--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated
test/Test/AWS/Glue/Internal.hs view
@@ -1,6 +1,6 @@ -- | -- Module      : Test.AWS.Glue.Internal--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : auto-generated