{-# LANGUAGE DataKinds #-} {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TypeOperators #-} {-# OPTIONS_GHC -fno-warn-duplicate-exports #-} {-# OPTIONS_GHC -fno-warn-unused-binds #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} -- | -- Module : Network.Google.Resource.Dataflow.Projects.Locations.SQL.Validate -- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Validates a GoogleSQL query for Cloud Dataflow syntax. Will always -- confirm the given query parses correctly, and if able to look up schema -- information from DataCatalog, will validate that the query analyzes -- properly as well. -- -- /See:/ for @dataflow.projects.locations.sql.validate@. module Network.Google.Resource.Dataflow.Projects.Locations.SQL.Validate ( -- * REST Resource ProjectsLocationsSQLValidateResource -- * Creating a Request , projectsLocationsSQLValidate , ProjectsLocationsSQLValidate -- * Request Lenses , plsqlvXgafv , plsqlvUploadProtocol , plsqlvLocation , plsqlvAccessToken , plsqlvUploadType , plsqlvQuery , plsqlvProjectId , plsqlvCallback ) where import Network.Google.Dataflow.Types import Network.Google.Prelude -- | A resource alias for @dataflow.projects.locations.sql.validate@ method which the -- 'ProjectsLocationsSQLValidate' request conforms to. type ProjectsLocationsSQLValidateResource = "v1b3" :> "projects" :> Capture "projectId" Text :> "locations" :> Capture "location" Text :> "sql:validate" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "query" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> Get '[JSON] ValidateResponse -- | Validates a GoogleSQL query for Cloud Dataflow syntax. Will always -- confirm the given query parses correctly, and if able to look up schema -- information from DataCatalog, will validate that the query analyzes -- properly as well. -- -- /See:/ 'projectsLocationsSQLValidate' smart constructor. data ProjectsLocationsSQLValidate = ProjectsLocationsSQLValidate' { _plsqlvXgafv :: !(Maybe Xgafv) , _plsqlvUploadProtocol :: !(Maybe Text) , _plsqlvLocation :: !Text , _plsqlvAccessToken :: !(Maybe Text) , _plsqlvUploadType :: !(Maybe Text) , _plsqlvQuery :: !(Maybe Text) , _plsqlvProjectId :: !Text , _plsqlvCallback :: !(Maybe Text) } deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'ProjectsLocationsSQLValidate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'plsqlvXgafv' -- -- * 'plsqlvUploadProtocol' -- -- * 'plsqlvLocation' -- -- * 'plsqlvAccessToken' -- -- * 'plsqlvUploadType' -- -- * 'plsqlvQuery' -- -- * 'plsqlvProjectId' -- -- * 'plsqlvCallback' projectsLocationsSQLValidate :: Text -- ^ 'plsqlvLocation' -> Text -- ^ 'plsqlvProjectId' -> ProjectsLocationsSQLValidate projectsLocationsSQLValidate pPlsqlvLocation_ pPlsqlvProjectId_ = ProjectsLocationsSQLValidate' { _plsqlvXgafv = Nothing , _plsqlvUploadProtocol = Nothing , _plsqlvLocation = pPlsqlvLocation_ , _plsqlvAccessToken = Nothing , _plsqlvUploadType = Nothing , _plsqlvQuery = Nothing , _plsqlvProjectId = pPlsqlvProjectId_ , _plsqlvCallback = Nothing } -- | V1 error format. plsqlvXgafv :: Lens' ProjectsLocationsSQLValidate (Maybe Xgafv) plsqlvXgafv = lens _plsqlvXgafv (\ s a -> s{_plsqlvXgafv = a}) -- | Upload protocol for media (e.g. \"raw\", \"multipart\"). plsqlvUploadProtocol :: Lens' ProjectsLocationsSQLValidate (Maybe Text) plsqlvUploadProtocol = lens _plsqlvUploadProtocol (\ s a -> s{_plsqlvUploadProtocol = a}) -- | The [regional endpoint] -- (https:\/\/cloud.google.com\/dataflow\/docs\/concepts\/regional-endpoints) -- to which to direct the request. plsqlvLocation :: Lens' ProjectsLocationsSQLValidate Text plsqlvLocation = lens _plsqlvLocation (\ s a -> s{_plsqlvLocation = a}) -- | OAuth access token. plsqlvAccessToken :: Lens' ProjectsLocationsSQLValidate (Maybe Text) plsqlvAccessToken = lens _plsqlvAccessToken (\ s a -> s{_plsqlvAccessToken = a}) -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\"). plsqlvUploadType :: Lens' ProjectsLocationsSQLValidate (Maybe Text) plsqlvUploadType = lens _plsqlvUploadType (\ s a -> s{_plsqlvUploadType = a}) -- | The sql query to validate. plsqlvQuery :: Lens' ProjectsLocationsSQLValidate (Maybe Text) plsqlvQuery = lens _plsqlvQuery (\ s a -> s{_plsqlvQuery = a}) -- | Required. The ID of the Cloud Platform project that the job belongs to. plsqlvProjectId :: Lens' ProjectsLocationsSQLValidate Text plsqlvProjectId = lens _plsqlvProjectId (\ s a -> s{_plsqlvProjectId = a}) -- | JSONP plsqlvCallback :: Lens' ProjectsLocationsSQLValidate (Maybe Text) plsqlvCallback = lens _plsqlvCallback (\ s a -> s{_plsqlvCallback = a}) instance GoogleRequest ProjectsLocationsSQLValidate where type Rs ProjectsLocationsSQLValidate = ValidateResponse type Scopes ProjectsLocationsSQLValidate = '["https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/userinfo.email"] requestClient ProjectsLocationsSQLValidate'{..} = go _plsqlvProjectId _plsqlvLocation _plsqlvXgafv _plsqlvUploadProtocol _plsqlvAccessToken _plsqlvUploadType _plsqlvQuery _plsqlvCallback (Just AltJSON) dataflowService where go = buildClient (Proxy :: Proxy ProjectsLocationsSQLValidateResource) mempty