{-# 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.DataFusion.Projects.Locations.Instances.Upgrade -- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Upgrade a single Data Fusion instance. At the end of an operation -- instance is fully upgraded. -- -- /See:/ for @datafusion.projects.locations.instances.upgrade@. module Network.Google.Resource.DataFusion.Projects.Locations.Instances.Upgrade ( -- * REST Resource ProjectsLocationsInstancesUpgradeResource -- * Creating a Request , projectsLocationsInstancesUpgrade , ProjectsLocationsInstancesUpgrade -- * Request Lenses , pliuXgafv , pliuUploadProtocol , pliuAccessToken , pliuUploadType , pliuPayload , pliuName , pliuCallback ) where import Network.Google.DataFusion.Types import Network.Google.Prelude -- | A resource alias for @datafusion.projects.locations.instances.upgrade@ method which the -- 'ProjectsLocationsInstancesUpgrade' request conforms to. type ProjectsLocationsInstancesUpgradeResource = "v1beta1" :> CaptureMode "name" "upgrade" Text :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] UpgradeInstanceRequest :> Post '[JSON] Operation -- | Upgrade a single Data Fusion instance. At the end of an operation -- instance is fully upgraded. -- -- /See:/ 'projectsLocationsInstancesUpgrade' smart constructor. data ProjectsLocationsInstancesUpgrade = ProjectsLocationsInstancesUpgrade' { _pliuXgafv :: !(Maybe Xgafv) , _pliuUploadProtocol :: !(Maybe Text) , _pliuAccessToken :: !(Maybe Text) , _pliuUploadType :: !(Maybe Text) , _pliuPayload :: !UpgradeInstanceRequest , _pliuName :: !Text , _pliuCallback :: !(Maybe Text) } deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'ProjectsLocationsInstancesUpgrade' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'pliuXgafv' -- -- * 'pliuUploadProtocol' -- -- * 'pliuAccessToken' -- -- * 'pliuUploadType' -- -- * 'pliuPayload' -- -- * 'pliuName' -- -- * 'pliuCallback' projectsLocationsInstancesUpgrade :: UpgradeInstanceRequest -- ^ 'pliuPayload' -> Text -- ^ 'pliuName' -> ProjectsLocationsInstancesUpgrade projectsLocationsInstancesUpgrade pPliuPayload_ pPliuName_ = ProjectsLocationsInstancesUpgrade' { _pliuXgafv = Nothing , _pliuUploadProtocol = Nothing , _pliuAccessToken = Nothing , _pliuUploadType = Nothing , _pliuPayload = pPliuPayload_ , _pliuName = pPliuName_ , _pliuCallback = Nothing } -- | V1 error format. pliuXgafv :: Lens' ProjectsLocationsInstancesUpgrade (Maybe Xgafv) pliuXgafv = lens _pliuXgafv (\ s a -> s{_pliuXgafv = a}) -- | Upload protocol for media (e.g. \"raw\", \"multipart\"). pliuUploadProtocol :: Lens' ProjectsLocationsInstancesUpgrade (Maybe Text) pliuUploadProtocol = lens _pliuUploadProtocol (\ s a -> s{_pliuUploadProtocol = a}) -- | OAuth access token. pliuAccessToken :: Lens' ProjectsLocationsInstancesUpgrade (Maybe Text) pliuAccessToken = lens _pliuAccessToken (\ s a -> s{_pliuAccessToken = a}) -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\"). pliuUploadType :: Lens' ProjectsLocationsInstancesUpgrade (Maybe Text) pliuUploadType = lens _pliuUploadType (\ s a -> s{_pliuUploadType = a}) -- | Multipart request metadata. pliuPayload :: Lens' ProjectsLocationsInstancesUpgrade UpgradeInstanceRequest pliuPayload = lens _pliuPayload (\ s a -> s{_pliuPayload = a}) -- | Name of the Data Fusion instance which need to be upgraded in the form -- of projects\/{project}\/locations\/{location}\/instances\/{instance} -- Instance will be upgraded with the latest stable version of the Data -- Fusion. pliuName :: Lens' ProjectsLocationsInstancesUpgrade Text pliuName = lens _pliuName (\ s a -> s{_pliuName = a}) -- | JSONP pliuCallback :: Lens' ProjectsLocationsInstancesUpgrade (Maybe Text) pliuCallback = lens _pliuCallback (\ s a -> s{_pliuCallback = a}) instance GoogleRequest ProjectsLocationsInstancesUpgrade where type Rs ProjectsLocationsInstancesUpgrade = Operation type Scopes ProjectsLocationsInstancesUpgrade = '["https://www.googleapis.com/auth/cloud-platform"] requestClient ProjectsLocationsInstancesUpgrade'{..} = go _pliuName _pliuXgafv _pliuUploadProtocol _pliuAccessToken _pliuUploadType _pliuCallback (Just AltJSON) _pliuPayload dataFusionService where go = buildClient (Proxy :: Proxy ProjectsLocationsInstancesUpgradeResource) mempty