module Network.Google.Resource.Logging.Projects.Metrics.Create
(
ProjectsMetricsCreateResource
, projectsMetricsCreate
, ProjectsMetricsCreate
, pmcXgafv
, pmcUploadProtocol
, pmcPp
, pmcAccessToken
, pmcUploadType
, pmcPayload
, pmcBearerToken
, pmcProjectName
, pmcCallback
) where
import Network.Google.Logging.Types
import Network.Google.Prelude
type ProjectsMetricsCreateResource =
"v2beta1" :>
Capture "projectName" Text :>
"metrics" :>
QueryParam "$.xgafv" Text :>
QueryParam "upload_protocol" Text :>
QueryParam "pp" Bool :>
QueryParam "access_token" Text :>
QueryParam "uploadType" Text :>
QueryParam "bearer_token" Text :>
QueryParam "callback" Text :>
QueryParam "alt" AltJSON :>
ReqBody '[JSON] LogMetric :> Post '[JSON] LogMetric
data ProjectsMetricsCreate = ProjectsMetricsCreate'
{ _pmcXgafv :: !(Maybe Text)
, _pmcUploadProtocol :: !(Maybe Text)
, _pmcPp :: !Bool
, _pmcAccessToken :: !(Maybe Text)
, _pmcUploadType :: !(Maybe Text)
, _pmcPayload :: !LogMetric
, _pmcBearerToken :: !(Maybe Text)
, _pmcProjectName :: !Text
, _pmcCallback :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
projectsMetricsCreate
:: LogMetric
-> Text
-> ProjectsMetricsCreate
projectsMetricsCreate pPmcPayload_ pPmcProjectName_ =
ProjectsMetricsCreate'
{ _pmcXgafv = Nothing
, _pmcUploadProtocol = Nothing
, _pmcPp = True
, _pmcAccessToken = Nothing
, _pmcUploadType = Nothing
, _pmcPayload = pPmcPayload_
, _pmcBearerToken = Nothing
, _pmcProjectName = pPmcProjectName_
, _pmcCallback = Nothing
}
pmcXgafv :: Lens' ProjectsMetricsCreate (Maybe Text)
pmcXgafv = lens _pmcXgafv (\ s a -> s{_pmcXgafv = a})
pmcUploadProtocol :: Lens' ProjectsMetricsCreate (Maybe Text)
pmcUploadProtocol
= lens _pmcUploadProtocol
(\ s a -> s{_pmcUploadProtocol = a})
pmcPp :: Lens' ProjectsMetricsCreate Bool
pmcPp = lens _pmcPp (\ s a -> s{_pmcPp = a})
pmcAccessToken :: Lens' ProjectsMetricsCreate (Maybe Text)
pmcAccessToken
= lens _pmcAccessToken
(\ s a -> s{_pmcAccessToken = a})
pmcUploadType :: Lens' ProjectsMetricsCreate (Maybe Text)
pmcUploadType
= lens _pmcUploadType
(\ s a -> s{_pmcUploadType = a})
pmcPayload :: Lens' ProjectsMetricsCreate LogMetric
pmcPayload
= lens _pmcPayload (\ s a -> s{_pmcPayload = a})
pmcBearerToken :: Lens' ProjectsMetricsCreate (Maybe Text)
pmcBearerToken
= lens _pmcBearerToken
(\ s a -> s{_pmcBearerToken = a})
pmcProjectName :: Lens' ProjectsMetricsCreate Text
pmcProjectName
= lens _pmcProjectName
(\ s a -> s{_pmcProjectName = a})
pmcCallback :: Lens' ProjectsMetricsCreate (Maybe Text)
pmcCallback
= lens _pmcCallback (\ s a -> s{_pmcCallback = a})
instance GoogleRequest ProjectsMetricsCreate where
type Rs ProjectsMetricsCreate = LogMetric
type Scopes ProjectsMetricsCreate =
'["https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/logging.admin",
"https://www.googleapis.com/auth/logging.write"]
requestClient ProjectsMetricsCreate'{..}
= go _pmcProjectName _pmcXgafv _pmcUploadProtocol
(Just _pmcPp)
_pmcAccessToken
_pmcUploadType
_pmcBearerToken
_pmcCallback
(Just AltJSON)
_pmcPayload
loggingService
where go
= buildClient
(Proxy :: Proxy ProjectsMetricsCreateResource)
mempty