{-# 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.BigtableAdmin.Projects.Instances.AppProFiles.Delete
    (
    
      ProjectsInstancesAppProFilesDeleteResource
    
    , projectsInstancesAppProFilesDelete
    , ProjectsInstancesAppProFilesDelete
    
    , piapfdXgafv
    , piapfdUploadProtocol
    , piapfdAccessToken
    , piapfdUploadType
    , piapfdIgnoreWarnings
    , piapfdName
    , piapfdCallback
    ) where
import           Network.Google.BigtableAdmin.Types
import           Network.Google.Prelude
type ProjectsInstancesAppProFilesDeleteResource =
     "v2" :>
       Capture "name" Text :>
         QueryParam "$.xgafv" Xgafv :>
           QueryParam "upload_protocol" Text :>
             QueryParam "access_token" Text :>
               QueryParam "uploadType" Text :>
                 QueryParam "ignoreWarnings" Bool :>
                   QueryParam "callback" Text :>
                     QueryParam "alt" AltJSON :> Delete '[JSON] Empty
data ProjectsInstancesAppProFilesDelete = ProjectsInstancesAppProFilesDelete'
    { _piapfdXgafv          :: !(Maybe Xgafv)
    , _piapfdUploadProtocol :: !(Maybe Text)
    , _piapfdAccessToken    :: !(Maybe Text)
    , _piapfdUploadType     :: !(Maybe Text)
    , _piapfdIgnoreWarnings :: !(Maybe Bool)
    , _piapfdName           :: !Text
    , _piapfdCallback       :: !(Maybe Text)
    } deriving (Eq,Show,Data,Typeable,Generic)
projectsInstancesAppProFilesDelete
    :: Text 
    -> ProjectsInstancesAppProFilesDelete
projectsInstancesAppProFilesDelete pPiapfdName_ =
    ProjectsInstancesAppProFilesDelete'
    { _piapfdXgafv = Nothing
    , _piapfdUploadProtocol = Nothing
    , _piapfdAccessToken = Nothing
    , _piapfdUploadType = Nothing
    , _piapfdIgnoreWarnings = Nothing
    , _piapfdName = pPiapfdName_
    , _piapfdCallback = Nothing
    }
piapfdXgafv :: Lens' ProjectsInstancesAppProFilesDelete (Maybe Xgafv)
piapfdXgafv
  = lens _piapfdXgafv (\ s a -> s{_piapfdXgafv = a})
piapfdUploadProtocol :: Lens' ProjectsInstancesAppProFilesDelete (Maybe Text)
piapfdUploadProtocol
  = lens _piapfdUploadProtocol
      (\ s a -> s{_piapfdUploadProtocol = a})
piapfdAccessToken :: Lens' ProjectsInstancesAppProFilesDelete (Maybe Text)
piapfdAccessToken
  = lens _piapfdAccessToken
      (\ s a -> s{_piapfdAccessToken = a})
piapfdUploadType :: Lens' ProjectsInstancesAppProFilesDelete (Maybe Text)
piapfdUploadType
  = lens _piapfdUploadType
      (\ s a -> s{_piapfdUploadType = a})
piapfdIgnoreWarnings :: Lens' ProjectsInstancesAppProFilesDelete (Maybe Bool)
piapfdIgnoreWarnings
  = lens _piapfdIgnoreWarnings
      (\ s a -> s{_piapfdIgnoreWarnings = a})
piapfdName :: Lens' ProjectsInstancesAppProFilesDelete Text
piapfdName
  = lens _piapfdName (\ s a -> s{_piapfdName = a})
piapfdCallback :: Lens' ProjectsInstancesAppProFilesDelete (Maybe Text)
piapfdCallback
  = lens _piapfdCallback
      (\ s a -> s{_piapfdCallback = a})
instance GoogleRequest
         ProjectsInstancesAppProFilesDelete where
        type Rs ProjectsInstancesAppProFilesDelete = Empty
        type Scopes ProjectsInstancesAppProFilesDelete =
             '["https://www.googleapis.com/auth/bigtable.admin",
               "https://www.googleapis.com/auth/bigtable.admin.cluster",
               "https://www.googleapis.com/auth/bigtable.admin.instance",
               "https://www.googleapis.com/auth/cloud-bigtable.admin",
               "https://www.googleapis.com/auth/cloud-bigtable.admin.cluster",
               "https://www.googleapis.com/auth/cloud-platform"]
        requestClient ProjectsInstancesAppProFilesDelete'{..}
          = go _piapfdName _piapfdXgafv _piapfdUploadProtocol
              _piapfdAccessToken
              _piapfdUploadType
              _piapfdIgnoreWarnings
              _piapfdCallback
              (Just AltJSON)
              bigtableAdminService
          where go
                  = buildClient
                      (Proxy ::
                         Proxy ProjectsInstancesAppProFilesDeleteResource)
                      mempty