{-# 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.CloudPrivateCatalogProducer.Catalogs.Products.Create
(
CatalogsProductsCreateResource
, catalogsProductsCreate
, CatalogsProductsCreate
, cpcParent
, cpcXgafv
, cpcUploadProtocol
, cpcAccessToken
, cpcUploadType
, cpcPayload
, cpcCallback
) where
import Network.Google.CloudPrivateCatalogProducer.Types
import Network.Google.Prelude
type CatalogsProductsCreateResource =
"v1beta1" :>
Capture "parent" Text :>
"products" :>
QueryParam "$.xgafv" Xgafv :>
QueryParam "upload_protocol" Text :>
QueryParam "access_token" Text :>
QueryParam "uploadType" Text :>
QueryParam "callback" Text :>
QueryParam "alt" AltJSON :>
ReqBody '[JSON]
GoogleCloudPrivatecatalogproducerV1beta1Product
:>
Post '[JSON]
GoogleCloudPrivatecatalogproducerV1beta1Product
data CatalogsProductsCreate =
CatalogsProductsCreate'
{ _cpcParent :: !Text
, _cpcXgafv :: !(Maybe Xgafv)
, _cpcUploadProtocol :: !(Maybe Text)
, _cpcAccessToken :: !(Maybe Text)
, _cpcUploadType :: !(Maybe Text)
, _cpcPayload :: !GoogleCloudPrivatecatalogproducerV1beta1Product
, _cpcCallback :: !(Maybe Text)
}
deriving (Eq, Show, Data, Typeable, Generic)
catalogsProductsCreate
:: Text
-> GoogleCloudPrivatecatalogproducerV1beta1Product
-> CatalogsProductsCreate
catalogsProductsCreate pCpcParent_ pCpcPayload_ =
CatalogsProductsCreate'
{ _cpcParent = pCpcParent_
, _cpcXgafv = Nothing
, _cpcUploadProtocol = Nothing
, _cpcAccessToken = Nothing
, _cpcUploadType = Nothing
, _cpcPayload = pCpcPayload_
, _cpcCallback = Nothing
}
cpcParent :: Lens' CatalogsProductsCreate Text
cpcParent
= lens _cpcParent (\ s a -> s{_cpcParent = a})
cpcXgafv :: Lens' CatalogsProductsCreate (Maybe Xgafv)
cpcXgafv = lens _cpcXgafv (\ s a -> s{_cpcXgafv = a})
cpcUploadProtocol :: Lens' CatalogsProductsCreate (Maybe Text)
cpcUploadProtocol
= lens _cpcUploadProtocol
(\ s a -> s{_cpcUploadProtocol = a})
cpcAccessToken :: Lens' CatalogsProductsCreate (Maybe Text)
cpcAccessToken
= lens _cpcAccessToken
(\ s a -> s{_cpcAccessToken = a})
cpcUploadType :: Lens' CatalogsProductsCreate (Maybe Text)
cpcUploadType
= lens _cpcUploadType
(\ s a -> s{_cpcUploadType = a})
cpcPayload :: Lens' CatalogsProductsCreate GoogleCloudPrivatecatalogproducerV1beta1Product
cpcPayload
= lens _cpcPayload (\ s a -> s{_cpcPayload = a})
cpcCallback :: Lens' CatalogsProductsCreate (Maybe Text)
cpcCallback
= lens _cpcCallback (\ s a -> s{_cpcCallback = a})
instance GoogleRequest CatalogsProductsCreate where
type Rs CatalogsProductsCreate =
GoogleCloudPrivatecatalogproducerV1beta1Product
type Scopes CatalogsProductsCreate =
'["https://www.googleapis.com/auth/cloud-platform"]
requestClient CatalogsProductsCreate'{..}
= go _cpcParent _cpcXgafv _cpcUploadProtocol
_cpcAccessToken
_cpcUploadType
_cpcCallback
(Just AltJSON)
_cpcPayload
cloudPrivateCatalogProducerService
where go
= buildClient
(Proxy :: Proxy CatalogsProductsCreateResource)
mempty