gogol-sheets 0.3.0 → 0.4.0
raw patch · 22 files changed
+18180/−11049 lines, 22 filesdep ~gogol-corePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: gogol-core
API changes (from Hackage documentation)
- Network.Google.Resource.Sheets.Spreadsheets.BatchUpdate: sbuBearerToken :: Lens' SpreadsheetsBatchUpdate (Maybe Text)
- Network.Google.Resource.Sheets.Spreadsheets.BatchUpdate: sbuPp :: Lens' SpreadsheetsBatchUpdate Bool
- Network.Google.Resource.Sheets.Spreadsheets.Create: scBearerToken :: Lens' SpreadsheetsCreate (Maybe Text)
- Network.Google.Resource.Sheets.Spreadsheets.Create: scPp :: Lens' SpreadsheetsCreate Bool
- Network.Google.Resource.Sheets.Spreadsheets.Get: sgBearerToken :: Lens' SpreadsheetsGet (Maybe Text)
- Network.Google.Resource.Sheets.Spreadsheets.Get: sgPp :: Lens' SpreadsheetsGet Bool
- Network.Google.Resource.Sheets.Spreadsheets.Sheets.CopyTo: ssctBearerToken :: Lens' SpreadsheetsSheetsCopyTo (Maybe Text)
- Network.Google.Resource.Sheets.Spreadsheets.Sheets.CopyTo: ssctPp :: Lens' SpreadsheetsSheetsCopyTo Bool
- Network.Google.Resource.Sheets.Spreadsheets.Values.Append: svaBearerToken :: Lens' SpreadsheetsValuesAppend (Maybe Text)
- Network.Google.Resource.Sheets.Spreadsheets.Values.Append: svaPp :: Lens' SpreadsheetsValuesAppend Bool
- Network.Google.Resource.Sheets.Spreadsheets.Values.BatchClear: svbcBearerToken :: Lens' SpreadsheetsValuesBatchClear (Maybe Text)
- Network.Google.Resource.Sheets.Spreadsheets.Values.BatchClear: svbcPp :: Lens' SpreadsheetsValuesBatchClear Bool
- Network.Google.Resource.Sheets.Spreadsheets.Values.BatchGet: svbgBearerToken :: Lens' SpreadsheetsValuesBatchGet (Maybe Text)
- Network.Google.Resource.Sheets.Spreadsheets.Values.BatchGet: svbgPp :: Lens' SpreadsheetsValuesBatchGet Bool
- Network.Google.Resource.Sheets.Spreadsheets.Values.BatchUpdate: svbuBearerToken :: Lens' SpreadsheetsValuesBatchUpdate (Maybe Text)
- Network.Google.Resource.Sheets.Spreadsheets.Values.BatchUpdate: svbuPp :: Lens' SpreadsheetsValuesBatchUpdate Bool
- Network.Google.Resource.Sheets.Spreadsheets.Values.Clear: svcBearerToken :: Lens' SpreadsheetsValuesClear (Maybe Text)
- Network.Google.Resource.Sheets.Spreadsheets.Values.Clear: svcPp :: Lens' SpreadsheetsValuesClear Bool
- Network.Google.Resource.Sheets.Spreadsheets.Values.Get: svgBearerToken :: Lens' SpreadsheetsValuesGet (Maybe Text)
- Network.Google.Resource.Sheets.Spreadsheets.Values.Get: svgPp :: Lens' SpreadsheetsValuesGet Bool
- Network.Google.Resource.Sheets.Spreadsheets.Values.Update: svuBearerToken :: Lens' SpreadsheetsValuesUpdate (Maybe Text)
- Network.Google.Resource.Sheets.Spreadsheets.Values.Update: svuPp :: Lens' SpreadsheetsValuesUpdate Bool
- Network.Google.Sheets: LabeledLegend :: PieChartSpecLegendPosition
- Network.Google.Sheets: OnChange :: SpreadsheetPropertiesAutoRecalc
- Network.Google.Sheets: PieChartLegendPositionUnspecified :: PieChartSpecLegendPosition
- Network.Google.Sheets: RecalculationIntervalUnspecified :: SpreadsheetPropertiesAutoRecalc
- Network.Google.Sheets: bAxis :: Lens' BasicChartSpec [BasicChartAxis]
- Network.Google.Sheets: bChartType :: Lens' BasicChartSpec (Maybe BasicChartSpecChartType)
- Network.Google.Sheets: bDomains :: Lens' BasicChartSpec [BasicChartDomain]
- Network.Google.Sheets: bHeaderCount :: Lens' BasicChartSpec (Maybe Int32)
- Network.Google.Sheets: bLegendPosition :: Lens' BasicChartSpec (Maybe BasicChartSpecLegendPosition)
- Network.Google.Sheets: bcsTargetAxis :: Lens' BasicChartSeries (Maybe BasicChartSeriesTargetAxis)
- Network.Google.Sheets: bcsType :: Lens' BasicChartSeries (Maybe BasicChartSeriesType)
- Network.Google.Sheets.Types: LabeledLegend :: PieChartSpecLegendPosition
- Network.Google.Sheets.Types: OnChange :: SpreadsheetPropertiesAutoRecalc
- Network.Google.Sheets.Types: PieChartLegendPositionUnspecified :: PieChartSpecLegendPosition
- Network.Google.Sheets.Types: RecalculationIntervalUnspecified :: SpreadsheetPropertiesAutoRecalc
- Network.Google.Sheets.Types: bAxis :: Lens' BasicChartSpec [BasicChartAxis]
- Network.Google.Sheets.Types: bChartType :: Lens' BasicChartSpec (Maybe BasicChartSpecChartType)
- Network.Google.Sheets.Types: bDomains :: Lens' BasicChartSpec [BasicChartDomain]
- Network.Google.Sheets.Types: bHeaderCount :: Lens' BasicChartSpec (Maybe Int32)
- Network.Google.Sheets.Types: bLegendPosition :: Lens' BasicChartSpec (Maybe BasicChartSpecLegendPosition)
- Network.Google.Sheets.Types: bcsTargetAxis :: Lens' BasicChartSeries (Maybe BasicChartSeriesTargetAxis)
- Network.Google.Sheets.Types: bcsType :: Lens' BasicChartSeries (Maybe BasicChartSeriesType)
+ Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Get: data SpreadsheetsDeveloperMetadataGet
+ Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Get: instance Data.Data.Data Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Get.SpreadsheetsDeveloperMetadataGet
+ Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Get: instance GHC.Classes.Eq Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Get.SpreadsheetsDeveloperMetadataGet
+ Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Get: instance GHC.Generics.Generic Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Get.SpreadsheetsDeveloperMetadataGet
+ Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Get: instance GHC.Show.Show Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Get.SpreadsheetsDeveloperMetadataGet
+ Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Get: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Get.SpreadsheetsDeveloperMetadataGet
+ Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Get: sdmgAccessToken :: Lens' SpreadsheetsDeveloperMetadataGet (Maybe Text)
+ Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Get: sdmgCallback :: Lens' SpreadsheetsDeveloperMetadataGet (Maybe Text)
+ Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Get: sdmgMetadataId :: Lens' SpreadsheetsDeveloperMetadataGet Int32
+ Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Get: sdmgSpreadsheetId :: Lens' SpreadsheetsDeveloperMetadataGet Text
+ Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Get: sdmgUploadProtocol :: Lens' SpreadsheetsDeveloperMetadataGet (Maybe Text)
+ Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Get: sdmgUploadType :: Lens' SpreadsheetsDeveloperMetadataGet (Maybe Text)
+ Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Get: sdmgXgafv :: Lens' SpreadsheetsDeveloperMetadataGet (Maybe Xgafv)
+ Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Get: spreadsheetsDeveloperMetadataGet :: Int32 -> Text -> SpreadsheetsDeveloperMetadataGet
+ Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Get: type SpreadsheetsDeveloperMetadataGetResource = "v4" :> "spreadsheets" :> Capture "spreadsheetId" Text :> "developerMetadata" :> Capture "metadataId" (Textual Int32) :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> Get '[JSON] DeveloperMetadata
+ Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Search: data SpreadsheetsDeveloperMetadataSearch
+ Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Search: instance Data.Data.Data Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Search.SpreadsheetsDeveloperMetadataSearch
+ Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Search: instance GHC.Classes.Eq Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Search.SpreadsheetsDeveloperMetadataSearch
+ Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Search: instance GHC.Generics.Generic Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Search.SpreadsheetsDeveloperMetadataSearch
+ Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Search: instance GHC.Show.Show Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Search.SpreadsheetsDeveloperMetadataSearch
+ Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Search: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Search.SpreadsheetsDeveloperMetadataSearch
+ Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Search: sdmsAccessToken :: Lens' SpreadsheetsDeveloperMetadataSearch (Maybe Text)
+ Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Search: sdmsCallback :: Lens' SpreadsheetsDeveloperMetadataSearch (Maybe Text)
+ Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Search: sdmsPayload :: Lens' SpreadsheetsDeveloperMetadataSearch SearchDeveloperMetadataRequest
+ Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Search: sdmsSpreadsheetId :: Lens' SpreadsheetsDeveloperMetadataSearch Text
+ Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Search: sdmsUploadProtocol :: Lens' SpreadsheetsDeveloperMetadataSearch (Maybe Text)
+ Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Search: sdmsUploadType :: Lens' SpreadsheetsDeveloperMetadataSearch (Maybe Text)
+ Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Search: sdmsXgafv :: Lens' SpreadsheetsDeveloperMetadataSearch (Maybe Xgafv)
+ Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Search: spreadsheetsDeveloperMetadataSearch :: Text -> SearchDeveloperMetadataRequest -> SpreadsheetsDeveloperMetadataSearch
+ Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Search: type SpreadsheetsDeveloperMetadataSearchResource = "v4" :> "spreadsheets" :> Capture "spreadsheetId" Text :> "developerMetadata:search" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] SearchDeveloperMetadataRequest :> Post '[JSON] SearchDeveloperMetadataResponse
+ Network.Google.Resource.Sheets.Spreadsheets.GetByDataFilter: data SpreadsheetsGetByDataFilter
+ Network.Google.Resource.Sheets.Spreadsheets.GetByDataFilter: instance Data.Data.Data Network.Google.Resource.Sheets.Spreadsheets.GetByDataFilter.SpreadsheetsGetByDataFilter
+ Network.Google.Resource.Sheets.Spreadsheets.GetByDataFilter: instance GHC.Classes.Eq Network.Google.Resource.Sheets.Spreadsheets.GetByDataFilter.SpreadsheetsGetByDataFilter
+ Network.Google.Resource.Sheets.Spreadsheets.GetByDataFilter: instance GHC.Generics.Generic Network.Google.Resource.Sheets.Spreadsheets.GetByDataFilter.SpreadsheetsGetByDataFilter
+ Network.Google.Resource.Sheets.Spreadsheets.GetByDataFilter: instance GHC.Show.Show Network.Google.Resource.Sheets.Spreadsheets.GetByDataFilter.SpreadsheetsGetByDataFilter
+ Network.Google.Resource.Sheets.Spreadsheets.GetByDataFilter: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Sheets.Spreadsheets.GetByDataFilter.SpreadsheetsGetByDataFilter
+ Network.Google.Resource.Sheets.Spreadsheets.GetByDataFilter: sgbdfAccessToken :: Lens' SpreadsheetsGetByDataFilter (Maybe Text)
+ Network.Google.Resource.Sheets.Spreadsheets.GetByDataFilter: sgbdfCallback :: Lens' SpreadsheetsGetByDataFilter (Maybe Text)
+ Network.Google.Resource.Sheets.Spreadsheets.GetByDataFilter: sgbdfPayload :: Lens' SpreadsheetsGetByDataFilter GetSpreadsheetByDataFilterRequest
+ Network.Google.Resource.Sheets.Spreadsheets.GetByDataFilter: sgbdfSpreadsheetId :: Lens' SpreadsheetsGetByDataFilter Text
+ Network.Google.Resource.Sheets.Spreadsheets.GetByDataFilter: sgbdfUploadProtocol :: Lens' SpreadsheetsGetByDataFilter (Maybe Text)
+ Network.Google.Resource.Sheets.Spreadsheets.GetByDataFilter: sgbdfUploadType :: Lens' SpreadsheetsGetByDataFilter (Maybe Text)
+ Network.Google.Resource.Sheets.Spreadsheets.GetByDataFilter: sgbdfXgafv :: Lens' SpreadsheetsGetByDataFilter (Maybe Xgafv)
+ Network.Google.Resource.Sheets.Spreadsheets.GetByDataFilter: spreadsheetsGetByDataFilter :: Text -> GetSpreadsheetByDataFilterRequest -> SpreadsheetsGetByDataFilter
+ Network.Google.Resource.Sheets.Spreadsheets.GetByDataFilter: type SpreadsheetsGetByDataFilterResource = "v4" :> "spreadsheets" :> CaptureMode "spreadsheetId" "getByDataFilter" Text :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] GetSpreadsheetByDataFilterRequest :> Post '[JSON] Spreadsheet
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchClearByDataFilter: data SpreadsheetsValuesBatchClearByDataFilter
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchClearByDataFilter: instance Data.Data.Data Network.Google.Resource.Sheets.Spreadsheets.Values.BatchClearByDataFilter.SpreadsheetsValuesBatchClearByDataFilter
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchClearByDataFilter: instance GHC.Classes.Eq Network.Google.Resource.Sheets.Spreadsheets.Values.BatchClearByDataFilter.SpreadsheetsValuesBatchClearByDataFilter
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchClearByDataFilter: instance GHC.Generics.Generic Network.Google.Resource.Sheets.Spreadsheets.Values.BatchClearByDataFilter.SpreadsheetsValuesBatchClearByDataFilter
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchClearByDataFilter: instance GHC.Show.Show Network.Google.Resource.Sheets.Spreadsheets.Values.BatchClearByDataFilter.SpreadsheetsValuesBatchClearByDataFilter
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchClearByDataFilter: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Sheets.Spreadsheets.Values.BatchClearByDataFilter.SpreadsheetsValuesBatchClearByDataFilter
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchClearByDataFilter: spreadsheetsValuesBatchClearByDataFilter :: Text -> BatchClearValuesByDataFilterRequest -> SpreadsheetsValuesBatchClearByDataFilter
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchClearByDataFilter: svbcbdfAccessToken :: Lens' SpreadsheetsValuesBatchClearByDataFilter (Maybe Text)
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchClearByDataFilter: svbcbdfCallback :: Lens' SpreadsheetsValuesBatchClearByDataFilter (Maybe Text)
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchClearByDataFilter: svbcbdfPayload :: Lens' SpreadsheetsValuesBatchClearByDataFilter BatchClearValuesByDataFilterRequest
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchClearByDataFilter: svbcbdfSpreadsheetId :: Lens' SpreadsheetsValuesBatchClearByDataFilter Text
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchClearByDataFilter: svbcbdfUploadProtocol :: Lens' SpreadsheetsValuesBatchClearByDataFilter (Maybe Text)
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchClearByDataFilter: svbcbdfUploadType :: Lens' SpreadsheetsValuesBatchClearByDataFilter (Maybe Text)
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchClearByDataFilter: svbcbdfXgafv :: Lens' SpreadsheetsValuesBatchClearByDataFilter (Maybe Xgafv)
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchClearByDataFilter: type SpreadsheetsValuesBatchClearByDataFilterResource = "v4" :> "spreadsheets" :> Capture "spreadsheetId" Text :> "values:batchClearByDataFilter" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] BatchClearValuesByDataFilterRequest :> Post '[JSON] BatchClearValuesByDataFilterResponse
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchGetByDataFilter: data SpreadsheetsValuesBatchGetByDataFilter
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchGetByDataFilter: instance Data.Data.Data Network.Google.Resource.Sheets.Spreadsheets.Values.BatchGetByDataFilter.SpreadsheetsValuesBatchGetByDataFilter
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchGetByDataFilter: instance GHC.Classes.Eq Network.Google.Resource.Sheets.Spreadsheets.Values.BatchGetByDataFilter.SpreadsheetsValuesBatchGetByDataFilter
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchGetByDataFilter: instance GHC.Generics.Generic Network.Google.Resource.Sheets.Spreadsheets.Values.BatchGetByDataFilter.SpreadsheetsValuesBatchGetByDataFilter
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchGetByDataFilter: instance GHC.Show.Show Network.Google.Resource.Sheets.Spreadsheets.Values.BatchGetByDataFilter.SpreadsheetsValuesBatchGetByDataFilter
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchGetByDataFilter: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Sheets.Spreadsheets.Values.BatchGetByDataFilter.SpreadsheetsValuesBatchGetByDataFilter
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchGetByDataFilter: spreadsheetsValuesBatchGetByDataFilter :: Text -> BatchGetValuesByDataFilterRequest -> SpreadsheetsValuesBatchGetByDataFilter
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchGetByDataFilter: svbgbdfAccessToken :: Lens' SpreadsheetsValuesBatchGetByDataFilter (Maybe Text)
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchGetByDataFilter: svbgbdfCallback :: Lens' SpreadsheetsValuesBatchGetByDataFilter (Maybe Text)
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchGetByDataFilter: svbgbdfPayload :: Lens' SpreadsheetsValuesBatchGetByDataFilter BatchGetValuesByDataFilterRequest
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchGetByDataFilter: svbgbdfSpreadsheetId :: Lens' SpreadsheetsValuesBatchGetByDataFilter Text
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchGetByDataFilter: svbgbdfUploadProtocol :: Lens' SpreadsheetsValuesBatchGetByDataFilter (Maybe Text)
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchGetByDataFilter: svbgbdfUploadType :: Lens' SpreadsheetsValuesBatchGetByDataFilter (Maybe Text)
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchGetByDataFilter: svbgbdfXgafv :: Lens' SpreadsheetsValuesBatchGetByDataFilter (Maybe Xgafv)
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchGetByDataFilter: type SpreadsheetsValuesBatchGetByDataFilterResource = "v4" :> "spreadsheets" :> Capture "spreadsheetId" Text :> "values:batchGetByDataFilter" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] BatchGetValuesByDataFilterRequest :> Post '[JSON] BatchGetValuesByDataFilterResponse
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchUpdateByDataFilter: data SpreadsheetsValuesBatchUpdateByDataFilter
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchUpdateByDataFilter: instance Data.Data.Data Network.Google.Resource.Sheets.Spreadsheets.Values.BatchUpdateByDataFilter.SpreadsheetsValuesBatchUpdateByDataFilter
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchUpdateByDataFilter: instance GHC.Classes.Eq Network.Google.Resource.Sheets.Spreadsheets.Values.BatchUpdateByDataFilter.SpreadsheetsValuesBatchUpdateByDataFilter
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchUpdateByDataFilter: instance GHC.Generics.Generic Network.Google.Resource.Sheets.Spreadsheets.Values.BatchUpdateByDataFilter.SpreadsheetsValuesBatchUpdateByDataFilter
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchUpdateByDataFilter: instance GHC.Show.Show Network.Google.Resource.Sheets.Spreadsheets.Values.BatchUpdateByDataFilter.SpreadsheetsValuesBatchUpdateByDataFilter
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchUpdateByDataFilter: instance Network.Google.Types.GoogleRequest Network.Google.Resource.Sheets.Spreadsheets.Values.BatchUpdateByDataFilter.SpreadsheetsValuesBatchUpdateByDataFilter
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchUpdateByDataFilter: spreadsheetsValuesBatchUpdateByDataFilter :: Text -> BatchUpdateValuesByDataFilterRequest -> SpreadsheetsValuesBatchUpdateByDataFilter
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchUpdateByDataFilter: svbubdfAccessToken :: Lens' SpreadsheetsValuesBatchUpdateByDataFilter (Maybe Text)
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchUpdateByDataFilter: svbubdfCallback :: Lens' SpreadsheetsValuesBatchUpdateByDataFilter (Maybe Text)
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchUpdateByDataFilter: svbubdfPayload :: Lens' SpreadsheetsValuesBatchUpdateByDataFilter BatchUpdateValuesByDataFilterRequest
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchUpdateByDataFilter: svbubdfSpreadsheetId :: Lens' SpreadsheetsValuesBatchUpdateByDataFilter Text
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchUpdateByDataFilter: svbubdfUploadProtocol :: Lens' SpreadsheetsValuesBatchUpdateByDataFilter (Maybe Text)
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchUpdateByDataFilter: svbubdfUploadType :: Lens' SpreadsheetsValuesBatchUpdateByDataFilter (Maybe Text)
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchUpdateByDataFilter: svbubdfXgafv :: Lens' SpreadsheetsValuesBatchUpdateByDataFilter (Maybe Xgafv)
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchUpdateByDataFilter: type SpreadsheetsValuesBatchUpdateByDataFilterResource = "v4" :> "spreadsheets" :> Capture "spreadsheetId" Text :> "values:batchUpdateByDataFilter" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] BatchUpdateValuesByDataFilterRequest :> Post '[JSON] BatchUpdateValuesByDataFilterResponse
+ Network.Google.Sheets: BCSTSteppedArea :: BasicChartSeriesType
+ Network.Google.Sheets: BGVBDFRDTROFormattedString :: BatchGetValuesByDataFilterRequestDateTimeRenderOption
+ Network.Google.Sheets: BGVBDFRDTROSerialNumber :: BatchGetValuesByDataFilterRequestDateTimeRenderOption
+ Network.Google.Sheets: BGVBDFRMDColumns :: BatchGetValuesByDataFilterRequestMajorDimension
+ Network.Google.Sheets: BGVBDFRMDDimensionUnspecified :: BatchGetValuesByDataFilterRequestMajorDimension
+ Network.Google.Sheets: BGVBDFRMDRows :: BatchGetValuesByDataFilterRequestMajorDimension
+ Network.Google.Sheets: BUVBDFRRVROFormattedValue :: BatchUpdateValuesByDataFilterRequestResponseValueRenderOption
+ Network.Google.Sheets: BUVBDFRRVROFormula :: BatchUpdateValuesByDataFilterRequestResponseValueRenderOption
+ Network.Google.Sheets: BUVBDFRRVROUnformattedValue :: BatchUpdateValuesByDataFilterRequestResponseValueRenderOption
+ Network.Google.Sheets: BUVBDFRVIOInputValueOptionUnspecified :: BatchUpdateValuesByDataFilterRequestValueInputOption
+ Network.Google.Sheets: BUVBDFRVIORaw :: BatchUpdateValuesByDataFilterRequestValueInputOption
+ Network.Google.Sheets: BUVBDFRVIOUserEntered :: BatchUpdateValuesByDataFilterRequestValueInputOption
+ Network.Google.Sheets: BUVRRDTROFormattedString :: BatchUpdateValuesRequestResponseDateTimeRenderOption
+ Network.Google.Sheets: BUVRRDTROSerialNumber :: BatchUpdateValuesRequestResponseDateTimeRenderOption
+ Network.Google.Sheets: BUVRRVROFormattedValue :: BatchUpdateValuesRequestResponseValueRenderOption
+ Network.Google.Sheets: BUVRRVROFormula :: BatchUpdateValuesRequestResponseValueRenderOption
+ Network.Google.Sheets: BUVRRVROUnformattedValue :: BatchUpdateValuesRequestResponseValueRenderOption
+ Network.Google.Sheets: BasicChartCompareModeUnspecified :: BasicChartSpecCompareMode
+ Network.Google.Sheets: BasicChartStackedTypeUnspecified :: BasicChartSpecStackedType
+ Network.Google.Sheets: Boolean :: BooleanConditionType
+ Network.Google.Sheets: BubbleChartLegendPositionUnspecified :: BubbleChartSpecLegendPosition
+ Network.Google.Sheets: CFHACenter :: CellFormatHorizontalAlignment
+ Network.Google.Sheets: CFHAHorizontalAlignUnspecified :: CellFormatHorizontalAlignment
+ Network.Google.Sheets: CFHALeft' :: CellFormatHorizontalAlignment
+ Network.Google.Sheets: CFHARight' :: CellFormatHorizontalAlignment
+ Network.Google.Sheets: Category :: BasicChartSpecCompareMode
+ Network.Google.Sheets: DColumn :: DeveloperMetadataLookupLocationType
+ Network.Google.Sheets: DDeveloperMetadataLocationTypeUnspecified :: DeveloperMetadataLookupLocationType
+ Network.Google.Sheets: DFVRMDColumns :: DataFilterValueRangeMajorDimension
+ Network.Google.Sheets: DFVRMDDimensionUnspecified :: DataFilterValueRangeMajorDimension
+ Network.Google.Sheets: DFVRMDRows :: DataFilterValueRangeMajorDimension
+ Network.Google.Sheets: DMLLTColumn :: DeveloperMetadataLocationLocationType
+ Network.Google.Sheets: DMLLTDeveloperMetadataLocationTypeUnspecified :: DeveloperMetadataLocationLocationType
+ Network.Google.Sheets: DMLLTRow :: DeveloperMetadataLocationLocationType
+ Network.Google.Sheets: DMLLTSheet :: DeveloperMetadataLocationLocationType
+ Network.Google.Sheets: DMLLTSpreadsheet :: DeveloperMetadataLocationLocationType
+ Network.Google.Sheets: DMLVDeveloperMetadataVisibilityUnspecified :: DeveloperMetadataLookupVisibility
+ Network.Google.Sheets: DMLVDocument :: DeveloperMetadataLookupVisibility
+ Network.Google.Sheets: DMLVProject :: DeveloperMetadataLookupVisibility
+ Network.Google.Sheets: DRow :: DeveloperMetadataLookupLocationType
+ Network.Google.Sheets: DSheet :: DeveloperMetadataLookupLocationType
+ Network.Google.Sheets: DSpreadsheet :: DeveloperMetadataLookupLocationType
+ Network.Google.Sheets: DateTimeRuleTypeUnspecified :: DateTimeRuleType
+ Network.Google.Sheets: Datum :: BasicChartSpecCompareMode
+ Network.Google.Sheets: DayMonth :: DateTimeRuleType
+ Network.Google.Sheets: DayOfMonth :: DateTimeRuleType
+ Network.Google.Sheets: DayOfWeek :: DateTimeRuleType
+ Network.Google.Sheets: DayOfYear :: DateTimeRuleType
+ Network.Google.Sheets: DeveloperMetadataLocationMatchingStrategyUnspecified :: DeveloperMetadataLookupLocationMatchingStrategy
+ Network.Google.Sheets: DeveloperMetadataVisibilityUnspecified :: DeveloperMetadataVisibility
+ Network.Google.Sheets: Document :: DeveloperMetadataVisibility
+ Network.Google.Sheets: ExactLocation :: DeveloperMetadataLookupLocationMatchingStrategy
+ Network.Google.Sheets: HCSLPBottomLegend :: HistogramChartSpecLegendPosition
+ Network.Google.Sheets: HCSLPHistogramChartLegendPositionUnspecified :: HistogramChartSpecLegendPosition
+ Network.Google.Sheets: HCSLPInsideLegend :: HistogramChartSpecLegendPosition
+ Network.Google.Sheets: HCSLPLeftLegend :: HistogramChartSpecLegendPosition
+ Network.Google.Sheets: HCSLPNoLegend :: HistogramChartSpecLegendPosition
+ Network.Google.Sheets: HCSLPRightLegend :: HistogramChartSpecLegendPosition
+ Network.Google.Sheets: HCSLPTopLegend :: HistogramChartSpecLegendPosition
+ Network.Google.Sheets: HourMinute :: DateTimeRuleType
+ Network.Google.Sheets: HourMinuteAmpm :: DateTimeRuleType
+ Network.Google.Sheets: InsideLegend :: BubbleChartSpecLegendPosition
+ Network.Google.Sheets: IntersectingLocation :: DeveloperMetadataLookupLocationMatchingStrategy
+ Network.Google.Sheets: LSTCustom :: LineStyleType
+ Network.Google.Sheets: LSTDotted :: LineStyleType
+ Network.Google.Sheets: LSTInvisible :: LineStyleType
+ Network.Google.Sheets: LSTLineDashTypeUnspecified :: LineStyleType
+ Network.Google.Sheets: LSTLongDashed :: LineStyleType
+ Network.Google.Sheets: LSTLongDashedDotted :: LineStyleType
+ Network.Google.Sheets: LSTMediumDashed :: LineStyleType
+ Network.Google.Sheets: LSTMediumDashedDotted :: LineStyleType
+ Network.Google.Sheets: LSTSolid :: LineStyleType
+ Network.Google.Sheets: Large :: OrgChartSpecNodeSize
+ Network.Google.Sheets: Medium :: OrgChartSpecNodeSize
+ Network.Google.Sheets: Month :: DateTimeRuleType
+ Network.Google.Sheets: NotStacked :: BasicChartSpecStackedType
+ Network.Google.Sheets: OrgChartLabelSizeUnspecified :: OrgChartSpecNodeSize
+ Network.Google.Sheets: PCSLPBottomLegend :: PieChartSpecLegendPosition
+ Network.Google.Sheets: PCSLPLabeledLegend :: PieChartSpecLegendPosition
+ Network.Google.Sheets: PCSLPLeftLegend :: PieChartSpecLegendPosition
+ Network.Google.Sheets: PCSLPNoLegend :: PieChartSpecLegendPosition
+ Network.Google.Sheets: PCSLPPieChartLegendPositionUnspecified :: PieChartSpecLegendPosition
+ Network.Google.Sheets: PCSLPRightLegend :: PieChartSpecLegendPosition
+ Network.Google.Sheets: PCSLPTopLegend :: PieChartSpecLegendPosition
+ Network.Google.Sheets: PercentOfColumnTotal :: PivotValueCalculatedDisplayType
+ Network.Google.Sheets: PercentOfGrandTotal :: PivotValueCalculatedDisplayType
+ Network.Google.Sheets: PercentOfRowTotal :: PivotValueCalculatedDisplayType
+ Network.Google.Sheets: PercentStacked :: BasicChartSpecStackedType
+ Network.Google.Sheets: PivotValueCalculatedDisplayTypeUnspecified :: PivotValueCalculatedDisplayType
+ Network.Google.Sheets: Project :: DeveloperMetadataVisibility
+ Network.Google.Sheets: Quarter :: DateTimeRuleType
+ Network.Google.Sheets: SPARHour :: SpreadsheetPropertiesAutoRecalc
+ Network.Google.Sheets: SPARMinute :: SpreadsheetPropertiesAutoRecalc
+ Network.Google.Sheets: SPAROnChange :: SpreadsheetPropertiesAutoRecalc
+ Network.Google.Sheets: SPARRecalculationIntervalUnspecified :: SpreadsheetPropertiesAutoRecalc
+ Network.Google.Sheets: Second :: DateTimeRuleType
+ Network.Google.Sheets: Small :: OrgChartSpecNodeSize
+ Network.Google.Sheets: Stacked :: BasicChartSpecStackedType
+ Network.Google.Sheets: SteppedArea :: BasicChartSpecChartType
+ Network.Google.Sheets: TTCRDTAutodetect :: TextToColumnsRequestDelimiterType
+ Network.Google.Sheets: WCSSTSequential :: WaterfallChartSpecStackedType
+ Network.Google.Sheets: WCSSTStacked :: WaterfallChartSpecStackedType
+ Network.Google.Sheets: WCSSTWaterfallStackedTypeUnspecified :: WaterfallChartSpecStackedType
+ Network.Google.Sheets: Year :: DateTimeRuleType
+ Network.Google.Sheets: YearMonth :: DateTimeRuleType
+ Network.Google.Sheets: YearMonthDay :: DateTimeRuleType
+ Network.Google.Sheets: YearQuarter :: DateTimeRuleType
+ Network.Google.Sheets: addDimensionGroupRequest :: AddDimensionGroupRequest
+ Network.Google.Sheets: addDimensionGroupResponse :: AddDimensionGroupResponse
+ Network.Google.Sheets: adgrDimensionGroups :: Lens' AddDimensionGroupResponse [DimensionGroup]
+ Network.Google.Sheets: adgrRange :: Lens' AddDimensionGroupRequest (Maybe DimensionRange)
+ Network.Google.Sheets: bColor :: Lens' BasicChartSeries (Maybe Color)
+ Network.Google.Sheets: bLineStyle :: Lens' BasicChartSeries (Maybe LineStyle)
+ Network.Google.Sheets: bTargetAxis :: Lens' BasicChartSeries (Maybe BasicChartSeriesTargetAxis)
+ Network.Google.Sheets: bType :: Lens' BasicChartSeries (Maybe BasicChartSeriesType)
+ Network.Google.Sheets: basAxis :: Lens' BasicChartSpec [BasicChartAxis]
+ Network.Google.Sheets: basChartType :: Lens' BasicChartSpec (Maybe BasicChartSpecChartType)
+ Network.Google.Sheets: basCompareMode :: Lens' BasicChartSpec (Maybe BasicChartSpecCompareMode)
+ Network.Google.Sheets: basDomains :: Lens' BasicChartSpec [BasicChartDomain]
+ Network.Google.Sheets: basHeaderCount :: Lens' BasicChartSpec (Maybe Int32)
+ Network.Google.Sheets: basInterpolateNulls :: Lens' BasicChartSpec (Maybe Bool)
+ Network.Google.Sheets: basLegendPosition :: Lens' BasicChartSpec (Maybe BasicChartSpecLegendPosition)
+ Network.Google.Sheets: basLineSmoothing :: Lens' BasicChartSpec (Maybe Bool)
+ Network.Google.Sheets: basSeries :: Lens' BasicChartSpec [BasicChartSeries]
+ Network.Google.Sheets: basStackedType :: Lens' BasicChartSpec (Maybe BasicChartSpecStackedType)
+ Network.Google.Sheets: basThreeDimensional :: Lens' BasicChartSpec (Maybe Bool)
+ Network.Google.Sheets: batchClearValuesByDataFilterRequest :: BatchClearValuesByDataFilterRequest
+ Network.Google.Sheets: batchClearValuesByDataFilterResponse :: BatchClearValuesByDataFilterResponse
+ Network.Google.Sheets: batchGetValuesByDataFilterRequest :: BatchGetValuesByDataFilterRequest
+ Network.Google.Sheets: batchGetValuesByDataFilterResponse :: BatchGetValuesByDataFilterResponse
+ Network.Google.Sheets: batchUpdateValuesByDataFilterRequest :: BatchUpdateValuesByDataFilterRequest
+ Network.Google.Sheets: batchUpdateValuesByDataFilterResponse :: BatchUpdateValuesByDataFilterResponse
+ Network.Google.Sheets: bcaTitleTextPosition :: Lens' BasicChartAxis (Maybe TextPosition)
+ Network.Google.Sheets: bcdReversed :: Lens' BasicChartDomain (Maybe Bool)
+ Network.Google.Sheets: bcsBubbleBOrderColor :: Lens' BubbleChartSpec (Maybe Color)
+ Network.Google.Sheets: bcsBubbleLabels :: Lens' BubbleChartSpec (Maybe ChartData)
+ Network.Google.Sheets: bcsBubbleMaxRadiusSize :: Lens' BubbleChartSpec (Maybe Int32)
+ Network.Google.Sheets: bcsBubbleMinRadiusSize :: Lens' BubbleChartSpec (Maybe Int32)
+ Network.Google.Sheets: bcsBubbleOpacity :: Lens' BubbleChartSpec (Maybe Double)
+ Network.Google.Sheets: bcsBubbleSizes :: Lens' BubbleChartSpec (Maybe ChartData)
+ Network.Google.Sheets: bcsBubbleTextStyle :: Lens' BubbleChartSpec (Maybe TextFormat)
+ Network.Google.Sheets: bcsDomain :: Lens' BubbleChartSpec (Maybe ChartData)
+ Network.Google.Sheets: bcsGroupIds :: Lens' BubbleChartSpec (Maybe ChartData)
+ Network.Google.Sheets: bcsLegendPosition :: Lens' BubbleChartSpec (Maybe BubbleChartSpecLegendPosition)
+ Network.Google.Sheets: bcvbdfrClearedRanges :: Lens' BatchClearValuesByDataFilterResponse [Text]
+ Network.Google.Sheets: bcvbdfrDataFilters :: Lens' BatchClearValuesByDataFilterRequest [DataFilter]
+ Network.Google.Sheets: bcvbdfrSpreadsheetId :: Lens' BatchClearValuesByDataFilterResponse (Maybe Text)
+ Network.Google.Sheets: bgvbdfrDataFilters :: Lens' BatchGetValuesByDataFilterRequest [DataFilter]
+ Network.Google.Sheets: bgvbdfrDateTimeRenderOption :: Lens' BatchGetValuesByDataFilterRequest (Maybe BatchGetValuesByDataFilterRequestDateTimeRenderOption)
+ Network.Google.Sheets: bgvbdfrMajorDimension :: Lens' BatchGetValuesByDataFilterRequest (Maybe BatchGetValuesByDataFilterRequestMajorDimension)
+ Network.Google.Sheets: bgvbdfrSpreadsheetId :: Lens' BatchGetValuesByDataFilterResponse (Maybe Text)
+ Network.Google.Sheets: bgvbdfrValueRanges :: Lens' BatchGetValuesByDataFilterResponse [MatchedValueRange]
+ Network.Google.Sheets: bgvbdfrValueRenderOption :: Lens' BatchGetValuesByDataFilterRequest (Maybe BatchGetValuesByDataFilterRequestValueRenderOption)
+ Network.Google.Sheets: bubbleChartSpec :: BubbleChartSpec
+ Network.Google.Sheets: buvbdfrData :: Lens' BatchUpdateValuesByDataFilterRequest [DataFilterValueRange]
+ Network.Google.Sheets: buvbdfrIncludeValuesInResponse :: Lens' BatchUpdateValuesByDataFilterRequest (Maybe Bool)
+ Network.Google.Sheets: buvbdfrResponseDateTimeRenderOption :: Lens' BatchUpdateValuesByDataFilterRequest (Maybe BatchUpdateValuesByDataFilterRequestResponseDateTimeRenderOption)
+ Network.Google.Sheets: buvbdfrResponseValueRenderOption :: Lens' BatchUpdateValuesByDataFilterRequest (Maybe BatchUpdateValuesByDataFilterRequestResponseValueRenderOption)
+ Network.Google.Sheets: buvbdfrResponses :: Lens' BatchUpdateValuesByDataFilterResponse [UpdateValuesByDataFilterResponse]
+ Network.Google.Sheets: buvbdfrSpreadsheetId :: Lens' BatchUpdateValuesByDataFilterResponse (Maybe Text)
+ Network.Google.Sheets: buvbdfrTotalUpdatedCells :: Lens' BatchUpdateValuesByDataFilterResponse (Maybe Int32)
+ Network.Google.Sheets: buvbdfrTotalUpdatedColumns :: Lens' BatchUpdateValuesByDataFilterResponse (Maybe Int32)
+ Network.Google.Sheets: buvbdfrTotalUpdatedRows :: Lens' BatchUpdateValuesByDataFilterResponse (Maybe Int32)
+ Network.Google.Sheets: buvbdfrTotalUpdatedSheets :: Lens' BatchUpdateValuesByDataFilterResponse (Maybe Int32)
+ Network.Google.Sheets: buvbdfrValueInputOption :: Lens' BatchUpdateValuesByDataFilterRequest (Maybe BatchUpdateValuesByDataFilterRequestValueInputOption)
+ Network.Google.Sheets: cDeveloperMetadata :: Lens' CreateDeveloperMetadataRequest (Maybe DeveloperMetadata)
+ Network.Google.Sheets: candlestickChartSpec :: CandlestickChartSpec
+ Network.Google.Sheets: candlestickData :: CandlestickData
+ Network.Google.Sheets: candlestickDomain :: CandlestickDomain
+ Network.Google.Sheets: candlestickSeries :: CandlestickSeries
+ Network.Google.Sheets: ccsData :: Lens' CandlestickChartSpec [CandlestickData]
+ Network.Google.Sheets: ccsDomain :: Lens' CandlestickChartSpec (Maybe CandlestickDomain)
+ Network.Google.Sheets: cdCloseSeries :: Lens' CandlestickData (Maybe CandlestickSeries)
+ Network.Google.Sheets: cdData :: Lens' CandlestickDomain (Maybe ChartData)
+ Network.Google.Sheets: cdHighSeries :: Lens' CandlestickData (Maybe CandlestickSeries)
+ Network.Google.Sheets: cdLowSeries :: Lens' CandlestickData (Maybe CandlestickSeries)
+ Network.Google.Sheets: cdOpenSeries :: Lens' CandlestickData (Maybe CandlestickSeries)
+ Network.Google.Sheets: cdReversed :: Lens' CandlestickDomain (Maybe Bool)
+ Network.Google.Sheets: cdmrDeveloperMetadata :: Lens' CreateDeveloperMetadataResponse (Maybe DeveloperMetadata)
+ Network.Google.Sheets: cfTextRotation :: Lens' CellFormat (Maybe TextRotation)
+ Network.Google.Sheets: createDeveloperMetadataRequest :: CreateDeveloperMetadataRequest
+ Network.Google.Sheets: createDeveloperMetadataResponse :: CreateDeveloperMetadataResponse
+ Network.Google.Sheets: csAltText :: Lens' ChartSpec (Maybe Text)
+ Network.Google.Sheets: csBackgRoundColor :: Lens' ChartSpec (Maybe Color)
+ Network.Google.Sheets: csBubbleChart :: Lens' ChartSpec (Maybe BubbleChartSpec)
+ Network.Google.Sheets: csCandlestickChart :: Lens' ChartSpec (Maybe CandlestickChartSpec)
+ Network.Google.Sheets: csData :: Lens' CandlestickSeries (Maybe ChartData)
+ Network.Google.Sheets: csFontName :: Lens' ChartSpec (Maybe Text)
+ Network.Google.Sheets: csHistogramChart :: Lens' ChartSpec (Maybe HistogramChartSpec)
+ Network.Google.Sheets: csMaximized :: Lens' ChartSpec (Maybe Bool)
+ Network.Google.Sheets: csOrgChart :: Lens' ChartSpec (Maybe OrgChartSpec)
+ Network.Google.Sheets: csSubtitle :: Lens' ChartSpec (Maybe Text)
+ Network.Google.Sheets: csSubtitleTextFormat :: Lens' ChartSpec (Maybe TextFormat)
+ Network.Google.Sheets: csSubtitleTextPosition :: Lens' ChartSpec (Maybe TextPosition)
+ Network.Google.Sheets: csTitleTextFormat :: Lens' ChartSpec (Maybe TextFormat)
+ Network.Google.Sheets: csTitleTextPosition :: Lens' ChartSpec (Maybe TextPosition)
+ Network.Google.Sheets: csTreemapChart :: Lens' ChartSpec (Maybe TreemapChartSpec)
+ Network.Google.Sheets: csWaterfallChart :: Lens' ChartSpec (Maybe WaterfallChartSpec)
+ Network.Google.Sheets: dLocationMatchingStrategy :: Lens' DeveloperMetadataLookup (Maybe DeveloperMetadataLookupLocationMatchingStrategy)
+ Network.Google.Sheets: dLocationType :: Lens' DeveloperMetadataLookup (Maybe DeveloperMetadataLookupLocationType)
+ Network.Google.Sheets: dMetadataId :: Lens' DeveloperMetadataLookup (Maybe Int32)
+ Network.Google.Sheets: dMetadataKey :: Lens' DeveloperMetadataLookup (Maybe Text)
+ Network.Google.Sheets: dMetadataLocation :: Lens' DeveloperMetadataLookup (Maybe DeveloperMetadataLocation)
+ Network.Google.Sheets: dMetadataValue :: Lens' DeveloperMetadataLookup (Maybe Text)
+ Network.Google.Sheets: dVisibility :: Lens' DeveloperMetadataLookup (Maybe DeveloperMetadataLookupVisibility)
+ Network.Google.Sheets: data AddDimensionGroupRequest
+ Network.Google.Sheets: data AddDimensionGroupResponse
+ Network.Google.Sheets: data BasicChartSpecCompareMode
+ Network.Google.Sheets: data BasicChartSpecStackedType
+ Network.Google.Sheets: data BatchClearValuesByDataFilterRequest
+ Network.Google.Sheets: data BatchClearValuesByDataFilterResponse
+ Network.Google.Sheets: data BatchGetValuesByDataFilterRequest
+ Network.Google.Sheets: data BatchGetValuesByDataFilterRequestDateTimeRenderOption
+ Network.Google.Sheets: data BatchGetValuesByDataFilterRequestMajorDimension
+ Network.Google.Sheets: data BatchGetValuesByDataFilterRequestValueRenderOption
+ Network.Google.Sheets: data BatchGetValuesByDataFilterResponse
+ Network.Google.Sheets: data BatchUpdateValuesByDataFilterRequest
+ Network.Google.Sheets: data BatchUpdateValuesByDataFilterRequestResponseDateTimeRenderOption
+ Network.Google.Sheets: data BatchUpdateValuesByDataFilterRequestResponseValueRenderOption
+ Network.Google.Sheets: data BatchUpdateValuesByDataFilterRequestValueInputOption
+ Network.Google.Sheets: data BatchUpdateValuesByDataFilterResponse
+ Network.Google.Sheets: data BubbleChartSpec
+ Network.Google.Sheets: data BubbleChartSpecLegendPosition
+ Network.Google.Sheets: data CandlestickChartSpec
+ Network.Google.Sheets: data CandlestickData
+ Network.Google.Sheets: data CandlestickDomain
+ Network.Google.Sheets: data CandlestickSeries
+ Network.Google.Sheets: data CreateDeveloperMetadataRequest
+ Network.Google.Sheets: data CreateDeveloperMetadataResponse
+ Network.Google.Sheets: data DataFilter
+ Network.Google.Sheets: data DataFilterValueRange
+ Network.Google.Sheets: data DataFilterValueRangeMajorDimension
+ Network.Google.Sheets: data DateTimeRule
+ Network.Google.Sheets: data DateTimeRuleType
+ Network.Google.Sheets: data DeleteDeveloperMetadataRequest
+ Network.Google.Sheets: data DeleteDeveloperMetadataResponse
+ Network.Google.Sheets: data DeleteDimensionGroupRequest
+ Network.Google.Sheets: data DeleteDimensionGroupResponse
+ Network.Google.Sheets: data DeveloperMetadata
+ Network.Google.Sheets: data DeveloperMetadataLocation
+ Network.Google.Sheets: data DeveloperMetadataLocationLocationType
+ Network.Google.Sheets: data DeveloperMetadataLookup
+ Network.Google.Sheets: data DeveloperMetadataLookupLocationMatchingStrategy
+ Network.Google.Sheets: data DeveloperMetadataLookupLocationType
+ Network.Google.Sheets: data DeveloperMetadataLookupVisibility
+ Network.Google.Sheets: data DeveloperMetadataVisibility
+ Network.Google.Sheets: data DimensionGroup
+ Network.Google.Sheets: data GetSpreadsheetByDataFilterRequest
+ Network.Google.Sheets: data HistogramChartSpec
+ Network.Google.Sheets: data HistogramChartSpecLegendPosition
+ Network.Google.Sheets: data HistogramRule
+ Network.Google.Sheets: data HistogramSeries
+ Network.Google.Sheets: data IterativeCalculationSettings
+ Network.Google.Sheets: data LineStyle
+ Network.Google.Sheets: data LineStyleType
+ Network.Google.Sheets: data ManualRule
+ Network.Google.Sheets: data ManualRuleGroup
+ Network.Google.Sheets: data MatchedDeveloperMetadata
+ Network.Google.Sheets: data MatchedValueRange
+ Network.Google.Sheets: data OrgChartSpec
+ Network.Google.Sheets: data OrgChartSpecNodeSize
+ Network.Google.Sheets: data PivotGroupRule
+ Network.Google.Sheets: data PivotValueCalculatedDisplayType
+ Network.Google.Sheets: data RandomizeRangeRequest
+ Network.Google.Sheets: data SearchDeveloperMetadataRequest
+ Network.Google.Sheets: data SearchDeveloperMetadataResponse
+ Network.Google.Sheets: data TextPosition
+ Network.Google.Sheets: data TextPositionHorizontalAlignment
+ Network.Google.Sheets: data TextRotation
+ Network.Google.Sheets: data TreemapChartColorScale
+ Network.Google.Sheets: data TreemapChartSpec
+ Network.Google.Sheets: data UpdateDeveloperMetadataRequest
+ Network.Google.Sheets: data UpdateDeveloperMetadataResponse
+ Network.Google.Sheets: data UpdateDimensionGroupRequest
+ Network.Google.Sheets: data UpdateValuesByDataFilterResponse
+ Network.Google.Sheets: data WaterfallChartColumnStyle
+ Network.Google.Sheets: data WaterfallChartCustomSubtotal
+ Network.Google.Sheets: data WaterfallChartDomain
+ Network.Google.Sheets: data WaterfallChartSeries
+ Network.Google.Sheets: data WaterfallChartSpec
+ Network.Google.Sheets: data WaterfallChartSpecStackedType
+ Network.Google.Sheets: dataFilter :: DataFilter
+ Network.Google.Sheets: dataFilterValueRange :: DataFilterValueRange
+ Network.Google.Sheets: dateTimeRule :: DateTimeRule
+ Network.Google.Sheets: ddgrDimensionGroups :: Lens' DeleteDimensionGroupResponse [DimensionGroup]
+ Network.Google.Sheets: ddgrRange :: Lens' DeleteDimensionGroupRequest (Maybe DimensionRange)
+ Network.Google.Sheets: ddmrDataFilter :: Lens' DeleteDeveloperMetadataRequest (Maybe DataFilter)
+ Network.Google.Sheets: ddmrDeletedDeveloperMetadata :: Lens' DeleteDeveloperMetadataResponse [DeveloperMetadata]
+ Network.Google.Sheets: deleteDeveloperMetadataRequest :: DeleteDeveloperMetadataRequest
+ Network.Google.Sheets: deleteDeveloperMetadataResponse :: DeleteDeveloperMetadataResponse
+ Network.Google.Sheets: deleteDimensionGroupRequest :: DeleteDimensionGroupRequest
+ Network.Google.Sheets: deleteDimensionGroupResponse :: DeleteDimensionGroupResponse
+ Network.Google.Sheets: developerMetadata :: DeveloperMetadata
+ Network.Google.Sheets: developerMetadataLocation :: DeveloperMetadataLocation
+ Network.Google.Sheets: developerMetadataLookup :: DeveloperMetadataLookup
+ Network.Google.Sheets: dfA1Range :: Lens' DataFilter (Maybe Text)
+ Network.Google.Sheets: dfDeveloperMetadataLookup :: Lens' DataFilter (Maybe DeveloperMetadataLookup)
+ Network.Google.Sheets: dfGridRange :: Lens' DataFilter (Maybe GridRange)
+ Network.Google.Sheets: dfvrDataFilter :: Lens' DataFilterValueRange (Maybe DataFilter)
+ Network.Google.Sheets: dfvrMajorDimension :: Lens' DataFilterValueRange (Maybe DataFilterValueRangeMajorDimension)
+ Network.Google.Sheets: dfvrValues :: Lens' DataFilterValueRange [[JSONValue]]
+ Network.Google.Sheets: dgCollapsed :: Lens' DimensionGroup (Maybe Bool)
+ Network.Google.Sheets: dgDepth :: Lens' DimensionGroup (Maybe Int32)
+ Network.Google.Sheets: dgRange :: Lens' DimensionGroup (Maybe DimensionRange)
+ Network.Google.Sheets: dimensionGroup :: DimensionGroup
+ Network.Google.Sheets: dmLocation :: Lens' DeveloperMetadata (Maybe DeveloperMetadataLocation)
+ Network.Google.Sheets: dmMetadataId :: Lens' DeveloperMetadata (Maybe Int32)
+ Network.Google.Sheets: dmMetadataKey :: Lens' DeveloperMetadata (Maybe Text)
+ Network.Google.Sheets: dmMetadataValue :: Lens' DeveloperMetadata (Maybe Text)
+ Network.Google.Sheets: dmVisibility :: Lens' DeveloperMetadata (Maybe DeveloperMetadataVisibility)
+ Network.Google.Sheets: dmlDimensionRange :: Lens' DeveloperMetadataLocation (Maybe DimensionRange)
+ Network.Google.Sheets: dmlLocationType :: Lens' DeveloperMetadataLocation (Maybe DeveloperMetadataLocationLocationType)
+ Network.Google.Sheets: dmlSheetId :: Lens' DeveloperMetadataLocation (Maybe Int32)
+ Network.Google.Sheets: dmlSpreadsheet :: Lens' DeveloperMetadataLocation (Maybe Bool)
+ Network.Google.Sheets: dpDeveloperMetadata :: Lens' DimensionProperties [DeveloperMetadata]
+ Network.Google.Sheets: driveFileScope :: Proxy '["https://www.googleapis.com/auth/drive.file"]
+ Network.Google.Sheets: dtrType :: Lens' DateTimeRule (Maybe DateTimeRuleType)
+ Network.Google.Sheets: getSpreadsheetByDataFilterRequest :: GetSpreadsheetByDataFilterRequest
+ Network.Google.Sheets: gpColumnGroupControlAfter :: Lens' GridProperties (Maybe Bool)
+ Network.Google.Sheets: gpRowGroupControlAfter :: Lens' GridProperties (Maybe Bool)
+ Network.Google.Sheets: gsbdfrDataFilters :: Lens' GetSpreadsheetByDataFilterRequest [DataFilter]
+ Network.Google.Sheets: gsbdfrIncludeGridData :: Lens' GetSpreadsheetByDataFilterRequest (Maybe Bool)
+ Network.Google.Sheets: hcsBucketSize :: Lens' HistogramChartSpec (Maybe Double)
+ Network.Google.Sheets: hcsLegendPosition :: Lens' HistogramChartSpec (Maybe HistogramChartSpecLegendPosition)
+ Network.Google.Sheets: hcsOutlierPercentile :: Lens' HistogramChartSpec (Maybe Double)
+ Network.Google.Sheets: hcsSeries :: Lens' HistogramChartSpec [HistogramSeries]
+ Network.Google.Sheets: hcsShowItemDividers :: Lens' HistogramChartSpec (Maybe Bool)
+ Network.Google.Sheets: histogramChartSpec :: HistogramChartSpec
+ Network.Google.Sheets: histogramRule :: HistogramRule
+ Network.Google.Sheets: histogramSeries :: HistogramSeries
+ Network.Google.Sheets: hrEnd :: Lens' HistogramRule (Maybe Double)
+ Network.Google.Sheets: hrInterval :: Lens' HistogramRule (Maybe Double)
+ Network.Google.Sheets: hrStart :: Lens' HistogramRule (Maybe Double)
+ Network.Google.Sheets: hsBarColor :: Lens' HistogramSeries (Maybe Color)
+ Network.Google.Sheets: hsData :: Lens' HistogramSeries (Maybe ChartData)
+ Network.Google.Sheets: icsConvergenceThreshold :: Lens' IterativeCalculationSettings (Maybe Double)
+ Network.Google.Sheets: icsMaxIterations :: Lens' IterativeCalculationSettings (Maybe Int32)
+ Network.Google.Sheets: iterativeCalculationSettings :: IterativeCalculationSettings
+ Network.Google.Sheets: lineStyle :: LineStyle
+ Network.Google.Sheets: lsType :: Lens' LineStyle (Maybe LineStyleType)
+ Network.Google.Sheets: lsWidth :: Lens' LineStyle (Maybe Int32)
+ Network.Google.Sheets: manualRule :: ManualRule
+ Network.Google.Sheets: manualRuleGroup :: ManualRuleGroup
+ Network.Google.Sheets: matchedDeveloperMetadata :: MatchedDeveloperMetadata
+ Network.Google.Sheets: matchedValueRange :: MatchedValueRange
+ Network.Google.Sheets: mdmDataFilters :: Lens' MatchedDeveloperMetadata [DataFilter]
+ Network.Google.Sheets: mdmDeveloperMetadata :: Lens' MatchedDeveloperMetadata (Maybe DeveloperMetadata)
+ Network.Google.Sheets: mrGroups :: Lens' ManualRule [ManualRuleGroup]
+ Network.Google.Sheets: mrgGroupName :: Lens' ManualRuleGroup (Maybe ExtendedValue)
+ Network.Google.Sheets: mrgItems :: Lens' ManualRuleGroup [ExtendedValue]
+ Network.Google.Sheets: mvrDataFilters :: Lens' MatchedValueRange [DataFilter]
+ Network.Google.Sheets: mvrValueRange :: Lens' MatchedValueRange (Maybe ValueRange)
+ Network.Google.Sheets: ocsLabels :: Lens' OrgChartSpec (Maybe ChartData)
+ Network.Google.Sheets: ocsNodeColor :: Lens' OrgChartSpec (Maybe Color)
+ Network.Google.Sheets: ocsNodeSize :: Lens' OrgChartSpec (Maybe OrgChartSpecNodeSize)
+ Network.Google.Sheets: ocsParentLabels :: Lens' OrgChartSpec (Maybe ChartData)
+ Network.Google.Sheets: ocsSelectedNodeColor :: Lens' OrgChartSpec (Maybe Color)
+ Network.Google.Sheets: ocsTooltips :: Lens' OrgChartSpec (Maybe ChartData)
+ Network.Google.Sheets: orgChartSpec :: OrgChartSpec
+ Network.Google.Sheets: pgGroupRule :: Lens' PivotGroup (Maybe PivotGroupRule)
+ Network.Google.Sheets: pgLabel :: Lens' PivotGroup (Maybe Text)
+ Network.Google.Sheets: pgRepeatHeadings :: Lens' PivotGroup (Maybe Bool)
+ Network.Google.Sheets: pgrDateTimeRule :: Lens' PivotGroupRule (Maybe DateTimeRule)
+ Network.Google.Sheets: pgrHistogramRule :: Lens' PivotGroupRule (Maybe HistogramRule)
+ Network.Google.Sheets: pgrManualRule :: Lens' PivotGroupRule (Maybe ManualRule)
+ Network.Google.Sheets: pivotGroupRule :: PivotGroupRule
+ Network.Google.Sheets: pvCalculatedDisplayType :: Lens' PivotValue (Maybe PivotValueCalculatedDisplayType)
+ Network.Google.Sheets: rAddDimensionGroup :: Lens' Response (Maybe AddDimensionGroupResponse)
+ Network.Google.Sheets: rCreateDeveloperMetadata :: Lens' Response (Maybe CreateDeveloperMetadataResponse)
+ Network.Google.Sheets: rDeleteDeveloperMetadata :: Lens' Response (Maybe DeleteDeveloperMetadataResponse)
+ Network.Google.Sheets: rDeleteDimensionGroup :: Lens' Response (Maybe DeleteDimensionGroupResponse)
+ Network.Google.Sheets: rUpdateDeveloperMetadata :: Lens' Response (Maybe UpdateDeveloperMetadataResponse)
+ Network.Google.Sheets: randomizeRangeRequest :: RandomizeRangeRequest
+ Network.Google.Sheets: reqAddDimensionGroup :: Lens' Request' (Maybe AddDimensionGroupRequest)
+ Network.Google.Sheets: reqCreateDeveloperMetadata :: Lens' Request' (Maybe CreateDeveloperMetadataRequest)
+ Network.Google.Sheets: reqDeleteDeveloperMetadata :: Lens' Request' (Maybe DeleteDeveloperMetadataRequest)
+ Network.Google.Sheets: reqDeleteDimensionGroup :: Lens' Request' (Maybe DeleteDimensionGroupRequest)
+ Network.Google.Sheets: reqRandomizeRange :: Lens' Request' (Maybe RandomizeRangeRequest)
+ Network.Google.Sheets: reqUpdateDeveloperMetadata :: Lens' Request' (Maybe UpdateDeveloperMetadataRequest)
+ Network.Google.Sheets: reqUpdateDimensionGroup :: Lens' Request' (Maybe UpdateDimensionGroupRequest)
+ Network.Google.Sheets: rrrRange :: Lens' RandomizeRangeRequest (Maybe GridRange)
+ Network.Google.Sheets: sColumnGroups :: Lens' Sheet [DimensionGroup]
+ Network.Google.Sheets: sDeveloperMetadata :: Lens' Sheet [DeveloperMetadata]
+ Network.Google.Sheets: sRowGroups :: Lens' Sheet [DimensionGroup]
+ Network.Google.Sheets: sdmrDataFilters :: Lens' SearchDeveloperMetadataRequest [DataFilter]
+ Network.Google.Sheets: sdmrMatchedDeveloperMetadata :: Lens' SearchDeveloperMetadataResponse [MatchedDeveloperMetadata]
+ Network.Google.Sheets: searchDeveloperMetadataRequest :: SearchDeveloperMetadataRequest
+ Network.Google.Sheets: searchDeveloperMetadataResponse :: SearchDeveloperMetadataResponse
+ Network.Google.Sheets: spIterativeCalculationSettings :: Lens' SpreadsheetProperties (Maybe IterativeCalculationSettings)
+ Network.Google.Sheets: sprDeveloperMetadata :: Lens' Spreadsheet [DeveloperMetadata]
+ Network.Google.Sheets: tccsMaxValueColor :: Lens' TreemapChartColorScale (Maybe Color)
+ Network.Google.Sheets: tccsMidValueColor :: Lens' TreemapChartColorScale (Maybe Color)
+ Network.Google.Sheets: tccsMinValueColor :: Lens' TreemapChartColorScale (Maybe Color)
+ Network.Google.Sheets: tccsNoDataColor :: Lens' TreemapChartColorScale (Maybe Color)
+ Network.Google.Sheets: tcsColorData :: Lens' TreemapChartSpec (Maybe ChartData)
+ Network.Google.Sheets: tcsColorScale :: Lens' TreemapChartSpec (Maybe TreemapChartColorScale)
+ Network.Google.Sheets: tcsHeaderColor :: Lens' TreemapChartSpec (Maybe Color)
+ Network.Google.Sheets: tcsHideTooltips :: Lens' TreemapChartSpec (Maybe Bool)
+ Network.Google.Sheets: tcsHintedLevels :: Lens' TreemapChartSpec (Maybe Int32)
+ Network.Google.Sheets: tcsLabels :: Lens' TreemapChartSpec (Maybe ChartData)
+ Network.Google.Sheets: tcsLevels :: Lens' TreemapChartSpec (Maybe Int32)
+ Network.Google.Sheets: tcsMaxValue :: Lens' TreemapChartSpec (Maybe Double)
+ Network.Google.Sheets: tcsMinValue :: Lens' TreemapChartSpec (Maybe Double)
+ Network.Google.Sheets: tcsParentLabels :: Lens' TreemapChartSpec (Maybe ChartData)
+ Network.Google.Sheets: tcsSizeData :: Lens' TreemapChartSpec (Maybe ChartData)
+ Network.Google.Sheets: tcsTextFormat :: Lens' TreemapChartSpec (Maybe TextFormat)
+ Network.Google.Sheets: textPosition :: TextPosition
+ Network.Google.Sheets: textRotation :: TextRotation
+ Network.Google.Sheets: tpHorizontalAlignment :: Lens' TextPosition (Maybe TextPositionHorizontalAlignment)
+ Network.Google.Sheets: trAngle :: Lens' TextRotation (Maybe Int32)
+ Network.Google.Sheets: trVertical :: Lens' TextRotation (Maybe Bool)
+ Network.Google.Sheets: treemapChartColorScale :: TreemapChartColorScale
+ Network.Google.Sheets: treemapChartSpec :: TreemapChartSpec
+ Network.Google.Sheets: uDeveloperMetadata :: Lens' UpdateDeveloperMetadataResponse [DeveloperMetadata]
+ Network.Google.Sheets: udgrDimensionGroup :: Lens' UpdateDimensionGroupRequest (Maybe DimensionGroup)
+ Network.Google.Sheets: udgrFields :: Lens' UpdateDimensionGroupRequest (Maybe GFieldMask)
+ Network.Google.Sheets: udmrDataFilters :: Lens' UpdateDeveloperMetadataRequest [DataFilter]
+ Network.Google.Sheets: udmrDeveloperMetadata :: Lens' UpdateDeveloperMetadataRequest (Maybe DeveloperMetadata)
+ Network.Google.Sheets: udmrFields :: Lens' UpdateDeveloperMetadataRequest (Maybe GFieldMask)
+ Network.Google.Sheets: updateDeveloperMetadataRequest :: UpdateDeveloperMetadataRequest
+ Network.Google.Sheets: updateDeveloperMetadataResponse :: UpdateDeveloperMetadataResponse
+ Network.Google.Sheets: updateDimensionGroupRequest :: UpdateDimensionGroupRequest
+ Network.Google.Sheets: updateValuesByDataFilterResponse :: UpdateValuesByDataFilterResponse
+ Network.Google.Sheets: uvbdfrDataFilter :: Lens' UpdateValuesByDataFilterResponse (Maybe DataFilter)
+ Network.Google.Sheets: uvbdfrUpdatedCells :: Lens' UpdateValuesByDataFilterResponse (Maybe Int32)
+ Network.Google.Sheets: uvbdfrUpdatedColumns :: Lens' UpdateValuesByDataFilterResponse (Maybe Int32)
+ Network.Google.Sheets: uvbdfrUpdatedData :: Lens' UpdateValuesByDataFilterResponse (Maybe ValueRange)
+ Network.Google.Sheets: uvbdfrUpdatedRange :: Lens' UpdateValuesByDataFilterResponse (Maybe Text)
+ Network.Google.Sheets: uvbdfrUpdatedRows :: Lens' UpdateValuesByDataFilterResponse (Maybe Int32)
+ Network.Google.Sheets: wColor :: Lens' WaterfallChartColumnStyle (Maybe Color)
+ Network.Google.Sheets: wLabel :: Lens' WaterfallChartColumnStyle (Maybe Text)
+ Network.Google.Sheets: waterfallChartColumnStyle :: WaterfallChartColumnStyle
+ Network.Google.Sheets: waterfallChartCustomSubtotal :: WaterfallChartCustomSubtotal
+ Network.Google.Sheets: waterfallChartDomain :: WaterfallChartDomain
+ Network.Google.Sheets: waterfallChartSeries :: WaterfallChartSeries
+ Network.Google.Sheets: waterfallChartSpec :: WaterfallChartSpec
+ Network.Google.Sheets: wccsDataIsSubtotal :: Lens' WaterfallChartCustomSubtotal (Maybe Bool)
+ Network.Google.Sheets: wccsLabel :: Lens' WaterfallChartCustomSubtotal (Maybe Text)
+ Network.Google.Sheets: wccsSubtotalIndex :: Lens' WaterfallChartCustomSubtotal (Maybe Int32)
+ Network.Google.Sheets: wcdData :: Lens' WaterfallChartDomain (Maybe ChartData)
+ Network.Google.Sheets: wcdReversed :: Lens' WaterfallChartDomain (Maybe Bool)
+ Network.Google.Sheets: wcsConnectorLineStyle :: Lens' WaterfallChartSpec (Maybe LineStyle)
+ Network.Google.Sheets: wcsCustomSubtotals :: Lens' WaterfallChartSeries [WaterfallChartCustomSubtotal]
+ Network.Google.Sheets: wcsData :: Lens' WaterfallChartSeries (Maybe ChartData)
+ Network.Google.Sheets: wcsDomain :: Lens' WaterfallChartSpec (Maybe WaterfallChartDomain)
+ Network.Google.Sheets: wcsFirstValueIsTotal :: Lens' WaterfallChartSpec (Maybe Bool)
+ Network.Google.Sheets: wcsHideConnectorLines :: Lens' WaterfallChartSpec (Maybe Bool)
+ Network.Google.Sheets: wcsHideTrailingSubtotal :: Lens' WaterfallChartSeries (Maybe Bool)
+ Network.Google.Sheets: wcsNegativeColumnsStyle :: Lens' WaterfallChartSeries (Maybe WaterfallChartColumnStyle)
+ Network.Google.Sheets: wcsPositiveColumnsStyle :: Lens' WaterfallChartSeries (Maybe WaterfallChartColumnStyle)
+ Network.Google.Sheets: wcsSeries :: Lens' WaterfallChartSpec [WaterfallChartSeries]
+ Network.Google.Sheets: wcsStackedType :: Lens' WaterfallChartSpec (Maybe WaterfallChartSpecStackedType)
+ Network.Google.Sheets: wcsSubtotalColumnsStyle :: Lens' WaterfallChartSeries (Maybe WaterfallChartColumnStyle)
+ Network.Google.Sheets.Types: BCSTSteppedArea :: BasicChartSeriesType
+ Network.Google.Sheets.Types: BGVBDFRDTROFormattedString :: BatchGetValuesByDataFilterRequestDateTimeRenderOption
+ Network.Google.Sheets.Types: BGVBDFRDTROSerialNumber :: BatchGetValuesByDataFilterRequestDateTimeRenderOption
+ Network.Google.Sheets.Types: BGVBDFRMDColumns :: BatchGetValuesByDataFilterRequestMajorDimension
+ Network.Google.Sheets.Types: BGVBDFRMDDimensionUnspecified :: BatchGetValuesByDataFilterRequestMajorDimension
+ Network.Google.Sheets.Types: BGVBDFRMDRows :: BatchGetValuesByDataFilterRequestMajorDimension
+ Network.Google.Sheets.Types: BUVBDFRRVROFormattedValue :: BatchUpdateValuesByDataFilterRequestResponseValueRenderOption
+ Network.Google.Sheets.Types: BUVBDFRRVROFormula :: BatchUpdateValuesByDataFilterRequestResponseValueRenderOption
+ Network.Google.Sheets.Types: BUVBDFRRVROUnformattedValue :: BatchUpdateValuesByDataFilterRequestResponseValueRenderOption
+ Network.Google.Sheets.Types: BUVBDFRVIOInputValueOptionUnspecified :: BatchUpdateValuesByDataFilterRequestValueInputOption
+ Network.Google.Sheets.Types: BUVBDFRVIORaw :: BatchUpdateValuesByDataFilterRequestValueInputOption
+ Network.Google.Sheets.Types: BUVBDFRVIOUserEntered :: BatchUpdateValuesByDataFilterRequestValueInputOption
+ Network.Google.Sheets.Types: BUVRRDTROFormattedString :: BatchUpdateValuesRequestResponseDateTimeRenderOption
+ Network.Google.Sheets.Types: BUVRRDTROSerialNumber :: BatchUpdateValuesRequestResponseDateTimeRenderOption
+ Network.Google.Sheets.Types: BUVRRVROFormattedValue :: BatchUpdateValuesRequestResponseValueRenderOption
+ Network.Google.Sheets.Types: BUVRRVROFormula :: BatchUpdateValuesRequestResponseValueRenderOption
+ Network.Google.Sheets.Types: BUVRRVROUnformattedValue :: BatchUpdateValuesRequestResponseValueRenderOption
+ Network.Google.Sheets.Types: BasicChartCompareModeUnspecified :: BasicChartSpecCompareMode
+ Network.Google.Sheets.Types: BasicChartStackedTypeUnspecified :: BasicChartSpecStackedType
+ Network.Google.Sheets.Types: Boolean :: BooleanConditionType
+ Network.Google.Sheets.Types: BubbleChartLegendPositionUnspecified :: BubbleChartSpecLegendPosition
+ Network.Google.Sheets.Types: CFHACenter :: CellFormatHorizontalAlignment
+ Network.Google.Sheets.Types: CFHAHorizontalAlignUnspecified :: CellFormatHorizontalAlignment
+ Network.Google.Sheets.Types: CFHALeft' :: CellFormatHorizontalAlignment
+ Network.Google.Sheets.Types: CFHARight' :: CellFormatHorizontalAlignment
+ Network.Google.Sheets.Types: Category :: BasicChartSpecCompareMode
+ Network.Google.Sheets.Types: DColumn :: DeveloperMetadataLookupLocationType
+ Network.Google.Sheets.Types: DDeveloperMetadataLocationTypeUnspecified :: DeveloperMetadataLookupLocationType
+ Network.Google.Sheets.Types: DFVRMDColumns :: DataFilterValueRangeMajorDimension
+ Network.Google.Sheets.Types: DFVRMDDimensionUnspecified :: DataFilterValueRangeMajorDimension
+ Network.Google.Sheets.Types: DFVRMDRows :: DataFilterValueRangeMajorDimension
+ Network.Google.Sheets.Types: DMLLTColumn :: DeveloperMetadataLocationLocationType
+ Network.Google.Sheets.Types: DMLLTDeveloperMetadataLocationTypeUnspecified :: DeveloperMetadataLocationLocationType
+ Network.Google.Sheets.Types: DMLLTRow :: DeveloperMetadataLocationLocationType
+ Network.Google.Sheets.Types: DMLLTSheet :: DeveloperMetadataLocationLocationType
+ Network.Google.Sheets.Types: DMLLTSpreadsheet :: DeveloperMetadataLocationLocationType
+ Network.Google.Sheets.Types: DMLVDeveloperMetadataVisibilityUnspecified :: DeveloperMetadataLookupVisibility
+ Network.Google.Sheets.Types: DMLVDocument :: DeveloperMetadataLookupVisibility
+ Network.Google.Sheets.Types: DMLVProject :: DeveloperMetadataLookupVisibility
+ Network.Google.Sheets.Types: DRow :: DeveloperMetadataLookupLocationType
+ Network.Google.Sheets.Types: DSheet :: DeveloperMetadataLookupLocationType
+ Network.Google.Sheets.Types: DSpreadsheet :: DeveloperMetadataLookupLocationType
+ Network.Google.Sheets.Types: DateTimeRuleTypeUnspecified :: DateTimeRuleType
+ Network.Google.Sheets.Types: Datum :: BasicChartSpecCompareMode
+ Network.Google.Sheets.Types: DayMonth :: DateTimeRuleType
+ Network.Google.Sheets.Types: DayOfMonth :: DateTimeRuleType
+ Network.Google.Sheets.Types: DayOfWeek :: DateTimeRuleType
+ Network.Google.Sheets.Types: DayOfYear :: DateTimeRuleType
+ Network.Google.Sheets.Types: DeveloperMetadataLocationMatchingStrategyUnspecified :: DeveloperMetadataLookupLocationMatchingStrategy
+ Network.Google.Sheets.Types: DeveloperMetadataVisibilityUnspecified :: DeveloperMetadataVisibility
+ Network.Google.Sheets.Types: Document :: DeveloperMetadataVisibility
+ Network.Google.Sheets.Types: ExactLocation :: DeveloperMetadataLookupLocationMatchingStrategy
+ Network.Google.Sheets.Types: HCSLPBottomLegend :: HistogramChartSpecLegendPosition
+ Network.Google.Sheets.Types: HCSLPHistogramChartLegendPositionUnspecified :: HistogramChartSpecLegendPosition
+ Network.Google.Sheets.Types: HCSLPInsideLegend :: HistogramChartSpecLegendPosition
+ Network.Google.Sheets.Types: HCSLPLeftLegend :: HistogramChartSpecLegendPosition
+ Network.Google.Sheets.Types: HCSLPNoLegend :: HistogramChartSpecLegendPosition
+ Network.Google.Sheets.Types: HCSLPRightLegend :: HistogramChartSpecLegendPosition
+ Network.Google.Sheets.Types: HCSLPTopLegend :: HistogramChartSpecLegendPosition
+ Network.Google.Sheets.Types: HourMinute :: DateTimeRuleType
+ Network.Google.Sheets.Types: HourMinuteAmpm :: DateTimeRuleType
+ Network.Google.Sheets.Types: InsideLegend :: BubbleChartSpecLegendPosition
+ Network.Google.Sheets.Types: IntersectingLocation :: DeveloperMetadataLookupLocationMatchingStrategy
+ Network.Google.Sheets.Types: LSTCustom :: LineStyleType
+ Network.Google.Sheets.Types: LSTDotted :: LineStyleType
+ Network.Google.Sheets.Types: LSTInvisible :: LineStyleType
+ Network.Google.Sheets.Types: LSTLineDashTypeUnspecified :: LineStyleType
+ Network.Google.Sheets.Types: LSTLongDashed :: LineStyleType
+ Network.Google.Sheets.Types: LSTLongDashedDotted :: LineStyleType
+ Network.Google.Sheets.Types: LSTMediumDashed :: LineStyleType
+ Network.Google.Sheets.Types: LSTMediumDashedDotted :: LineStyleType
+ Network.Google.Sheets.Types: LSTSolid :: LineStyleType
+ Network.Google.Sheets.Types: Large :: OrgChartSpecNodeSize
+ Network.Google.Sheets.Types: Medium :: OrgChartSpecNodeSize
+ Network.Google.Sheets.Types: Month :: DateTimeRuleType
+ Network.Google.Sheets.Types: NotStacked :: BasicChartSpecStackedType
+ Network.Google.Sheets.Types: OrgChartLabelSizeUnspecified :: OrgChartSpecNodeSize
+ Network.Google.Sheets.Types: PCSLPBottomLegend :: PieChartSpecLegendPosition
+ Network.Google.Sheets.Types: PCSLPLabeledLegend :: PieChartSpecLegendPosition
+ Network.Google.Sheets.Types: PCSLPLeftLegend :: PieChartSpecLegendPosition
+ Network.Google.Sheets.Types: PCSLPNoLegend :: PieChartSpecLegendPosition
+ Network.Google.Sheets.Types: PCSLPPieChartLegendPositionUnspecified :: PieChartSpecLegendPosition
+ Network.Google.Sheets.Types: PCSLPRightLegend :: PieChartSpecLegendPosition
+ Network.Google.Sheets.Types: PCSLPTopLegend :: PieChartSpecLegendPosition
+ Network.Google.Sheets.Types: PercentOfColumnTotal :: PivotValueCalculatedDisplayType
+ Network.Google.Sheets.Types: PercentOfGrandTotal :: PivotValueCalculatedDisplayType
+ Network.Google.Sheets.Types: PercentOfRowTotal :: PivotValueCalculatedDisplayType
+ Network.Google.Sheets.Types: PercentStacked :: BasicChartSpecStackedType
+ Network.Google.Sheets.Types: PivotValueCalculatedDisplayTypeUnspecified :: PivotValueCalculatedDisplayType
+ Network.Google.Sheets.Types: Project :: DeveloperMetadataVisibility
+ Network.Google.Sheets.Types: Quarter :: DateTimeRuleType
+ Network.Google.Sheets.Types: SPARHour :: SpreadsheetPropertiesAutoRecalc
+ Network.Google.Sheets.Types: SPARMinute :: SpreadsheetPropertiesAutoRecalc
+ Network.Google.Sheets.Types: SPAROnChange :: SpreadsheetPropertiesAutoRecalc
+ Network.Google.Sheets.Types: SPARRecalculationIntervalUnspecified :: SpreadsheetPropertiesAutoRecalc
+ Network.Google.Sheets.Types: Second :: DateTimeRuleType
+ Network.Google.Sheets.Types: Small :: OrgChartSpecNodeSize
+ Network.Google.Sheets.Types: Stacked :: BasicChartSpecStackedType
+ Network.Google.Sheets.Types: SteppedArea :: BasicChartSpecChartType
+ Network.Google.Sheets.Types: TTCRDTAutodetect :: TextToColumnsRequestDelimiterType
+ Network.Google.Sheets.Types: WCSSTSequential :: WaterfallChartSpecStackedType
+ Network.Google.Sheets.Types: WCSSTStacked :: WaterfallChartSpecStackedType
+ Network.Google.Sheets.Types: WCSSTWaterfallStackedTypeUnspecified :: WaterfallChartSpecStackedType
+ Network.Google.Sheets.Types: Year :: DateTimeRuleType
+ Network.Google.Sheets.Types: YearMonth :: DateTimeRuleType
+ Network.Google.Sheets.Types: YearMonthDay :: DateTimeRuleType
+ Network.Google.Sheets.Types: YearQuarter :: DateTimeRuleType
+ Network.Google.Sheets.Types: addDimensionGroupRequest :: AddDimensionGroupRequest
+ Network.Google.Sheets.Types: addDimensionGroupResponse :: AddDimensionGroupResponse
+ Network.Google.Sheets.Types: adgrDimensionGroups :: Lens' AddDimensionGroupResponse [DimensionGroup]
+ Network.Google.Sheets.Types: adgrRange :: Lens' AddDimensionGroupRequest (Maybe DimensionRange)
+ Network.Google.Sheets.Types: bColor :: Lens' BasicChartSeries (Maybe Color)
+ Network.Google.Sheets.Types: bLineStyle :: Lens' BasicChartSeries (Maybe LineStyle)
+ Network.Google.Sheets.Types: bTargetAxis :: Lens' BasicChartSeries (Maybe BasicChartSeriesTargetAxis)
+ Network.Google.Sheets.Types: bType :: Lens' BasicChartSeries (Maybe BasicChartSeriesType)
+ Network.Google.Sheets.Types: basAxis :: Lens' BasicChartSpec [BasicChartAxis]
+ Network.Google.Sheets.Types: basChartType :: Lens' BasicChartSpec (Maybe BasicChartSpecChartType)
+ Network.Google.Sheets.Types: basCompareMode :: Lens' BasicChartSpec (Maybe BasicChartSpecCompareMode)
+ Network.Google.Sheets.Types: basDomains :: Lens' BasicChartSpec [BasicChartDomain]
+ Network.Google.Sheets.Types: basHeaderCount :: Lens' BasicChartSpec (Maybe Int32)
+ Network.Google.Sheets.Types: basInterpolateNulls :: Lens' BasicChartSpec (Maybe Bool)
+ Network.Google.Sheets.Types: basLegendPosition :: Lens' BasicChartSpec (Maybe BasicChartSpecLegendPosition)
+ Network.Google.Sheets.Types: basLineSmoothing :: Lens' BasicChartSpec (Maybe Bool)
+ Network.Google.Sheets.Types: basSeries :: Lens' BasicChartSpec [BasicChartSeries]
+ Network.Google.Sheets.Types: basStackedType :: Lens' BasicChartSpec (Maybe BasicChartSpecStackedType)
+ Network.Google.Sheets.Types: basThreeDimensional :: Lens' BasicChartSpec (Maybe Bool)
+ Network.Google.Sheets.Types: batchClearValuesByDataFilterRequest :: BatchClearValuesByDataFilterRequest
+ Network.Google.Sheets.Types: batchClearValuesByDataFilterResponse :: BatchClearValuesByDataFilterResponse
+ Network.Google.Sheets.Types: batchGetValuesByDataFilterRequest :: BatchGetValuesByDataFilterRequest
+ Network.Google.Sheets.Types: batchGetValuesByDataFilterResponse :: BatchGetValuesByDataFilterResponse
+ Network.Google.Sheets.Types: batchUpdateValuesByDataFilterRequest :: BatchUpdateValuesByDataFilterRequest
+ Network.Google.Sheets.Types: batchUpdateValuesByDataFilterResponse :: BatchUpdateValuesByDataFilterResponse
+ Network.Google.Sheets.Types: bcaTitleTextPosition :: Lens' BasicChartAxis (Maybe TextPosition)
+ Network.Google.Sheets.Types: bcdReversed :: Lens' BasicChartDomain (Maybe Bool)
+ Network.Google.Sheets.Types: bcsBubbleBOrderColor :: Lens' BubbleChartSpec (Maybe Color)
+ Network.Google.Sheets.Types: bcsBubbleLabels :: Lens' BubbleChartSpec (Maybe ChartData)
+ Network.Google.Sheets.Types: bcsBubbleMaxRadiusSize :: Lens' BubbleChartSpec (Maybe Int32)
+ Network.Google.Sheets.Types: bcsBubbleMinRadiusSize :: Lens' BubbleChartSpec (Maybe Int32)
+ Network.Google.Sheets.Types: bcsBubbleOpacity :: Lens' BubbleChartSpec (Maybe Double)
+ Network.Google.Sheets.Types: bcsBubbleSizes :: Lens' BubbleChartSpec (Maybe ChartData)
+ Network.Google.Sheets.Types: bcsBubbleTextStyle :: Lens' BubbleChartSpec (Maybe TextFormat)
+ Network.Google.Sheets.Types: bcsDomain :: Lens' BubbleChartSpec (Maybe ChartData)
+ Network.Google.Sheets.Types: bcsGroupIds :: Lens' BubbleChartSpec (Maybe ChartData)
+ Network.Google.Sheets.Types: bcsLegendPosition :: Lens' BubbleChartSpec (Maybe BubbleChartSpecLegendPosition)
+ Network.Google.Sheets.Types: bcvbdfrClearedRanges :: Lens' BatchClearValuesByDataFilterResponse [Text]
+ Network.Google.Sheets.Types: bcvbdfrDataFilters :: Lens' BatchClearValuesByDataFilterRequest [DataFilter]
+ Network.Google.Sheets.Types: bcvbdfrSpreadsheetId :: Lens' BatchClearValuesByDataFilterResponse (Maybe Text)
+ Network.Google.Sheets.Types: bgvbdfrDataFilters :: Lens' BatchGetValuesByDataFilterRequest [DataFilter]
+ Network.Google.Sheets.Types: bgvbdfrDateTimeRenderOption :: Lens' BatchGetValuesByDataFilterRequest (Maybe BatchGetValuesByDataFilterRequestDateTimeRenderOption)
+ Network.Google.Sheets.Types: bgvbdfrMajorDimension :: Lens' BatchGetValuesByDataFilterRequest (Maybe BatchGetValuesByDataFilterRequestMajorDimension)
+ Network.Google.Sheets.Types: bgvbdfrSpreadsheetId :: Lens' BatchGetValuesByDataFilterResponse (Maybe Text)
+ Network.Google.Sheets.Types: bgvbdfrValueRanges :: Lens' BatchGetValuesByDataFilterResponse [MatchedValueRange]
+ Network.Google.Sheets.Types: bgvbdfrValueRenderOption :: Lens' BatchGetValuesByDataFilterRequest (Maybe BatchGetValuesByDataFilterRequestValueRenderOption)
+ Network.Google.Sheets.Types: bubbleChartSpec :: BubbleChartSpec
+ Network.Google.Sheets.Types: buvbdfrData :: Lens' BatchUpdateValuesByDataFilterRequest [DataFilterValueRange]
+ Network.Google.Sheets.Types: buvbdfrIncludeValuesInResponse :: Lens' BatchUpdateValuesByDataFilterRequest (Maybe Bool)
+ Network.Google.Sheets.Types: buvbdfrResponseDateTimeRenderOption :: Lens' BatchUpdateValuesByDataFilterRequest (Maybe BatchUpdateValuesByDataFilterRequestResponseDateTimeRenderOption)
+ Network.Google.Sheets.Types: buvbdfrResponseValueRenderOption :: Lens' BatchUpdateValuesByDataFilterRequest (Maybe BatchUpdateValuesByDataFilterRequestResponseValueRenderOption)
+ Network.Google.Sheets.Types: buvbdfrResponses :: Lens' BatchUpdateValuesByDataFilterResponse [UpdateValuesByDataFilterResponse]
+ Network.Google.Sheets.Types: buvbdfrSpreadsheetId :: Lens' BatchUpdateValuesByDataFilterResponse (Maybe Text)
+ Network.Google.Sheets.Types: buvbdfrTotalUpdatedCells :: Lens' BatchUpdateValuesByDataFilterResponse (Maybe Int32)
+ Network.Google.Sheets.Types: buvbdfrTotalUpdatedColumns :: Lens' BatchUpdateValuesByDataFilterResponse (Maybe Int32)
+ Network.Google.Sheets.Types: buvbdfrTotalUpdatedRows :: Lens' BatchUpdateValuesByDataFilterResponse (Maybe Int32)
+ Network.Google.Sheets.Types: buvbdfrTotalUpdatedSheets :: Lens' BatchUpdateValuesByDataFilterResponse (Maybe Int32)
+ Network.Google.Sheets.Types: buvbdfrValueInputOption :: Lens' BatchUpdateValuesByDataFilterRequest (Maybe BatchUpdateValuesByDataFilterRequestValueInputOption)
+ Network.Google.Sheets.Types: cDeveloperMetadata :: Lens' CreateDeveloperMetadataRequest (Maybe DeveloperMetadata)
+ Network.Google.Sheets.Types: candlestickChartSpec :: CandlestickChartSpec
+ Network.Google.Sheets.Types: candlestickData :: CandlestickData
+ Network.Google.Sheets.Types: candlestickDomain :: CandlestickDomain
+ Network.Google.Sheets.Types: candlestickSeries :: CandlestickSeries
+ Network.Google.Sheets.Types: ccsData :: Lens' CandlestickChartSpec [CandlestickData]
+ Network.Google.Sheets.Types: ccsDomain :: Lens' CandlestickChartSpec (Maybe CandlestickDomain)
+ Network.Google.Sheets.Types: cdCloseSeries :: Lens' CandlestickData (Maybe CandlestickSeries)
+ Network.Google.Sheets.Types: cdData :: Lens' CandlestickDomain (Maybe ChartData)
+ Network.Google.Sheets.Types: cdHighSeries :: Lens' CandlestickData (Maybe CandlestickSeries)
+ Network.Google.Sheets.Types: cdLowSeries :: Lens' CandlestickData (Maybe CandlestickSeries)
+ Network.Google.Sheets.Types: cdOpenSeries :: Lens' CandlestickData (Maybe CandlestickSeries)
+ Network.Google.Sheets.Types: cdReversed :: Lens' CandlestickDomain (Maybe Bool)
+ Network.Google.Sheets.Types: cdmrDeveloperMetadata :: Lens' CreateDeveloperMetadataResponse (Maybe DeveloperMetadata)
+ Network.Google.Sheets.Types: cfTextRotation :: Lens' CellFormat (Maybe TextRotation)
+ Network.Google.Sheets.Types: createDeveloperMetadataRequest :: CreateDeveloperMetadataRequest
+ Network.Google.Sheets.Types: createDeveloperMetadataResponse :: CreateDeveloperMetadataResponse
+ Network.Google.Sheets.Types: csAltText :: Lens' ChartSpec (Maybe Text)
+ Network.Google.Sheets.Types: csBackgRoundColor :: Lens' ChartSpec (Maybe Color)
+ Network.Google.Sheets.Types: csBubbleChart :: Lens' ChartSpec (Maybe BubbleChartSpec)
+ Network.Google.Sheets.Types: csCandlestickChart :: Lens' ChartSpec (Maybe CandlestickChartSpec)
+ Network.Google.Sheets.Types: csData :: Lens' CandlestickSeries (Maybe ChartData)
+ Network.Google.Sheets.Types: csFontName :: Lens' ChartSpec (Maybe Text)
+ Network.Google.Sheets.Types: csHistogramChart :: Lens' ChartSpec (Maybe HistogramChartSpec)
+ Network.Google.Sheets.Types: csMaximized :: Lens' ChartSpec (Maybe Bool)
+ Network.Google.Sheets.Types: csOrgChart :: Lens' ChartSpec (Maybe OrgChartSpec)
+ Network.Google.Sheets.Types: csSubtitle :: Lens' ChartSpec (Maybe Text)
+ Network.Google.Sheets.Types: csSubtitleTextFormat :: Lens' ChartSpec (Maybe TextFormat)
+ Network.Google.Sheets.Types: csSubtitleTextPosition :: Lens' ChartSpec (Maybe TextPosition)
+ Network.Google.Sheets.Types: csTitleTextFormat :: Lens' ChartSpec (Maybe TextFormat)
+ Network.Google.Sheets.Types: csTitleTextPosition :: Lens' ChartSpec (Maybe TextPosition)
+ Network.Google.Sheets.Types: csTreemapChart :: Lens' ChartSpec (Maybe TreemapChartSpec)
+ Network.Google.Sheets.Types: csWaterfallChart :: Lens' ChartSpec (Maybe WaterfallChartSpec)
+ Network.Google.Sheets.Types: dLocationMatchingStrategy :: Lens' DeveloperMetadataLookup (Maybe DeveloperMetadataLookupLocationMatchingStrategy)
+ Network.Google.Sheets.Types: dLocationType :: Lens' DeveloperMetadataLookup (Maybe DeveloperMetadataLookupLocationType)
+ Network.Google.Sheets.Types: dMetadataId :: Lens' DeveloperMetadataLookup (Maybe Int32)
+ Network.Google.Sheets.Types: dMetadataKey :: Lens' DeveloperMetadataLookup (Maybe Text)
+ Network.Google.Sheets.Types: dMetadataLocation :: Lens' DeveloperMetadataLookup (Maybe DeveloperMetadataLocation)
+ Network.Google.Sheets.Types: dMetadataValue :: Lens' DeveloperMetadataLookup (Maybe Text)
+ Network.Google.Sheets.Types: dVisibility :: Lens' DeveloperMetadataLookup (Maybe DeveloperMetadataLookupVisibility)
+ Network.Google.Sheets.Types: data AddDimensionGroupRequest
+ Network.Google.Sheets.Types: data AddDimensionGroupResponse
+ Network.Google.Sheets.Types: data BasicChartSpecCompareMode
+ Network.Google.Sheets.Types: data BasicChartSpecStackedType
+ Network.Google.Sheets.Types: data BatchClearValuesByDataFilterRequest
+ Network.Google.Sheets.Types: data BatchClearValuesByDataFilterResponse
+ Network.Google.Sheets.Types: data BatchGetValuesByDataFilterRequest
+ Network.Google.Sheets.Types: data BatchGetValuesByDataFilterRequestDateTimeRenderOption
+ Network.Google.Sheets.Types: data BatchGetValuesByDataFilterRequestMajorDimension
+ Network.Google.Sheets.Types: data BatchGetValuesByDataFilterRequestValueRenderOption
+ Network.Google.Sheets.Types: data BatchGetValuesByDataFilterResponse
+ Network.Google.Sheets.Types: data BatchUpdateValuesByDataFilterRequest
+ Network.Google.Sheets.Types: data BatchUpdateValuesByDataFilterRequestResponseDateTimeRenderOption
+ Network.Google.Sheets.Types: data BatchUpdateValuesByDataFilterRequestResponseValueRenderOption
+ Network.Google.Sheets.Types: data BatchUpdateValuesByDataFilterRequestValueInputOption
+ Network.Google.Sheets.Types: data BatchUpdateValuesByDataFilterResponse
+ Network.Google.Sheets.Types: data BubbleChartSpec
+ Network.Google.Sheets.Types: data BubbleChartSpecLegendPosition
+ Network.Google.Sheets.Types: data CandlestickChartSpec
+ Network.Google.Sheets.Types: data CandlestickData
+ Network.Google.Sheets.Types: data CandlestickDomain
+ Network.Google.Sheets.Types: data CandlestickSeries
+ Network.Google.Sheets.Types: data CreateDeveloperMetadataRequest
+ Network.Google.Sheets.Types: data CreateDeveloperMetadataResponse
+ Network.Google.Sheets.Types: data DataFilter
+ Network.Google.Sheets.Types: data DataFilterValueRange
+ Network.Google.Sheets.Types: data DataFilterValueRangeMajorDimension
+ Network.Google.Sheets.Types: data DateTimeRule
+ Network.Google.Sheets.Types: data DateTimeRuleType
+ Network.Google.Sheets.Types: data DeleteDeveloperMetadataRequest
+ Network.Google.Sheets.Types: data DeleteDeveloperMetadataResponse
+ Network.Google.Sheets.Types: data DeleteDimensionGroupRequest
+ Network.Google.Sheets.Types: data DeleteDimensionGroupResponse
+ Network.Google.Sheets.Types: data DeveloperMetadata
+ Network.Google.Sheets.Types: data DeveloperMetadataLocation
+ Network.Google.Sheets.Types: data DeveloperMetadataLocationLocationType
+ Network.Google.Sheets.Types: data DeveloperMetadataLookup
+ Network.Google.Sheets.Types: data DeveloperMetadataLookupLocationMatchingStrategy
+ Network.Google.Sheets.Types: data DeveloperMetadataLookupLocationType
+ Network.Google.Sheets.Types: data DeveloperMetadataLookupVisibility
+ Network.Google.Sheets.Types: data DeveloperMetadataVisibility
+ Network.Google.Sheets.Types: data DimensionGroup
+ Network.Google.Sheets.Types: data GetSpreadsheetByDataFilterRequest
+ Network.Google.Sheets.Types: data HistogramChartSpec
+ Network.Google.Sheets.Types: data HistogramChartSpecLegendPosition
+ Network.Google.Sheets.Types: data HistogramRule
+ Network.Google.Sheets.Types: data HistogramSeries
+ Network.Google.Sheets.Types: data IterativeCalculationSettings
+ Network.Google.Sheets.Types: data LineStyle
+ Network.Google.Sheets.Types: data LineStyleType
+ Network.Google.Sheets.Types: data ManualRule
+ Network.Google.Sheets.Types: data ManualRuleGroup
+ Network.Google.Sheets.Types: data MatchedDeveloperMetadata
+ Network.Google.Sheets.Types: data MatchedValueRange
+ Network.Google.Sheets.Types: data OrgChartSpec
+ Network.Google.Sheets.Types: data OrgChartSpecNodeSize
+ Network.Google.Sheets.Types: data PivotGroupRule
+ Network.Google.Sheets.Types: data PivotValueCalculatedDisplayType
+ Network.Google.Sheets.Types: data RandomizeRangeRequest
+ Network.Google.Sheets.Types: data SearchDeveloperMetadataRequest
+ Network.Google.Sheets.Types: data SearchDeveloperMetadataResponse
+ Network.Google.Sheets.Types: data TextPosition
+ Network.Google.Sheets.Types: data TextPositionHorizontalAlignment
+ Network.Google.Sheets.Types: data TextRotation
+ Network.Google.Sheets.Types: data TreemapChartColorScale
+ Network.Google.Sheets.Types: data TreemapChartSpec
+ Network.Google.Sheets.Types: data UpdateDeveloperMetadataRequest
+ Network.Google.Sheets.Types: data UpdateDeveloperMetadataResponse
+ Network.Google.Sheets.Types: data UpdateDimensionGroupRequest
+ Network.Google.Sheets.Types: data UpdateValuesByDataFilterResponse
+ Network.Google.Sheets.Types: data WaterfallChartColumnStyle
+ Network.Google.Sheets.Types: data WaterfallChartCustomSubtotal
+ Network.Google.Sheets.Types: data WaterfallChartDomain
+ Network.Google.Sheets.Types: data WaterfallChartSeries
+ Network.Google.Sheets.Types: data WaterfallChartSpec
+ Network.Google.Sheets.Types: data WaterfallChartSpecStackedType
+ Network.Google.Sheets.Types: dataFilter :: DataFilter
+ Network.Google.Sheets.Types: dataFilterValueRange :: DataFilterValueRange
+ Network.Google.Sheets.Types: dateTimeRule :: DateTimeRule
+ Network.Google.Sheets.Types: ddgrDimensionGroups :: Lens' DeleteDimensionGroupResponse [DimensionGroup]
+ Network.Google.Sheets.Types: ddgrRange :: Lens' DeleteDimensionGroupRequest (Maybe DimensionRange)
+ Network.Google.Sheets.Types: ddmrDataFilter :: Lens' DeleteDeveloperMetadataRequest (Maybe DataFilter)
+ Network.Google.Sheets.Types: ddmrDeletedDeveloperMetadata :: Lens' DeleteDeveloperMetadataResponse [DeveloperMetadata]
+ Network.Google.Sheets.Types: deleteDeveloperMetadataRequest :: DeleteDeveloperMetadataRequest
+ Network.Google.Sheets.Types: deleteDeveloperMetadataResponse :: DeleteDeveloperMetadataResponse
+ Network.Google.Sheets.Types: deleteDimensionGroupRequest :: DeleteDimensionGroupRequest
+ Network.Google.Sheets.Types: deleteDimensionGroupResponse :: DeleteDimensionGroupResponse
+ Network.Google.Sheets.Types: developerMetadata :: DeveloperMetadata
+ Network.Google.Sheets.Types: developerMetadataLocation :: DeveloperMetadataLocation
+ Network.Google.Sheets.Types: developerMetadataLookup :: DeveloperMetadataLookup
+ Network.Google.Sheets.Types: dfA1Range :: Lens' DataFilter (Maybe Text)
+ Network.Google.Sheets.Types: dfDeveloperMetadataLookup :: Lens' DataFilter (Maybe DeveloperMetadataLookup)
+ Network.Google.Sheets.Types: dfGridRange :: Lens' DataFilter (Maybe GridRange)
+ Network.Google.Sheets.Types: dfvrDataFilter :: Lens' DataFilterValueRange (Maybe DataFilter)
+ Network.Google.Sheets.Types: dfvrMajorDimension :: Lens' DataFilterValueRange (Maybe DataFilterValueRangeMajorDimension)
+ Network.Google.Sheets.Types: dfvrValues :: Lens' DataFilterValueRange [[JSONValue]]
+ Network.Google.Sheets.Types: dgCollapsed :: Lens' DimensionGroup (Maybe Bool)
+ Network.Google.Sheets.Types: dgDepth :: Lens' DimensionGroup (Maybe Int32)
+ Network.Google.Sheets.Types: dgRange :: Lens' DimensionGroup (Maybe DimensionRange)
+ Network.Google.Sheets.Types: dimensionGroup :: DimensionGroup
+ Network.Google.Sheets.Types: dmLocation :: Lens' DeveloperMetadata (Maybe DeveloperMetadataLocation)
+ Network.Google.Sheets.Types: dmMetadataId :: Lens' DeveloperMetadata (Maybe Int32)
+ Network.Google.Sheets.Types: dmMetadataKey :: Lens' DeveloperMetadata (Maybe Text)
+ Network.Google.Sheets.Types: dmMetadataValue :: Lens' DeveloperMetadata (Maybe Text)
+ Network.Google.Sheets.Types: dmVisibility :: Lens' DeveloperMetadata (Maybe DeveloperMetadataVisibility)
+ Network.Google.Sheets.Types: dmlDimensionRange :: Lens' DeveloperMetadataLocation (Maybe DimensionRange)
+ Network.Google.Sheets.Types: dmlLocationType :: Lens' DeveloperMetadataLocation (Maybe DeveloperMetadataLocationLocationType)
+ Network.Google.Sheets.Types: dmlSheetId :: Lens' DeveloperMetadataLocation (Maybe Int32)
+ Network.Google.Sheets.Types: dmlSpreadsheet :: Lens' DeveloperMetadataLocation (Maybe Bool)
+ Network.Google.Sheets.Types: dpDeveloperMetadata :: Lens' DimensionProperties [DeveloperMetadata]
+ Network.Google.Sheets.Types: driveFileScope :: Proxy '["https://www.googleapis.com/auth/drive.file"]
+ Network.Google.Sheets.Types: dtrType :: Lens' DateTimeRule (Maybe DateTimeRuleType)
+ Network.Google.Sheets.Types: getSpreadsheetByDataFilterRequest :: GetSpreadsheetByDataFilterRequest
+ Network.Google.Sheets.Types: gpColumnGroupControlAfter :: Lens' GridProperties (Maybe Bool)
+ Network.Google.Sheets.Types: gpRowGroupControlAfter :: Lens' GridProperties (Maybe Bool)
+ Network.Google.Sheets.Types: gsbdfrDataFilters :: Lens' GetSpreadsheetByDataFilterRequest [DataFilter]
+ Network.Google.Sheets.Types: gsbdfrIncludeGridData :: Lens' GetSpreadsheetByDataFilterRequest (Maybe Bool)
+ Network.Google.Sheets.Types: hcsBucketSize :: Lens' HistogramChartSpec (Maybe Double)
+ Network.Google.Sheets.Types: hcsLegendPosition :: Lens' HistogramChartSpec (Maybe HistogramChartSpecLegendPosition)
+ Network.Google.Sheets.Types: hcsOutlierPercentile :: Lens' HistogramChartSpec (Maybe Double)
+ Network.Google.Sheets.Types: hcsSeries :: Lens' HistogramChartSpec [HistogramSeries]
+ Network.Google.Sheets.Types: hcsShowItemDividers :: Lens' HistogramChartSpec (Maybe Bool)
+ Network.Google.Sheets.Types: histogramChartSpec :: HistogramChartSpec
+ Network.Google.Sheets.Types: histogramRule :: HistogramRule
+ Network.Google.Sheets.Types: histogramSeries :: HistogramSeries
+ Network.Google.Sheets.Types: hrEnd :: Lens' HistogramRule (Maybe Double)
+ Network.Google.Sheets.Types: hrInterval :: Lens' HistogramRule (Maybe Double)
+ Network.Google.Sheets.Types: hrStart :: Lens' HistogramRule (Maybe Double)
+ Network.Google.Sheets.Types: hsBarColor :: Lens' HistogramSeries (Maybe Color)
+ Network.Google.Sheets.Types: hsData :: Lens' HistogramSeries (Maybe ChartData)
+ Network.Google.Sheets.Types: icsConvergenceThreshold :: Lens' IterativeCalculationSettings (Maybe Double)
+ Network.Google.Sheets.Types: icsMaxIterations :: Lens' IterativeCalculationSettings (Maybe Int32)
+ Network.Google.Sheets.Types: iterativeCalculationSettings :: IterativeCalculationSettings
+ Network.Google.Sheets.Types: lineStyle :: LineStyle
+ Network.Google.Sheets.Types: lsType :: Lens' LineStyle (Maybe LineStyleType)
+ Network.Google.Sheets.Types: lsWidth :: Lens' LineStyle (Maybe Int32)
+ Network.Google.Sheets.Types: manualRule :: ManualRule
+ Network.Google.Sheets.Types: manualRuleGroup :: ManualRuleGroup
+ Network.Google.Sheets.Types: matchedDeveloperMetadata :: MatchedDeveloperMetadata
+ Network.Google.Sheets.Types: matchedValueRange :: MatchedValueRange
+ Network.Google.Sheets.Types: mdmDataFilters :: Lens' MatchedDeveloperMetadata [DataFilter]
+ Network.Google.Sheets.Types: mdmDeveloperMetadata :: Lens' MatchedDeveloperMetadata (Maybe DeveloperMetadata)
+ Network.Google.Sheets.Types: mrGroups :: Lens' ManualRule [ManualRuleGroup]
+ Network.Google.Sheets.Types: mrgGroupName :: Lens' ManualRuleGroup (Maybe ExtendedValue)
+ Network.Google.Sheets.Types: mrgItems :: Lens' ManualRuleGroup [ExtendedValue]
+ Network.Google.Sheets.Types: mvrDataFilters :: Lens' MatchedValueRange [DataFilter]
+ Network.Google.Sheets.Types: mvrValueRange :: Lens' MatchedValueRange (Maybe ValueRange)
+ Network.Google.Sheets.Types: ocsLabels :: Lens' OrgChartSpec (Maybe ChartData)
+ Network.Google.Sheets.Types: ocsNodeColor :: Lens' OrgChartSpec (Maybe Color)
+ Network.Google.Sheets.Types: ocsNodeSize :: Lens' OrgChartSpec (Maybe OrgChartSpecNodeSize)
+ Network.Google.Sheets.Types: ocsParentLabels :: Lens' OrgChartSpec (Maybe ChartData)
+ Network.Google.Sheets.Types: ocsSelectedNodeColor :: Lens' OrgChartSpec (Maybe Color)
+ Network.Google.Sheets.Types: ocsTooltips :: Lens' OrgChartSpec (Maybe ChartData)
+ Network.Google.Sheets.Types: orgChartSpec :: OrgChartSpec
+ Network.Google.Sheets.Types: pgGroupRule :: Lens' PivotGroup (Maybe PivotGroupRule)
+ Network.Google.Sheets.Types: pgLabel :: Lens' PivotGroup (Maybe Text)
+ Network.Google.Sheets.Types: pgRepeatHeadings :: Lens' PivotGroup (Maybe Bool)
+ Network.Google.Sheets.Types: pgrDateTimeRule :: Lens' PivotGroupRule (Maybe DateTimeRule)
+ Network.Google.Sheets.Types: pgrHistogramRule :: Lens' PivotGroupRule (Maybe HistogramRule)
+ Network.Google.Sheets.Types: pgrManualRule :: Lens' PivotGroupRule (Maybe ManualRule)
+ Network.Google.Sheets.Types: pivotGroupRule :: PivotGroupRule
+ Network.Google.Sheets.Types: pvCalculatedDisplayType :: Lens' PivotValue (Maybe PivotValueCalculatedDisplayType)
+ Network.Google.Sheets.Types: rAddDimensionGroup :: Lens' Response (Maybe AddDimensionGroupResponse)
+ Network.Google.Sheets.Types: rCreateDeveloperMetadata :: Lens' Response (Maybe CreateDeveloperMetadataResponse)
+ Network.Google.Sheets.Types: rDeleteDeveloperMetadata :: Lens' Response (Maybe DeleteDeveloperMetadataResponse)
+ Network.Google.Sheets.Types: rDeleteDimensionGroup :: Lens' Response (Maybe DeleteDimensionGroupResponse)
+ Network.Google.Sheets.Types: rUpdateDeveloperMetadata :: Lens' Response (Maybe UpdateDeveloperMetadataResponse)
+ Network.Google.Sheets.Types: randomizeRangeRequest :: RandomizeRangeRequest
+ Network.Google.Sheets.Types: reqAddDimensionGroup :: Lens' Request' (Maybe AddDimensionGroupRequest)
+ Network.Google.Sheets.Types: reqCreateDeveloperMetadata :: Lens' Request' (Maybe CreateDeveloperMetadataRequest)
+ Network.Google.Sheets.Types: reqDeleteDeveloperMetadata :: Lens' Request' (Maybe DeleteDeveloperMetadataRequest)
+ Network.Google.Sheets.Types: reqDeleteDimensionGroup :: Lens' Request' (Maybe DeleteDimensionGroupRequest)
+ Network.Google.Sheets.Types: reqRandomizeRange :: Lens' Request' (Maybe RandomizeRangeRequest)
+ Network.Google.Sheets.Types: reqUpdateDeveloperMetadata :: Lens' Request' (Maybe UpdateDeveloperMetadataRequest)
+ Network.Google.Sheets.Types: reqUpdateDimensionGroup :: Lens' Request' (Maybe UpdateDimensionGroupRequest)
+ Network.Google.Sheets.Types: rrrRange :: Lens' RandomizeRangeRequest (Maybe GridRange)
+ Network.Google.Sheets.Types: sColumnGroups :: Lens' Sheet [DimensionGroup]
+ Network.Google.Sheets.Types: sDeveloperMetadata :: Lens' Sheet [DeveloperMetadata]
+ Network.Google.Sheets.Types: sRowGroups :: Lens' Sheet [DimensionGroup]
+ Network.Google.Sheets.Types: sdmrDataFilters :: Lens' SearchDeveloperMetadataRequest [DataFilter]
+ Network.Google.Sheets.Types: sdmrMatchedDeveloperMetadata :: Lens' SearchDeveloperMetadataResponse [MatchedDeveloperMetadata]
+ Network.Google.Sheets.Types: searchDeveloperMetadataRequest :: SearchDeveloperMetadataRequest
+ Network.Google.Sheets.Types: searchDeveloperMetadataResponse :: SearchDeveloperMetadataResponse
+ Network.Google.Sheets.Types: spIterativeCalculationSettings :: Lens' SpreadsheetProperties (Maybe IterativeCalculationSettings)
+ Network.Google.Sheets.Types: sprDeveloperMetadata :: Lens' Spreadsheet [DeveloperMetadata]
+ Network.Google.Sheets.Types: tccsMaxValueColor :: Lens' TreemapChartColorScale (Maybe Color)
+ Network.Google.Sheets.Types: tccsMidValueColor :: Lens' TreemapChartColorScale (Maybe Color)
+ Network.Google.Sheets.Types: tccsMinValueColor :: Lens' TreemapChartColorScale (Maybe Color)
+ Network.Google.Sheets.Types: tccsNoDataColor :: Lens' TreemapChartColorScale (Maybe Color)
+ Network.Google.Sheets.Types: tcsColorData :: Lens' TreemapChartSpec (Maybe ChartData)
+ Network.Google.Sheets.Types: tcsColorScale :: Lens' TreemapChartSpec (Maybe TreemapChartColorScale)
+ Network.Google.Sheets.Types: tcsHeaderColor :: Lens' TreemapChartSpec (Maybe Color)
+ Network.Google.Sheets.Types: tcsHideTooltips :: Lens' TreemapChartSpec (Maybe Bool)
+ Network.Google.Sheets.Types: tcsHintedLevels :: Lens' TreemapChartSpec (Maybe Int32)
+ Network.Google.Sheets.Types: tcsLabels :: Lens' TreemapChartSpec (Maybe ChartData)
+ Network.Google.Sheets.Types: tcsLevels :: Lens' TreemapChartSpec (Maybe Int32)
+ Network.Google.Sheets.Types: tcsMaxValue :: Lens' TreemapChartSpec (Maybe Double)
+ Network.Google.Sheets.Types: tcsMinValue :: Lens' TreemapChartSpec (Maybe Double)
+ Network.Google.Sheets.Types: tcsParentLabels :: Lens' TreemapChartSpec (Maybe ChartData)
+ Network.Google.Sheets.Types: tcsSizeData :: Lens' TreemapChartSpec (Maybe ChartData)
+ Network.Google.Sheets.Types: tcsTextFormat :: Lens' TreemapChartSpec (Maybe TextFormat)
+ Network.Google.Sheets.Types: textPosition :: TextPosition
+ Network.Google.Sheets.Types: textRotation :: TextRotation
+ Network.Google.Sheets.Types: tpHorizontalAlignment :: Lens' TextPosition (Maybe TextPositionHorizontalAlignment)
+ Network.Google.Sheets.Types: trAngle :: Lens' TextRotation (Maybe Int32)
+ Network.Google.Sheets.Types: trVertical :: Lens' TextRotation (Maybe Bool)
+ Network.Google.Sheets.Types: treemapChartColorScale :: TreemapChartColorScale
+ Network.Google.Sheets.Types: treemapChartSpec :: TreemapChartSpec
+ Network.Google.Sheets.Types: uDeveloperMetadata :: Lens' UpdateDeveloperMetadataResponse [DeveloperMetadata]
+ Network.Google.Sheets.Types: udgrDimensionGroup :: Lens' UpdateDimensionGroupRequest (Maybe DimensionGroup)
+ Network.Google.Sheets.Types: udgrFields :: Lens' UpdateDimensionGroupRequest (Maybe GFieldMask)
+ Network.Google.Sheets.Types: udmrDataFilters :: Lens' UpdateDeveloperMetadataRequest [DataFilter]
+ Network.Google.Sheets.Types: udmrDeveloperMetadata :: Lens' UpdateDeveloperMetadataRequest (Maybe DeveloperMetadata)
+ Network.Google.Sheets.Types: udmrFields :: Lens' UpdateDeveloperMetadataRequest (Maybe GFieldMask)
+ Network.Google.Sheets.Types: updateDeveloperMetadataRequest :: UpdateDeveloperMetadataRequest
+ Network.Google.Sheets.Types: updateDeveloperMetadataResponse :: UpdateDeveloperMetadataResponse
+ Network.Google.Sheets.Types: updateDimensionGroupRequest :: UpdateDimensionGroupRequest
+ Network.Google.Sheets.Types: updateValuesByDataFilterResponse :: UpdateValuesByDataFilterResponse
+ Network.Google.Sheets.Types: uvbdfrDataFilter :: Lens' UpdateValuesByDataFilterResponse (Maybe DataFilter)
+ Network.Google.Sheets.Types: uvbdfrUpdatedCells :: Lens' UpdateValuesByDataFilterResponse (Maybe Int32)
+ Network.Google.Sheets.Types: uvbdfrUpdatedColumns :: Lens' UpdateValuesByDataFilterResponse (Maybe Int32)
+ Network.Google.Sheets.Types: uvbdfrUpdatedData :: Lens' UpdateValuesByDataFilterResponse (Maybe ValueRange)
+ Network.Google.Sheets.Types: uvbdfrUpdatedRange :: Lens' UpdateValuesByDataFilterResponse (Maybe Text)
+ Network.Google.Sheets.Types: uvbdfrUpdatedRows :: Lens' UpdateValuesByDataFilterResponse (Maybe Int32)
+ Network.Google.Sheets.Types: wColor :: Lens' WaterfallChartColumnStyle (Maybe Color)
+ Network.Google.Sheets.Types: wLabel :: Lens' WaterfallChartColumnStyle (Maybe Text)
+ Network.Google.Sheets.Types: waterfallChartColumnStyle :: WaterfallChartColumnStyle
+ Network.Google.Sheets.Types: waterfallChartCustomSubtotal :: WaterfallChartCustomSubtotal
+ Network.Google.Sheets.Types: waterfallChartDomain :: WaterfallChartDomain
+ Network.Google.Sheets.Types: waterfallChartSeries :: WaterfallChartSeries
+ Network.Google.Sheets.Types: waterfallChartSpec :: WaterfallChartSpec
+ Network.Google.Sheets.Types: wccsDataIsSubtotal :: Lens' WaterfallChartCustomSubtotal (Maybe Bool)
+ Network.Google.Sheets.Types: wccsLabel :: Lens' WaterfallChartCustomSubtotal (Maybe Text)
+ Network.Google.Sheets.Types: wccsSubtotalIndex :: Lens' WaterfallChartCustomSubtotal (Maybe Int32)
+ Network.Google.Sheets.Types: wcdData :: Lens' WaterfallChartDomain (Maybe ChartData)
+ Network.Google.Sheets.Types: wcdReversed :: Lens' WaterfallChartDomain (Maybe Bool)
+ Network.Google.Sheets.Types: wcsConnectorLineStyle :: Lens' WaterfallChartSpec (Maybe LineStyle)
+ Network.Google.Sheets.Types: wcsCustomSubtotals :: Lens' WaterfallChartSeries [WaterfallChartCustomSubtotal]
+ Network.Google.Sheets.Types: wcsData :: Lens' WaterfallChartSeries (Maybe ChartData)
+ Network.Google.Sheets.Types: wcsDomain :: Lens' WaterfallChartSpec (Maybe WaterfallChartDomain)
+ Network.Google.Sheets.Types: wcsFirstValueIsTotal :: Lens' WaterfallChartSpec (Maybe Bool)
+ Network.Google.Sheets.Types: wcsHideConnectorLines :: Lens' WaterfallChartSpec (Maybe Bool)
+ Network.Google.Sheets.Types: wcsHideTrailingSubtotal :: Lens' WaterfallChartSeries (Maybe Bool)
+ Network.Google.Sheets.Types: wcsNegativeColumnsStyle :: Lens' WaterfallChartSeries (Maybe WaterfallChartColumnStyle)
+ Network.Google.Sheets.Types: wcsPositiveColumnsStyle :: Lens' WaterfallChartSeries (Maybe WaterfallChartColumnStyle)
+ Network.Google.Sheets.Types: wcsSeries :: Lens' WaterfallChartSpec [WaterfallChartSeries]
+ Network.Google.Sheets.Types: wcsStackedType :: Lens' WaterfallChartSpec (Maybe WaterfallChartSpecStackedType)
+ Network.Google.Sheets.Types: wcsSubtotalColumnsStyle :: Lens' WaterfallChartSeries (Maybe WaterfallChartColumnStyle)
- Network.Google.Resource.Sheets.Spreadsheets.BatchUpdate: type SpreadsheetsBatchUpdateResource = "v4" :> ("spreadsheets" :> (CaptureMode "spreadsheetId" "batchUpdate" Text :> (QueryParam "$.xgafv" Xgafv :> (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] BatchUpdateSpreadsheetRequest :> Post '[JSON] BatchUpdateSpreadsheetResponse)))))))))))
+ Network.Google.Resource.Sheets.Spreadsheets.BatchUpdate: type SpreadsheetsBatchUpdateResource = "v4" :> "spreadsheets" :> CaptureMode "spreadsheetId" "batchUpdate" Text :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] BatchUpdateSpreadsheetRequest :> Post '[JSON] BatchUpdateSpreadsheetResponse
- Network.Google.Resource.Sheets.Spreadsheets.Create: type SpreadsheetsCreateResource = "v4" :> ("spreadsheets" :> (QueryParam "$.xgafv" Xgafv :> (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] Spreadsheet :> Post '[JSON] Spreadsheet))))))))))
+ Network.Google.Resource.Sheets.Spreadsheets.Create: type SpreadsheetsCreateResource = "v4" :> "spreadsheets" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] Spreadsheet :> Post '[JSON] Spreadsheet
- Network.Google.Resource.Sheets.Spreadsheets.Get: type SpreadsheetsGetResource = "v4" :> ("spreadsheets" :> (Capture "spreadsheetId" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParams "ranges" Text :> (QueryParam "includeGridData" Bool :> (QueryParam "bearer_token" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Spreadsheet))))))))))))
+ Network.Google.Resource.Sheets.Spreadsheets.Get: type SpreadsheetsGetResource = "v4" :> "spreadsheets" :> Capture "spreadsheetId" Text :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParams "ranges" Text :> QueryParam "includeGridData" Bool :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> Get '[JSON] Spreadsheet
- Network.Google.Resource.Sheets.Spreadsheets.Sheets.CopyTo: type SpreadsheetsSheetsCopyToResource = "v4" :> ("spreadsheets" :> (Capture "spreadsheetId" Text :> ("sheets" :> (CaptureMode "sheetId" "copyTo" (Textual Int32) :> (QueryParam "$.xgafv" Xgafv :> (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] CopySheetToAnotherSpreadsheetRequest :> Post '[JSON] SheetProperties)))))))))))))
+ Network.Google.Resource.Sheets.Spreadsheets.Sheets.CopyTo: type SpreadsheetsSheetsCopyToResource = "v4" :> "spreadsheets" :> Capture "spreadsheetId" Text :> "sheets" :> CaptureMode "sheetId" "copyTo" (Textual Int32) :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] CopySheetToAnotherSpreadsheetRequest :> Post '[JSON] SheetProperties
- Network.Google.Resource.Sheets.Spreadsheets.Values.Append: type SpreadsheetsValuesAppendResource = "v4" :> ("spreadsheets" :> (Capture "spreadsheetId" Text :> ("values" :> (CaptureMode "range" "append" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "valueInputOption" Text :> (QueryParam "insertDataOption" Text :> (QueryParam "bearer_token" Text :> (QueryParam "includeValuesInResponse" Bool :> (QueryParam "responseDateTimeRenderOption" Text :> (QueryParam "callback" Text :> (QueryParam "responseValueRenderOption" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ValueRange :> Post '[JSON] AppendValuesResponse))))))))))))))))))
+ Network.Google.Resource.Sheets.Spreadsheets.Values.Append: type SpreadsheetsValuesAppendResource = "v4" :> "spreadsheets" :> Capture "spreadsheetId" Text :> "values" :> CaptureMode "range" "append" Text :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "valueInputOption" Text :> QueryParam "insertDataOption" Text :> QueryParam "includeValuesInResponse" Bool :> QueryParam "responseDateTimeRenderOption" Text :> QueryParam "callback" Text :> QueryParam "responseValueRenderOption" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] ValueRange :> Post '[JSON] AppendValuesResponse
- Network.Google.Resource.Sheets.Spreadsheets.Values.BatchClear: type SpreadsheetsValuesBatchClearResource = "v4" :> ("spreadsheets" :> (Capture "spreadsheetId" Text :> ("values:batchClear" :> (QueryParam "$.xgafv" Xgafv :> (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] BatchClearValuesRequest :> Post '[JSON] BatchClearValuesResponse))))))))))))
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchClear: type SpreadsheetsValuesBatchClearResource = "v4" :> "spreadsheets" :> Capture "spreadsheetId" Text :> "values:batchClear" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] BatchClearValuesRequest :> Post '[JSON] BatchClearValuesResponse
- Network.Google.Resource.Sheets.Spreadsheets.Values.BatchGet: type SpreadsheetsValuesBatchGetResource = "v4" :> ("spreadsheets" :> (Capture "spreadsheetId" Text :> ("values:batchGet" :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "valueRenderOption" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParams "ranges" Text :> (QueryParam "bearer_token" Text :> (QueryParam "dateTimeRenderOption" Text :> (QueryParam "majorDimension" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] BatchGetValuesResponse)))))))))))))))
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchGet: type SpreadsheetsValuesBatchGetResource = "v4" :> "spreadsheets" :> Capture "spreadsheetId" Text :> "values:batchGet" :> QueryParam "$.xgafv" Xgafv :> QueryParam "valueRenderOption" Text :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParams "ranges" Text :> QueryParam "dateTimeRenderOption" Text :> QueryParam "majorDimension" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> Get '[JSON] BatchGetValuesResponse
- Network.Google.Resource.Sheets.Spreadsheets.Values.BatchUpdate: type SpreadsheetsValuesBatchUpdateResource = "v4" :> ("spreadsheets" :> (Capture "spreadsheetId" Text :> ("values:batchUpdate" :> (QueryParam "$.xgafv" Xgafv :> (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] BatchUpdateValuesRequest :> Post '[JSON] BatchUpdateValuesResponse))))))))))))
+ Network.Google.Resource.Sheets.Spreadsheets.Values.BatchUpdate: type SpreadsheetsValuesBatchUpdateResource = "v4" :> "spreadsheets" :> Capture "spreadsheetId" Text :> "values:batchUpdate" :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] BatchUpdateValuesRequest :> Post '[JSON] BatchUpdateValuesResponse
- Network.Google.Resource.Sheets.Spreadsheets.Values.Clear: type SpreadsheetsValuesClearResource = "v4" :> ("spreadsheets" :> (Capture "spreadsheetId" Text :> ("values" :> (CaptureMode "range" "clear" Text :> (QueryParam "$.xgafv" Xgafv :> (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] ClearValuesRequest :> Post '[JSON] ClearValuesResponse)))))))))))))
+ Network.Google.Resource.Sheets.Spreadsheets.Values.Clear: type SpreadsheetsValuesClearResource = "v4" :> "spreadsheets" :> Capture "spreadsheetId" Text :> "values" :> CaptureMode "range" "clear" Text :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] ClearValuesRequest :> Post '[JSON] ClearValuesResponse
- Network.Google.Resource.Sheets.Spreadsheets.Values.Get: type SpreadsheetsValuesGetResource = "v4" :> ("spreadsheets" :> (Capture "spreadsheetId" Text :> ("values" :> (Capture "range" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "valueRenderOption" Text :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "bearer_token" Text :> (QueryParam "dateTimeRenderOption" Text :> (QueryParam "majorDimension" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ValueRange)))))))))))))))
+ Network.Google.Resource.Sheets.Spreadsheets.Values.Get: type SpreadsheetsValuesGetResource = "v4" :> "spreadsheets" :> Capture "spreadsheetId" Text :> "values" :> Capture "range" Text :> QueryParam "$.xgafv" Xgafv :> QueryParam "valueRenderOption" Text :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "dateTimeRenderOption" Text :> QueryParam "majorDimension" Text :> QueryParam "callback" Text :> QueryParam "alt" AltJSON :> Get '[JSON] ValueRange
- Network.Google.Resource.Sheets.Spreadsheets.Values.Update: type SpreadsheetsValuesUpdateResource = "v4" :> ("spreadsheets" :> (Capture "spreadsheetId" Text :> ("values" :> (Capture "range" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "pp" Bool :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "valueInputOption" Text :> (QueryParam "bearer_token" Text :> (QueryParam "includeValuesInResponse" Bool :> (QueryParam "responseDateTimeRenderOption" Text :> (QueryParam "callback" Text :> (QueryParam "responseValueRenderOption" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ValueRange :> Put '[JSON] UpdateValuesResponse)))))))))))))))))
+ Network.Google.Resource.Sheets.Spreadsheets.Values.Update: type SpreadsheetsValuesUpdateResource = "v4" :> "spreadsheets" :> Capture "spreadsheetId" Text :> "values" :> Capture "range" Text :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :> QueryParam "access_token" Text :> QueryParam "uploadType" Text :> QueryParam "valueInputOption" Text :> QueryParam "includeValuesInResponse" Bool :> QueryParam "responseDateTimeRenderOption" Text :> QueryParam "callback" Text :> QueryParam "responseValueRenderOption" Text :> QueryParam "alt" AltJSON :> ReqBody '[JSON] ValueRange :> Put '[JSON] UpdateValuesResponse
- Network.Google.Sheets: BottomLegend :: PieChartSpecLegendPosition
+ Network.Google.Sheets: BottomLegend :: BubbleChartSpecLegendPosition
- Network.Google.Sheets: Center :: CellFormatHorizontalAlignment
+ Network.Google.Sheets: Center :: TextPositionHorizontalAlignment
- Network.Google.Sheets: FormattedString :: BatchUpdateValuesRequestResponseDateTimeRenderOption
+ Network.Google.Sheets: FormattedString :: BatchUpdateValuesByDataFilterRequestResponseDateTimeRenderOption
- Network.Google.Sheets: FormattedValue :: BatchUpdateValuesRequestResponseValueRenderOption
+ Network.Google.Sheets: FormattedValue :: BatchGetValuesByDataFilterRequestValueRenderOption
- Network.Google.Sheets: Formula :: BatchUpdateValuesRequestResponseValueRenderOption
+ Network.Google.Sheets: Formula :: BatchGetValuesByDataFilterRequestValueRenderOption
- Network.Google.Sheets: HorizontalAlignUnspecified :: CellFormatHorizontalAlignment
+ Network.Google.Sheets: HorizontalAlignUnspecified :: TextPositionHorizontalAlignment
- Network.Google.Sheets: Hour :: SpreadsheetPropertiesAutoRecalc
+ Network.Google.Sheets: Hour :: DateTimeRuleType
- Network.Google.Sheets: Left' :: CellFormatHorizontalAlignment
+ Network.Google.Sheets: Left' :: TextPositionHorizontalAlignment
- Network.Google.Sheets: LeftLegend :: PieChartSpecLegendPosition
+ Network.Google.Sheets: LeftLegend :: BubbleChartSpecLegendPosition
- Network.Google.Sheets: Minute :: SpreadsheetPropertiesAutoRecalc
+ Network.Google.Sheets: Minute :: DateTimeRuleType
- Network.Google.Sheets: NoLegend :: PieChartSpecLegendPosition
+ Network.Google.Sheets: NoLegend :: BubbleChartSpecLegendPosition
- Network.Google.Sheets: Right' :: CellFormatHorizontalAlignment
+ Network.Google.Sheets: Right' :: TextPositionHorizontalAlignment
- Network.Google.Sheets: RightLegend :: PieChartSpecLegendPosition
+ Network.Google.Sheets: RightLegend :: BubbleChartSpecLegendPosition
- Network.Google.Sheets: SerialNumber :: BatchUpdateValuesRequestResponseDateTimeRenderOption
+ Network.Google.Sheets: SerialNumber :: BatchUpdateValuesByDataFilterRequestResponseDateTimeRenderOption
- Network.Google.Sheets: TopLegend :: PieChartSpecLegendPosition
+ Network.Google.Sheets: TopLegend :: BubbleChartSpecLegendPosition
- Network.Google.Sheets: UnformattedValue :: BatchUpdateValuesRequestResponseValueRenderOption
+ Network.Google.Sheets: UnformattedValue :: BatchGetValuesByDataFilterRequestValueRenderOption
- Network.Google.Sheets: acrFields :: Lens' AppendCellsRequest (Maybe FieldMask)
+ Network.Google.Sheets: acrFields :: Lens' AppendCellsRequest (Maybe GFieldMask)
- Network.Google.Sheets: bSeries :: Lens' BasicChartSpec [BasicChartSeries]
+ Network.Google.Sheets: bSeries :: Lens' BasicChartSeries (Maybe ChartData)
- Network.Google.Sheets: bcsSeries :: Lens' BasicChartSeries (Maybe ChartData)
+ Network.Google.Sheets: bcsSeries :: Lens' BubbleChartSpec (Maybe ChartData)
- Network.Google.Sheets: rcrFields :: Lens' RepeatCellRequest (Maybe FieldMask)
+ Network.Google.Sheets: rcrFields :: Lens' RepeatCellRequest (Maybe GFieldMask)
- Network.Google.Sheets: type SheetsAPI = SpreadsheetsSheetsCopyToResource :<|> (SpreadsheetsValuesBatchClearResource :<|> (SpreadsheetsValuesGetResource :<|> (SpreadsheetsValuesClearResource :<|> (SpreadsheetsValuesBatchGetResource :<|> (SpreadsheetsValuesBatchUpdateResource :<|> (SpreadsheetsValuesAppendResource :<|> (SpreadsheetsValuesUpdateResource :<|> (SpreadsheetsGetResource :<|> (SpreadsheetsCreateResource :<|> SpreadsheetsBatchUpdateResource)))))))))
+ Network.Google.Sheets: type SheetsAPI = SpreadsheetsSheetsCopyToResource :<|> SpreadsheetsValuesBatchClearResource :<|> SpreadsheetsValuesBatchClearByDataFilterResource :<|> SpreadsheetsValuesGetResource :<|> SpreadsheetsValuesBatchGetByDataFilterResource :<|> SpreadsheetsValuesClearResource :<|> SpreadsheetsValuesBatchGetResource :<|> SpreadsheetsValuesBatchUpdateResource :<|> SpreadsheetsValuesAppendResource :<|> SpreadsheetsValuesBatchUpdateByDataFilterResource :<|> SpreadsheetsValuesUpdateResource :<|> SpreadsheetsDeveloperMetadataGetResource :<|> SpreadsheetsDeveloperMetadataSearchResource :<|> SpreadsheetsGetByDataFilterResource :<|> SpreadsheetsGetResource :<|> SpreadsheetsCreateResource :<|> SpreadsheetsBatchUpdateResource
- Network.Google.Sheets: uFields :: Lens' UpdateSpreadsheetPropertiesRequest (Maybe FieldMask)
+ Network.Google.Sheets: uFields :: Lens' UpdateSpreadsheetPropertiesRequest (Maybe GFieldMask)
- Network.Google.Sheets: ubrFields :: Lens' UpdateBandingRequest (Maybe FieldMask)
+ Network.Google.Sheets: ubrFields :: Lens' UpdateBandingRequest (Maybe GFieldMask)
- Network.Google.Sheets: udprFields :: Lens' UpdateDimensionPropertiesRequest (Maybe FieldMask)
+ Network.Google.Sheets: udprFields :: Lens' UpdateDimensionPropertiesRequest (Maybe GFieldMask)
- Network.Google.Sheets: ueoprFields :: Lens' UpdateEmbeddedObjectPositionRequest (Maybe FieldMask)
+ Network.Google.Sheets: ueoprFields :: Lens' UpdateEmbeddedObjectPositionRequest (Maybe GFieldMask)
- Network.Google.Sheets: ufvrFields :: Lens' UpdateFilterViewRequest (Maybe FieldMask)
+ Network.Google.Sheets: ufvrFields :: Lens' UpdateFilterViewRequest (Maybe GFieldMask)
- Network.Google.Sheets: unrrFields :: Lens' UpdateNamedRangeRequest (Maybe FieldMask)
+ Network.Google.Sheets: unrrFields :: Lens' UpdateNamedRangeRequest (Maybe GFieldMask)
- Network.Google.Sheets: updFields :: Lens' UpdateCellsRequest (Maybe FieldMask)
+ Network.Google.Sheets: updFields :: Lens' UpdateCellsRequest (Maybe GFieldMask)
- Network.Google.Sheets: uprrFields :: Lens' UpdateProtectedRangeRequest (Maybe FieldMask)
+ Network.Google.Sheets: uprrFields :: Lens' UpdateProtectedRangeRequest (Maybe GFieldMask)
- Network.Google.Sheets: usprFields :: Lens' UpdateSheetPropertiesRequest (Maybe FieldMask)
+ Network.Google.Sheets: usprFields :: Lens' UpdateSheetPropertiesRequest (Maybe GFieldMask)
- Network.Google.Sheets.Types: BottomLegend :: PieChartSpecLegendPosition
+ Network.Google.Sheets.Types: BottomLegend :: BubbleChartSpecLegendPosition
- Network.Google.Sheets.Types: Center :: CellFormatHorizontalAlignment
+ Network.Google.Sheets.Types: Center :: TextPositionHorizontalAlignment
- Network.Google.Sheets.Types: FormattedString :: BatchUpdateValuesRequestResponseDateTimeRenderOption
+ Network.Google.Sheets.Types: FormattedString :: BatchUpdateValuesByDataFilterRequestResponseDateTimeRenderOption
- Network.Google.Sheets.Types: FormattedValue :: BatchUpdateValuesRequestResponseValueRenderOption
+ Network.Google.Sheets.Types: FormattedValue :: BatchGetValuesByDataFilterRequestValueRenderOption
- Network.Google.Sheets.Types: Formula :: BatchUpdateValuesRequestResponseValueRenderOption
+ Network.Google.Sheets.Types: Formula :: BatchGetValuesByDataFilterRequestValueRenderOption
- Network.Google.Sheets.Types: HorizontalAlignUnspecified :: CellFormatHorizontalAlignment
+ Network.Google.Sheets.Types: HorizontalAlignUnspecified :: TextPositionHorizontalAlignment
- Network.Google.Sheets.Types: Hour :: SpreadsheetPropertiesAutoRecalc
+ Network.Google.Sheets.Types: Hour :: DateTimeRuleType
- Network.Google.Sheets.Types: Left' :: CellFormatHorizontalAlignment
+ Network.Google.Sheets.Types: Left' :: TextPositionHorizontalAlignment
- Network.Google.Sheets.Types: LeftLegend :: PieChartSpecLegendPosition
+ Network.Google.Sheets.Types: LeftLegend :: BubbleChartSpecLegendPosition
- Network.Google.Sheets.Types: Minute :: SpreadsheetPropertiesAutoRecalc
+ Network.Google.Sheets.Types: Minute :: DateTimeRuleType
- Network.Google.Sheets.Types: NoLegend :: PieChartSpecLegendPosition
+ Network.Google.Sheets.Types: NoLegend :: BubbleChartSpecLegendPosition
- Network.Google.Sheets.Types: Right' :: CellFormatHorizontalAlignment
+ Network.Google.Sheets.Types: Right' :: TextPositionHorizontalAlignment
- Network.Google.Sheets.Types: RightLegend :: PieChartSpecLegendPosition
+ Network.Google.Sheets.Types: RightLegend :: BubbleChartSpecLegendPosition
- Network.Google.Sheets.Types: SerialNumber :: BatchUpdateValuesRequestResponseDateTimeRenderOption
+ Network.Google.Sheets.Types: SerialNumber :: BatchUpdateValuesByDataFilterRequestResponseDateTimeRenderOption
- Network.Google.Sheets.Types: TopLegend :: PieChartSpecLegendPosition
+ Network.Google.Sheets.Types: TopLegend :: BubbleChartSpecLegendPosition
- Network.Google.Sheets.Types: UnformattedValue :: BatchUpdateValuesRequestResponseValueRenderOption
+ Network.Google.Sheets.Types: UnformattedValue :: BatchGetValuesByDataFilterRequestValueRenderOption
- Network.Google.Sheets.Types: acrFields :: Lens' AppendCellsRequest (Maybe FieldMask)
+ Network.Google.Sheets.Types: acrFields :: Lens' AppendCellsRequest (Maybe GFieldMask)
- Network.Google.Sheets.Types: bSeries :: Lens' BasicChartSpec [BasicChartSeries]
+ Network.Google.Sheets.Types: bSeries :: Lens' BasicChartSeries (Maybe ChartData)
- Network.Google.Sheets.Types: bcsSeries :: Lens' BasicChartSeries (Maybe ChartData)
+ Network.Google.Sheets.Types: bcsSeries :: Lens' BubbleChartSpec (Maybe ChartData)
- Network.Google.Sheets.Types: rcrFields :: Lens' RepeatCellRequest (Maybe FieldMask)
+ Network.Google.Sheets.Types: rcrFields :: Lens' RepeatCellRequest (Maybe GFieldMask)
- Network.Google.Sheets.Types: uFields :: Lens' UpdateSpreadsheetPropertiesRequest (Maybe FieldMask)
+ Network.Google.Sheets.Types: uFields :: Lens' UpdateSpreadsheetPropertiesRequest (Maybe GFieldMask)
- Network.Google.Sheets.Types: ubrFields :: Lens' UpdateBandingRequest (Maybe FieldMask)
+ Network.Google.Sheets.Types: ubrFields :: Lens' UpdateBandingRequest (Maybe GFieldMask)
- Network.Google.Sheets.Types: udprFields :: Lens' UpdateDimensionPropertiesRequest (Maybe FieldMask)
+ Network.Google.Sheets.Types: udprFields :: Lens' UpdateDimensionPropertiesRequest (Maybe GFieldMask)
- Network.Google.Sheets.Types: ueoprFields :: Lens' UpdateEmbeddedObjectPositionRequest (Maybe FieldMask)
+ Network.Google.Sheets.Types: ueoprFields :: Lens' UpdateEmbeddedObjectPositionRequest (Maybe GFieldMask)
- Network.Google.Sheets.Types: ufvrFields :: Lens' UpdateFilterViewRequest (Maybe FieldMask)
+ Network.Google.Sheets.Types: ufvrFields :: Lens' UpdateFilterViewRequest (Maybe GFieldMask)
- Network.Google.Sheets.Types: unrrFields :: Lens' UpdateNamedRangeRequest (Maybe FieldMask)
+ Network.Google.Sheets.Types: unrrFields :: Lens' UpdateNamedRangeRequest (Maybe GFieldMask)
- Network.Google.Sheets.Types: updFields :: Lens' UpdateCellsRequest (Maybe FieldMask)
+ Network.Google.Sheets.Types: updFields :: Lens' UpdateCellsRequest (Maybe GFieldMask)
- Network.Google.Sheets.Types: uprrFields :: Lens' UpdateProtectedRangeRequest (Maybe FieldMask)
+ Network.Google.Sheets.Types: uprrFields :: Lens' UpdateProtectedRangeRequest (Maybe GFieldMask)
- Network.Google.Sheets.Types: usprFields :: Lens' UpdateSheetPropertiesRequest (Maybe FieldMask)
+ Network.Google.Sheets.Types: usprFields :: Lens' UpdateSheetPropertiesRequest (Maybe GFieldMask)
Files
- gen/Network/Google/Resource/Sheets/Spreadsheets/BatchUpdate.hs +7/−30
- gen/Network/Google/Resource/Sheets/Spreadsheets/Create.hs +8/−31
- gen/Network/Google/Resource/Sheets/Spreadsheets/DeveloperMetadata/Get.hs +174/−0
- gen/Network/Google/Resource/Sheets/Spreadsheets/DeveloperMetadata/Search.hs +178/−0
- gen/Network/Google/Resource/Sheets/Spreadsheets/Get.hs +7/−30
- gen/Network/Google/Resource/Sheets/Spreadsheets/GetByDataFilter.hs +189/−0
- gen/Network/Google/Resource/Sheets/Spreadsheets/Sheets/CopyTo.hs +7/−31
- gen/Network/Google/Resource/Sheets/Spreadsheets/Values/Append.hs +18/−41
- gen/Network/Google/Resource/Sheets/Spreadsheets/Values/BatchClear.hs +7/−30
- gen/Network/Google/Resource/Sheets/Spreadsheets/Values/BatchClearByDataFilter.hs +183/−0
- gen/Network/Google/Resource/Sheets/Spreadsheets/Values/BatchGet.hs +9/−32
- gen/Network/Google/Resource/Sheets/Spreadsheets/Values/BatchGetByDataFilter.hs +178/−0
- gen/Network/Google/Resource/Sheets/Spreadsheets/Values/BatchUpdate.hs +7/−30
- gen/Network/Google/Resource/Sheets/Spreadsheets/Values/BatchUpdateByDataFilter.hs +179/−0
- gen/Network/Google/Resource/Sheets/Spreadsheets/Values/Clear.hs +7/−30
- gen/Network/Google/Resource/Sheets/Spreadsheets/Values/Get.hs +8/−31
- gen/Network/Google/Resource/Sheets/Spreadsheets/Values/Update.hs +12/−36
- gen/Network/Google/Sheets.hs +531/−9
- gen/Network/Google/Sheets/Types.hs +508/−12
- gen/Network/Google/Sheets/Types/Product.hs +12972/−8735
- gen/Network/Google/Sheets/Types/Sum.hs +2983/−1939
- gogol-sheets.cabal +8/−2
gen/Network/Google/Resource/Sheets/Spreadsheets/BatchUpdate.hs view
@@ -47,12 +47,10 @@ -- * Request Lenses , sbuXgafv , sbuUploadProtocol- , sbuPp , sbuAccessToken , sbuSpreadsheetId , sbuUploadType , sbuPayload- , sbuBearerToken , sbuCallback ) where @@ -67,14 +65,12 @@ CaptureMode "spreadsheetId" "batchUpdate" Text :> QueryParam "$.xgafv" Xgafv :> 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] BatchUpdateSpreadsheetRequest :>- Post '[JSON] BatchUpdateSpreadsheetResponse+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] BatchUpdateSpreadsheetRequest :>+ Post '[JSON] BatchUpdateSpreadsheetResponse -- | Applies one or more updates to the spreadsheet. Each request is -- validated before being applied. If any request is not valid then the@@ -94,12 +90,10 @@ data SpreadsheetsBatchUpdate = SpreadsheetsBatchUpdate' { _sbuXgafv :: !(Maybe Xgafv) , _sbuUploadProtocol :: !(Maybe Text)- , _sbuPp :: !Bool , _sbuAccessToken :: !(Maybe Text) , _sbuSpreadsheetId :: !Text , _sbuUploadType :: !(Maybe Text) , _sbuPayload :: !BatchUpdateSpreadsheetRequest- , _sbuBearerToken :: !(Maybe Text) , _sbuCallback :: !(Maybe Text) } deriving (Eq,Show,Data,Typeable,Generic) @@ -111,8 +105,6 @@ -- -- * 'sbuUploadProtocol' ----- * 'sbuPp'--- -- * 'sbuAccessToken' -- -- * 'sbuSpreadsheetId'@@ -121,8 +113,6 @@ -- -- * 'sbuPayload' ----- * 'sbuBearerToken'--- -- * 'sbuCallback' spreadsheetsBatchUpdate :: Text -- ^ 'sbuSpreadsheetId'@@ -132,12 +122,10 @@ SpreadsheetsBatchUpdate' { _sbuXgafv = Nothing , _sbuUploadProtocol = Nothing- , _sbuPp = True , _sbuAccessToken = Nothing , _sbuSpreadsheetId = pSbuSpreadsheetId_ , _sbuUploadType = Nothing , _sbuPayload = pSbuPayload_- , _sbuBearerToken = Nothing , _sbuCallback = Nothing } @@ -151,10 +139,6 @@ = lens _sbuUploadProtocol (\ s a -> s{_sbuUploadProtocol = a}) --- | Pretty-print response.-sbuPp :: Lens' SpreadsheetsBatchUpdate Bool-sbuPp = lens _sbuPp (\ s a -> s{_sbuPp = a})- -- | OAuth access token. sbuAccessToken :: Lens' SpreadsheetsBatchUpdate (Maybe Text) sbuAccessToken@@ -178,12 +162,6 @@ sbuPayload = lens _sbuPayload (\ s a -> s{_sbuPayload = a}) --- | OAuth bearer token.-sbuBearerToken :: Lens' SpreadsheetsBatchUpdate (Maybe Text)-sbuBearerToken- = lens _sbuBearerToken- (\ s a -> s{_sbuBearerToken = a})- -- | JSONP sbuCallback :: Lens' SpreadsheetsBatchUpdate (Maybe Text) sbuCallback@@ -194,13 +172,12 @@ BatchUpdateSpreadsheetResponse type Scopes SpreadsheetsBatchUpdate = '["https://www.googleapis.com/auth/drive",+ "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/spreadsheets"] requestClient SpreadsheetsBatchUpdate'{..} = go _sbuSpreadsheetId _sbuXgafv _sbuUploadProtocol- (Just _sbuPp) _sbuAccessToken _sbuUploadType- _sbuBearerToken _sbuCallback (Just AltJSON) _sbuPayload
gen/Network/Google/Resource/Sheets/Spreadsheets/Create.hs view
@@ -35,11 +35,9 @@ -- * Request Lenses , scXgafv , scUploadProtocol- , scPp , scAccessToken , scUploadType , scPayload- , scBearerToken , scCallback ) where @@ -53,14 +51,12 @@ "spreadsheets" :> QueryParam "$.xgafv" Xgafv :> 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] Spreadsheet :>- Post '[JSON] Spreadsheet+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Spreadsheet :>+ Post '[JSON] Spreadsheet -- | Creates a spreadsheet, returning the newly created spreadsheet. --@@ -68,11 +64,9 @@ data SpreadsheetsCreate = SpreadsheetsCreate' { _scXgafv :: !(Maybe Xgafv) , _scUploadProtocol :: !(Maybe Text)- , _scPp :: !Bool , _scAccessToken :: !(Maybe Text) , _scUploadType :: !(Maybe Text) , _scPayload :: !Spreadsheet- , _scBearerToken :: !(Maybe Text) , _scCallback :: !(Maybe Text) } deriving (Eq,Show,Data,Typeable,Generic) @@ -84,16 +78,12 @@ -- -- * 'scUploadProtocol' ----- * 'scPp'--- -- * 'scAccessToken' -- -- * 'scUploadType' -- -- * 'scPayload' ----- * 'scBearerToken'--- -- * 'scCallback' spreadsheetsCreate :: Spreadsheet -- ^ 'scPayload'@@ -102,11 +92,9 @@ SpreadsheetsCreate' { _scXgafv = Nothing , _scUploadProtocol = Nothing- , _scPp = True , _scAccessToken = Nothing , _scUploadType = Nothing , _scPayload = pScPayload_- , _scBearerToken = Nothing , _scCallback = Nothing } @@ -120,10 +108,6 @@ = lens _scUploadProtocol (\ s a -> s{_scUploadProtocol = a}) --- | Pretty-print response.-scPp :: Lens' SpreadsheetsCreate Bool-scPp = lens _scPp (\ s a -> s{_scPp = a})- -- | OAuth access token. scAccessToken :: Lens' SpreadsheetsCreate (Maybe Text) scAccessToken@@ -140,12 +124,6 @@ scPayload = lens _scPayload (\ s a -> s{_scPayload = a}) --- | OAuth bearer token.-scBearerToken :: Lens' SpreadsheetsCreate (Maybe Text)-scBearerToken- = lens _scBearerToken- (\ s a -> s{_scBearerToken = a})- -- | JSONP scCallback :: Lens' SpreadsheetsCreate (Maybe Text) scCallback@@ -155,12 +133,11 @@ type Rs SpreadsheetsCreate = Spreadsheet type Scopes SpreadsheetsCreate = '["https://www.googleapis.com/auth/drive",+ "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/spreadsheets"] requestClient SpreadsheetsCreate'{..}- = go _scXgafv _scUploadProtocol (Just _scPp)- _scAccessToken+ = go _scXgafv _scUploadProtocol _scAccessToken _scUploadType- _scBearerToken _scCallback (Just AltJSON) _scPayload
+ gen/Network/Google/Resource/Sheets/Spreadsheets/DeveloperMetadata/Get.hs view
@@ -0,0 +1,174 @@+{-# 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.Sheets.Spreadsheets.DeveloperMetadata.Get+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the developer metadata with the specified ID. The caller must+-- specify the spreadsheet ID and the developer metadata\'s unique+-- metadataId.+--+-- /See:/ <https://developers.google.com/sheets/ Google Sheets API Reference> for @sheets.spreadsheets.developerMetadata.get@.+module Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Get+ (+ -- * REST Resource+ SpreadsheetsDeveloperMetadataGetResource++ -- * Creating a Request+ , spreadsheetsDeveloperMetadataGet+ , SpreadsheetsDeveloperMetadataGet++ -- * Request Lenses+ , sdmgXgafv+ , sdmgUploadProtocol+ , sdmgMetadataId+ , sdmgAccessToken+ , sdmgSpreadsheetId+ , sdmgUploadType+ , sdmgCallback+ ) where++import Network.Google.Prelude+import Network.Google.Sheets.Types++-- | A resource alias for @sheets.spreadsheets.developerMetadata.get@ method which the+-- 'SpreadsheetsDeveloperMetadataGet' request conforms to.+type SpreadsheetsDeveloperMetadataGetResource =+ "v4" :>+ "spreadsheets" :>+ Capture "spreadsheetId" Text :>+ "developerMetadata" :>+ Capture "metadataId" (Textual Int32) :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] DeveloperMetadata++-- | Returns the developer metadata with the specified ID. The caller must+-- specify the spreadsheet ID and the developer metadata\'s unique+-- metadataId.+--+-- /See:/ 'spreadsheetsDeveloperMetadataGet' smart constructor.+data SpreadsheetsDeveloperMetadataGet = SpreadsheetsDeveloperMetadataGet'+ { _sdmgXgafv :: !(Maybe Xgafv)+ , _sdmgUploadProtocol :: !(Maybe Text)+ , _sdmgMetadataId :: !(Textual Int32)+ , _sdmgAccessToken :: !(Maybe Text)+ , _sdmgSpreadsheetId :: !Text+ , _sdmgUploadType :: !(Maybe Text)+ , _sdmgCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SpreadsheetsDeveloperMetadataGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdmgXgafv'+--+-- * 'sdmgUploadProtocol'+--+-- * 'sdmgMetadataId'+--+-- * 'sdmgAccessToken'+--+-- * 'sdmgSpreadsheetId'+--+-- * 'sdmgUploadType'+--+-- * 'sdmgCallback'+spreadsheetsDeveloperMetadataGet+ :: Int32 -- ^ 'sdmgMetadataId'+ -> Text -- ^ 'sdmgSpreadsheetId'+ -> SpreadsheetsDeveloperMetadataGet+spreadsheetsDeveloperMetadataGet pSdmgMetadataId_ pSdmgSpreadsheetId_ =+ SpreadsheetsDeveloperMetadataGet'+ { _sdmgXgafv = Nothing+ , _sdmgUploadProtocol = Nothing+ , _sdmgMetadataId = _Coerce # pSdmgMetadataId_+ , _sdmgAccessToken = Nothing+ , _sdmgSpreadsheetId = pSdmgSpreadsheetId_+ , _sdmgUploadType = Nothing+ , _sdmgCallback = Nothing+ }++-- | V1 error format.+sdmgXgafv :: Lens' SpreadsheetsDeveloperMetadataGet (Maybe Xgafv)+sdmgXgafv+ = lens _sdmgXgafv (\ s a -> s{_sdmgXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+sdmgUploadProtocol :: Lens' SpreadsheetsDeveloperMetadataGet (Maybe Text)+sdmgUploadProtocol+ = lens _sdmgUploadProtocol+ (\ s a -> s{_sdmgUploadProtocol = a})++-- | The ID of the developer metadata to retrieve.+sdmgMetadataId :: Lens' SpreadsheetsDeveloperMetadataGet Int32+sdmgMetadataId+ = lens _sdmgMetadataId+ (\ s a -> s{_sdmgMetadataId = a})+ . _Coerce++-- | OAuth access token.+sdmgAccessToken :: Lens' SpreadsheetsDeveloperMetadataGet (Maybe Text)+sdmgAccessToken+ = lens _sdmgAccessToken+ (\ s a -> s{_sdmgAccessToken = a})++-- | The ID of the spreadsheet to retrieve metadata from.+sdmgSpreadsheetId :: Lens' SpreadsheetsDeveloperMetadataGet Text+sdmgSpreadsheetId+ = lens _sdmgSpreadsheetId+ (\ s a -> s{_sdmgSpreadsheetId = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+sdmgUploadType :: Lens' SpreadsheetsDeveloperMetadataGet (Maybe Text)+sdmgUploadType+ = lens _sdmgUploadType+ (\ s a -> s{_sdmgUploadType = a})++-- | JSONP+sdmgCallback :: Lens' SpreadsheetsDeveloperMetadataGet (Maybe Text)+sdmgCallback+ = lens _sdmgCallback (\ s a -> s{_sdmgCallback = a})++instance GoogleRequest+ SpreadsheetsDeveloperMetadataGet where+ type Rs SpreadsheetsDeveloperMetadataGet =+ DeveloperMetadata+ type Scopes SpreadsheetsDeveloperMetadataGet =+ '["https://www.googleapis.com/auth/drive",+ "https://www.googleapis.com/auth/drive.file",+ "https://www.googleapis.com/auth/spreadsheets"]+ requestClient SpreadsheetsDeveloperMetadataGet'{..}+ = go _sdmgSpreadsheetId _sdmgMetadataId _sdmgXgafv+ _sdmgUploadProtocol+ _sdmgAccessToken+ _sdmgUploadType+ _sdmgCallback+ (Just AltJSON)+ sheetsService+ where go+ = buildClient+ (Proxy ::+ Proxy SpreadsheetsDeveloperMetadataGetResource)+ mempty
+ gen/Network/Google/Resource/Sheets/Spreadsheets/DeveloperMetadata/Search.hs view
@@ -0,0 +1,178 @@+{-# 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.Sheets.Spreadsheets.DeveloperMetadata.Search+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns all developer metadata matching the specified DataFilter. If the+-- provided DataFilter represents a DeveloperMetadataLookup object, this+-- will return all DeveloperMetadata entries selected by it. If the+-- DataFilter represents a location in a spreadsheet, this will return all+-- developer metadata associated with locations intersecting that region.+--+-- /See:/ <https://developers.google.com/sheets/ Google Sheets API Reference> for @sheets.spreadsheets.developerMetadata.search@.+module Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Search+ (+ -- * REST Resource+ SpreadsheetsDeveloperMetadataSearchResource++ -- * Creating a Request+ , spreadsheetsDeveloperMetadataSearch+ , SpreadsheetsDeveloperMetadataSearch++ -- * Request Lenses+ , sdmsXgafv+ , sdmsUploadProtocol+ , sdmsAccessToken+ , sdmsSpreadsheetId+ , sdmsUploadType+ , sdmsPayload+ , sdmsCallback+ ) where++import Network.Google.Prelude+import Network.Google.Sheets.Types++-- | A resource alias for @sheets.spreadsheets.developerMetadata.search@ method which the+-- 'SpreadsheetsDeveloperMetadataSearch' request conforms to.+type SpreadsheetsDeveloperMetadataSearchResource =+ "v4" :>+ "spreadsheets" :>+ Capture "spreadsheetId" Text :>+ "developerMetadata:search" :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] SearchDeveloperMetadataRequest :>+ Post '[JSON] SearchDeveloperMetadataResponse++-- | Returns all developer metadata matching the specified DataFilter. If the+-- provided DataFilter represents a DeveloperMetadataLookup object, this+-- will return all DeveloperMetadata entries selected by it. If the+-- DataFilter represents a location in a spreadsheet, this will return all+-- developer metadata associated with locations intersecting that region.+--+-- /See:/ 'spreadsheetsDeveloperMetadataSearch' smart constructor.+data SpreadsheetsDeveloperMetadataSearch = SpreadsheetsDeveloperMetadataSearch'+ { _sdmsXgafv :: !(Maybe Xgafv)+ , _sdmsUploadProtocol :: !(Maybe Text)+ , _sdmsAccessToken :: !(Maybe Text)+ , _sdmsSpreadsheetId :: !Text+ , _sdmsUploadType :: !(Maybe Text)+ , _sdmsPayload :: !SearchDeveloperMetadataRequest+ , _sdmsCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SpreadsheetsDeveloperMetadataSearch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdmsXgafv'+--+-- * 'sdmsUploadProtocol'+--+-- * 'sdmsAccessToken'+--+-- * 'sdmsSpreadsheetId'+--+-- * 'sdmsUploadType'+--+-- * 'sdmsPayload'+--+-- * 'sdmsCallback'+spreadsheetsDeveloperMetadataSearch+ :: Text -- ^ 'sdmsSpreadsheetId'+ -> SearchDeveloperMetadataRequest -- ^ 'sdmsPayload'+ -> SpreadsheetsDeveloperMetadataSearch+spreadsheetsDeveloperMetadataSearch pSdmsSpreadsheetId_ pSdmsPayload_ =+ SpreadsheetsDeveloperMetadataSearch'+ { _sdmsXgafv = Nothing+ , _sdmsUploadProtocol = Nothing+ , _sdmsAccessToken = Nothing+ , _sdmsSpreadsheetId = pSdmsSpreadsheetId_+ , _sdmsUploadType = Nothing+ , _sdmsPayload = pSdmsPayload_+ , _sdmsCallback = Nothing+ }++-- | V1 error format.+sdmsXgafv :: Lens' SpreadsheetsDeveloperMetadataSearch (Maybe Xgafv)+sdmsXgafv+ = lens _sdmsXgafv (\ s a -> s{_sdmsXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+sdmsUploadProtocol :: Lens' SpreadsheetsDeveloperMetadataSearch (Maybe Text)+sdmsUploadProtocol+ = lens _sdmsUploadProtocol+ (\ s a -> s{_sdmsUploadProtocol = a})++-- | OAuth access token.+sdmsAccessToken :: Lens' SpreadsheetsDeveloperMetadataSearch (Maybe Text)+sdmsAccessToken+ = lens _sdmsAccessToken+ (\ s a -> s{_sdmsAccessToken = a})++-- | The ID of the spreadsheet to retrieve metadata from.+sdmsSpreadsheetId :: Lens' SpreadsheetsDeveloperMetadataSearch Text+sdmsSpreadsheetId+ = lens _sdmsSpreadsheetId+ (\ s a -> s{_sdmsSpreadsheetId = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+sdmsUploadType :: Lens' SpreadsheetsDeveloperMetadataSearch (Maybe Text)+sdmsUploadType+ = lens _sdmsUploadType+ (\ s a -> s{_sdmsUploadType = a})++-- | Multipart request metadata.+sdmsPayload :: Lens' SpreadsheetsDeveloperMetadataSearch SearchDeveloperMetadataRequest+sdmsPayload+ = lens _sdmsPayload (\ s a -> s{_sdmsPayload = a})++-- | JSONP+sdmsCallback :: Lens' SpreadsheetsDeveloperMetadataSearch (Maybe Text)+sdmsCallback+ = lens _sdmsCallback (\ s a -> s{_sdmsCallback = a})++instance GoogleRequest+ SpreadsheetsDeveloperMetadataSearch where+ type Rs SpreadsheetsDeveloperMetadataSearch =+ SearchDeveloperMetadataResponse+ type Scopes SpreadsheetsDeveloperMetadataSearch =+ '["https://www.googleapis.com/auth/drive",+ "https://www.googleapis.com/auth/drive.file",+ "https://www.googleapis.com/auth/spreadsheets"]+ requestClient+ SpreadsheetsDeveloperMetadataSearch'{..}+ = go _sdmsSpreadsheetId _sdmsXgafv+ _sdmsUploadProtocol+ _sdmsAccessToken+ _sdmsUploadType+ _sdmsCallback+ (Just AltJSON)+ _sdmsPayload+ sheetsService+ where go+ = buildClient+ (Proxy ::+ Proxy SpreadsheetsDeveloperMetadataSearchResource)+ mempty
gen/Network/Google/Resource/Sheets/Spreadsheets/Get.hs view
@@ -45,13 +45,11 @@ -- * Request Lenses , sgXgafv , sgUploadProtocol- , sgPp , sgAccessToken , sgSpreadsheetId , sgUploadType , sgRanges , sgIncludeGridData- , sgBearerToken , sgCallback ) where @@ -66,14 +64,12 @@ Capture "spreadsheetId" Text :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :>- QueryParam "pp" Bool :>- QueryParam "access_token" Text :>- QueryParam "uploadType" Text :>- QueryParams "ranges" Text :>- QueryParam "includeGridData" Bool :>- QueryParam "bearer_token" Text :>- QueryParam "callback" Text :>- QueryParam "alt" AltJSON :> Get '[JSON] Spreadsheet+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParams "ranges" Text :>+ QueryParam "includeGridData" Bool :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Spreadsheet -- | Returns the spreadsheet at the given ID. The caller must specify the -- spreadsheet ID. By default, data within grids will not be returned. You@@ -91,13 +87,11 @@ data SpreadsheetsGet = SpreadsheetsGet' { _sgXgafv :: !(Maybe Xgafv) , _sgUploadProtocol :: !(Maybe Text)- , _sgPp :: !Bool , _sgAccessToken :: !(Maybe Text) , _sgSpreadsheetId :: !Text , _sgUploadType :: !(Maybe Text) , _sgRanges :: !(Maybe [Text]) , _sgIncludeGridData :: !(Maybe Bool)- , _sgBearerToken :: !(Maybe Text) , _sgCallback :: !(Maybe Text) } deriving (Eq,Show,Data,Typeable,Generic) @@ -109,8 +103,6 @@ -- -- * 'sgUploadProtocol' ----- * 'sgPp'--- -- * 'sgAccessToken' -- -- * 'sgSpreadsheetId'@@ -121,8 +113,6 @@ -- -- * 'sgIncludeGridData' ----- * 'sgBearerToken'--- -- * 'sgCallback' spreadsheetsGet :: Text -- ^ 'sgSpreadsheetId'@@ -131,13 +121,11 @@ SpreadsheetsGet' { _sgXgafv = Nothing , _sgUploadProtocol = Nothing- , _sgPp = True , _sgAccessToken = Nothing , _sgSpreadsheetId = pSgSpreadsheetId_ , _sgUploadType = Nothing , _sgRanges = Nothing , _sgIncludeGridData = Nothing- , _sgBearerToken = Nothing , _sgCallback = Nothing } @@ -151,10 +139,6 @@ = lens _sgUploadProtocol (\ s a -> s{_sgUploadProtocol = a}) --- | Pretty-print response.-sgPp :: Lens' SpreadsheetsGet Bool-sgPp = lens _sgPp (\ s a -> s{_sgPp = a})- -- | OAuth access token. sgAccessToken :: Lens' SpreadsheetsGet (Maybe Text) sgAccessToken@@ -186,12 +170,6 @@ = lens _sgIncludeGridData (\ s a -> s{_sgIncludeGridData = a}) --- | OAuth bearer token.-sgBearerToken :: Lens' SpreadsheetsGet (Maybe Text)-sgBearerToken- = lens _sgBearerToken- (\ s a -> s{_sgBearerToken = a})- -- | JSONP sgCallback :: Lens' SpreadsheetsGet (Maybe Text) sgCallback@@ -201,17 +179,16 @@ type Rs SpreadsheetsGet = Spreadsheet type Scopes SpreadsheetsGet = '["https://www.googleapis.com/auth/drive",+ "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.readonly", "https://www.googleapis.com/auth/spreadsheets", "https://www.googleapis.com/auth/spreadsheets.readonly"] requestClient SpreadsheetsGet'{..} = go _sgSpreadsheetId _sgXgafv _sgUploadProtocol- (Just _sgPp) _sgAccessToken _sgUploadType (_sgRanges ^. _Default) _sgIncludeGridData- _sgBearerToken _sgCallback (Just AltJSON) sheetsService
+ gen/Network/Google/Resource/Sheets/Spreadsheets/GetByDataFilter.hs view
@@ -0,0 +1,189 @@+{-# 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.Sheets.Spreadsheets.GetByDataFilter+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the spreadsheet at the given ID. The caller must specify the+-- spreadsheet ID. This method differs from GetSpreadsheet in that it+-- allows selecting which subsets of spreadsheet data to return by+-- specifying a dataFilters parameter. Multiple DataFilters can be+-- specified. Specifying one or more data filters will return the portions+-- of the spreadsheet that intersect ranges matched by any of the filters.+-- By default, data within grids will not be returned. You can include grid+-- data one of two ways: * Specify a field mask listing your desired fields+-- using the \`fields\` URL parameter in HTTP * Set the includeGridData+-- parameter to true. If a field mask is set, the \`includeGridData\`+-- parameter is ignored For large spreadsheets, it is recommended to+-- retrieve only the specific fields of the spreadsheet that you want.+--+-- /See:/ <https://developers.google.com/sheets/ Google Sheets API Reference> for @sheets.spreadsheets.getByDataFilter@.+module Network.Google.Resource.Sheets.Spreadsheets.GetByDataFilter+ (+ -- * REST Resource+ SpreadsheetsGetByDataFilterResource++ -- * Creating a Request+ , spreadsheetsGetByDataFilter+ , SpreadsheetsGetByDataFilter++ -- * Request Lenses+ , sgbdfXgafv+ , sgbdfUploadProtocol+ , sgbdfAccessToken+ , sgbdfSpreadsheetId+ , sgbdfUploadType+ , sgbdfPayload+ , sgbdfCallback+ ) where++import Network.Google.Prelude+import Network.Google.Sheets.Types++-- | A resource alias for @sheets.spreadsheets.getByDataFilter@ method which the+-- 'SpreadsheetsGetByDataFilter' request conforms to.+type SpreadsheetsGetByDataFilterResource =+ "v4" :>+ "spreadsheets" :>+ CaptureMode "spreadsheetId" "getByDataFilter" Text :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] GetSpreadsheetByDataFilterRequest :>+ Post '[JSON] Spreadsheet++-- | Returns the spreadsheet at the given ID. The caller must specify the+-- spreadsheet ID. This method differs from GetSpreadsheet in that it+-- allows selecting which subsets of spreadsheet data to return by+-- specifying a dataFilters parameter. Multiple DataFilters can be+-- specified. Specifying one or more data filters will return the portions+-- of the spreadsheet that intersect ranges matched by any of the filters.+-- By default, data within grids will not be returned. You can include grid+-- data one of two ways: * Specify a field mask listing your desired fields+-- using the \`fields\` URL parameter in HTTP * Set the includeGridData+-- parameter to true. If a field mask is set, the \`includeGridData\`+-- parameter is ignored For large spreadsheets, it is recommended to+-- retrieve only the specific fields of the spreadsheet that you want.+--+-- /See:/ 'spreadsheetsGetByDataFilter' smart constructor.+data SpreadsheetsGetByDataFilter = SpreadsheetsGetByDataFilter'+ { _sgbdfXgafv :: !(Maybe Xgafv)+ , _sgbdfUploadProtocol :: !(Maybe Text)+ , _sgbdfAccessToken :: !(Maybe Text)+ , _sgbdfSpreadsheetId :: !Text+ , _sgbdfUploadType :: !(Maybe Text)+ , _sgbdfPayload :: !GetSpreadsheetByDataFilterRequest+ , _sgbdfCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SpreadsheetsGetByDataFilter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sgbdfXgafv'+--+-- * 'sgbdfUploadProtocol'+--+-- * 'sgbdfAccessToken'+--+-- * 'sgbdfSpreadsheetId'+--+-- * 'sgbdfUploadType'+--+-- * 'sgbdfPayload'+--+-- * 'sgbdfCallback'+spreadsheetsGetByDataFilter+ :: Text -- ^ 'sgbdfSpreadsheetId'+ -> GetSpreadsheetByDataFilterRequest -- ^ 'sgbdfPayload'+ -> SpreadsheetsGetByDataFilter+spreadsheetsGetByDataFilter pSgbdfSpreadsheetId_ pSgbdfPayload_ =+ SpreadsheetsGetByDataFilter'+ { _sgbdfXgafv = Nothing+ , _sgbdfUploadProtocol = Nothing+ , _sgbdfAccessToken = Nothing+ , _sgbdfSpreadsheetId = pSgbdfSpreadsheetId_+ , _sgbdfUploadType = Nothing+ , _sgbdfPayload = pSgbdfPayload_+ , _sgbdfCallback = Nothing+ }++-- | V1 error format.+sgbdfXgafv :: Lens' SpreadsheetsGetByDataFilter (Maybe Xgafv)+sgbdfXgafv+ = lens _sgbdfXgafv (\ s a -> s{_sgbdfXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+sgbdfUploadProtocol :: Lens' SpreadsheetsGetByDataFilter (Maybe Text)+sgbdfUploadProtocol+ = lens _sgbdfUploadProtocol+ (\ s a -> s{_sgbdfUploadProtocol = a})++-- | OAuth access token.+sgbdfAccessToken :: Lens' SpreadsheetsGetByDataFilter (Maybe Text)+sgbdfAccessToken+ = lens _sgbdfAccessToken+ (\ s a -> s{_sgbdfAccessToken = a})++-- | The spreadsheet to request.+sgbdfSpreadsheetId :: Lens' SpreadsheetsGetByDataFilter Text+sgbdfSpreadsheetId+ = lens _sgbdfSpreadsheetId+ (\ s a -> s{_sgbdfSpreadsheetId = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+sgbdfUploadType :: Lens' SpreadsheetsGetByDataFilter (Maybe Text)+sgbdfUploadType+ = lens _sgbdfUploadType+ (\ s a -> s{_sgbdfUploadType = a})++-- | Multipart request metadata.+sgbdfPayload :: Lens' SpreadsheetsGetByDataFilter GetSpreadsheetByDataFilterRequest+sgbdfPayload+ = lens _sgbdfPayload (\ s a -> s{_sgbdfPayload = a})++-- | JSONP+sgbdfCallback :: Lens' SpreadsheetsGetByDataFilter (Maybe Text)+sgbdfCallback+ = lens _sgbdfCallback+ (\ s a -> s{_sgbdfCallback = a})++instance GoogleRequest SpreadsheetsGetByDataFilter+ where+ type Rs SpreadsheetsGetByDataFilter = Spreadsheet+ type Scopes SpreadsheetsGetByDataFilter =+ '["https://www.googleapis.com/auth/drive",+ "https://www.googleapis.com/auth/drive.file",+ "https://www.googleapis.com/auth/spreadsheets"]+ requestClient SpreadsheetsGetByDataFilter'{..}+ = go _sgbdfSpreadsheetId _sgbdfXgafv+ _sgbdfUploadProtocol+ _sgbdfAccessToken+ _sgbdfUploadType+ _sgbdfCallback+ (Just AltJSON)+ _sgbdfPayload+ sheetsService+ where go+ = buildClient+ (Proxy :: Proxy SpreadsheetsGetByDataFilterResource)+ mempty
gen/Network/Google/Resource/Sheets/Spreadsheets/Sheets/CopyTo.hs view
@@ -36,12 +36,10 @@ -- * Request Lenses , ssctXgafv , ssctUploadProtocol- , ssctPp , ssctAccessToken , ssctSpreadsheetId , ssctUploadType , ssctPayload- , ssctBearerToken , ssctSheetId , ssctCallback ) where@@ -59,15 +57,12 @@ CaptureMode "sheetId" "copyTo" (Textual Int32) :> QueryParam "$.xgafv" Xgafv :> 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]- CopySheetToAnotherSpreadsheetRequest- :> Post '[JSON] SheetProperties+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] CopySheetToAnotherSpreadsheetRequest+ :> Post '[JSON] SheetProperties -- | Copies a single sheet from a spreadsheet to another spreadsheet. Returns -- the properties of the newly created sheet.@@ -76,12 +71,10 @@ data SpreadsheetsSheetsCopyTo = SpreadsheetsSheetsCopyTo' { _ssctXgafv :: !(Maybe Xgafv) , _ssctUploadProtocol :: !(Maybe Text)- , _ssctPp :: !Bool , _ssctAccessToken :: !(Maybe Text) , _ssctSpreadsheetId :: !Text , _ssctUploadType :: !(Maybe Text) , _ssctPayload :: !CopySheetToAnotherSpreadsheetRequest- , _ssctBearerToken :: !(Maybe Text) , _ssctSheetId :: !(Textual Int32) , _ssctCallback :: !(Maybe Text) } deriving (Eq,Show,Data,Typeable,Generic)@@ -94,8 +87,6 @@ -- -- * 'ssctUploadProtocol' ----- * 'ssctPp'--- -- * 'ssctAccessToken' -- -- * 'ssctSpreadsheetId'@@ -104,8 +95,6 @@ -- -- * 'ssctPayload' ----- * 'ssctBearerToken'--- -- * 'ssctSheetId' -- -- * 'ssctCallback'@@ -118,12 +107,10 @@ SpreadsheetsSheetsCopyTo' { _ssctXgafv = Nothing , _ssctUploadProtocol = Nothing- , _ssctPp = True , _ssctAccessToken = Nothing , _ssctSpreadsheetId = pSsctSpreadsheetId_ , _ssctUploadType = Nothing , _ssctPayload = pSsctPayload_- , _ssctBearerToken = Nothing , _ssctSheetId = _Coerce # pSsctSheetId_ , _ssctCallback = Nothing }@@ -139,10 +126,6 @@ = lens _ssctUploadProtocol (\ s a -> s{_ssctUploadProtocol = a}) --- | Pretty-print response.-ssctPp :: Lens' SpreadsheetsSheetsCopyTo Bool-ssctPp = lens _ssctPp (\ s a -> s{_ssctPp = a})- -- | OAuth access token. ssctAccessToken :: Lens' SpreadsheetsSheetsCopyTo (Maybe Text) ssctAccessToken@@ -166,12 +149,6 @@ ssctPayload = lens _ssctPayload (\ s a -> s{_ssctPayload = a}) --- | OAuth bearer token.-ssctBearerToken :: Lens' SpreadsheetsSheetsCopyTo (Maybe Text)-ssctBearerToken- = lens _ssctBearerToken- (\ s a -> s{_ssctBearerToken = a})- -- | The ID of the sheet to copy. ssctSheetId :: Lens' SpreadsheetsSheetsCopyTo Int32 ssctSheetId@@ -187,14 +164,13 @@ type Rs SpreadsheetsSheetsCopyTo = SheetProperties type Scopes SpreadsheetsSheetsCopyTo = '["https://www.googleapis.com/auth/drive",+ "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/spreadsheets"] requestClient SpreadsheetsSheetsCopyTo'{..} = go _ssctSpreadsheetId _ssctSheetId _ssctXgafv _ssctUploadProtocol- (Just _ssctPp) _ssctAccessToken _ssctUploadType- _ssctBearerToken _ssctCallback (Just AltJSON) _ssctPayload
gen/Network/Google/Resource/Sheets/Spreadsheets/Values/Append.hs view
@@ -23,8 +23,9 @@ -- Appends values to a spreadsheet. The input range is used to search for -- existing data and find a \"table\" within that range. Values will be -- appended to the next row of the table, starting with the first column of--- the table. See the [guide](\/sheets\/guides\/values#appending_values)--- and [sample code](\/sheets\/samples\/writing#append_values) for specific+-- the table. See the+-- [guide](\/sheets\/api\/guides\/values#appending_values) and [sample+-- code](\/sheets\/api\/samples\/writing#append_values) for specific -- details of how tables are detected and data is appended. The caller must -- specify the spreadsheet ID, range, and a valueInputOption. The -- \`valueInputOption\` only controls how the input data will be added to@@ -44,14 +45,12 @@ -- * Request Lenses , svaXgafv , svaUploadProtocol- , svaPp , svaAccessToken , svaSpreadsheetId , svaUploadType , svaValueInputOption , svaPayload , svaInsertDataOption- , svaBearerToken , svaRange , svaIncludeValuesInResponse , svaResponseDateTimeRenderOption@@ -72,27 +71,24 @@ CaptureMode "range" "append" Text :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :>- QueryParam "pp" Bool :>- QueryParam "access_token" Text :>- QueryParam "uploadType" Text :>- QueryParam "valueInputOption" Text :>- QueryParam "insertDataOption" Text :>- QueryParam "bearer_token" Text :>- QueryParam "includeValuesInResponse" Bool :>- QueryParam "responseDateTimeRenderOption" Text- :>- QueryParam "callback" Text :>- QueryParam "responseValueRenderOption" Text- :>- QueryParam "alt" AltJSON :>- ReqBody '[JSON] ValueRange :>- Post '[JSON] AppendValuesResponse+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "valueInputOption" Text :>+ QueryParam "insertDataOption" Text :>+ QueryParam "includeValuesInResponse" Bool :>+ QueryParam "responseDateTimeRenderOption" Text :>+ QueryParam "callback" Text :>+ QueryParam "responseValueRenderOption" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] ValueRange :>+ Post '[JSON] AppendValuesResponse -- | Appends values to a spreadsheet. The input range is used to search for -- existing data and find a \"table\" within that range. Values will be -- appended to the next row of the table, starting with the first column of--- the table. See the [guide](\/sheets\/guides\/values#appending_values)--- and [sample code](\/sheets\/samples\/writing#append_values) for specific+-- the table. See the+-- [guide](\/sheets\/api\/guides\/values#appending_values) and [sample+-- code](\/sheets\/api\/samples\/writing#append_values) for specific -- details of how tables are detected and data is appended. The caller must -- specify the spreadsheet ID, range, and a valueInputOption. The -- \`valueInputOption\` only controls how the input data will be added to@@ -103,14 +99,12 @@ data SpreadsheetsValuesAppend = SpreadsheetsValuesAppend' { _svaXgafv :: !(Maybe Xgafv) , _svaUploadProtocol :: !(Maybe Text)- , _svaPp :: !Bool , _svaAccessToken :: !(Maybe Text) , _svaSpreadsheetId :: !Text , _svaUploadType :: !(Maybe Text) , _svaValueInputOption :: !(Maybe Text) , _svaPayload :: !ValueRange , _svaInsertDataOption :: !(Maybe Text)- , _svaBearerToken :: !(Maybe Text) , _svaRange :: !Text , _svaIncludeValuesInResponse :: !(Maybe Bool) , _svaResponseDateTimeRenderOption :: !(Maybe Text)@@ -126,8 +120,6 @@ -- -- * 'svaUploadProtocol' ----- * 'svaPp'--- -- * 'svaAccessToken' -- -- * 'svaSpreadsheetId'@@ -140,8 +132,6 @@ -- -- * 'svaInsertDataOption' ----- * 'svaBearerToken'--- -- * 'svaRange' -- -- * 'svaIncludeValuesInResponse'@@ -160,14 +150,12 @@ SpreadsheetsValuesAppend' { _svaXgafv = Nothing , _svaUploadProtocol = Nothing- , _svaPp = True , _svaAccessToken = Nothing , _svaSpreadsheetId = pSvaSpreadsheetId_ , _svaUploadType = Nothing , _svaValueInputOption = Nothing , _svaPayload = pSvaPayload_ , _svaInsertDataOption = Nothing- , _svaBearerToken = Nothing , _svaRange = pSvaRange_ , _svaIncludeValuesInResponse = Nothing , _svaResponseDateTimeRenderOption = Nothing@@ -185,10 +173,6 @@ = lens _svaUploadProtocol (\ s a -> s{_svaUploadProtocol = a}) --- | Pretty-print response.-svaPp :: Lens' SpreadsheetsValuesAppend Bool-svaPp = lens _svaPp (\ s a -> s{_svaPp = a})- -- | OAuth access token. svaAccessToken :: Lens' SpreadsheetsValuesAppend (Maybe Text) svaAccessToken@@ -224,12 +208,6 @@ = lens _svaInsertDataOption (\ s a -> s{_svaInsertDataOption = a}) --- | OAuth bearer token.-svaBearerToken :: Lens' SpreadsheetsValuesAppend (Maybe Text)-svaBearerToken- = lens _svaBearerToken- (\ s a -> s{_svaBearerToken = a})- -- | The A1 notation of a range to search for a logical table of data. Values -- will be appended after the last row of the table. svaRange :: Lens' SpreadsheetsValuesAppend Text@@ -269,16 +247,15 @@ AppendValuesResponse type Scopes SpreadsheetsValuesAppend = '["https://www.googleapis.com/auth/drive",+ "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/spreadsheets"] requestClient SpreadsheetsValuesAppend'{..} = go _svaSpreadsheetId _svaRange _svaXgafv _svaUploadProtocol- (Just _svaPp) _svaAccessToken _svaUploadType _svaValueInputOption _svaInsertDataOption- _svaBearerToken _svaIncludeValuesInResponse _svaResponseDateTimeRenderOption _svaCallback
gen/Network/Google/Resource/Sheets/Spreadsheets/Values/BatchClear.hs view
@@ -38,12 +38,10 @@ -- * Request Lenses , svbcXgafv , svbcUploadProtocol- , svbcPp , svbcAccessToken , svbcSpreadsheetId , svbcUploadType , svbcPayload- , svbcBearerToken , svbcCallback ) where @@ -59,14 +57,12 @@ "values:batchClear" :> QueryParam "$.xgafv" Xgafv :> 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] BatchClearValuesRequest :>- Post '[JSON] BatchClearValuesResponse+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] BatchClearValuesRequest :>+ Post '[JSON] BatchClearValuesResponse -- | Clears one or more ranges of values from a spreadsheet. The caller must -- specify the spreadsheet ID and one or more ranges. Only values are@@ -77,12 +73,10 @@ data SpreadsheetsValuesBatchClear = SpreadsheetsValuesBatchClear' { _svbcXgafv :: !(Maybe Xgafv) , _svbcUploadProtocol :: !(Maybe Text)- , _svbcPp :: !Bool , _svbcAccessToken :: !(Maybe Text) , _svbcSpreadsheetId :: !Text , _svbcUploadType :: !(Maybe Text) , _svbcPayload :: !BatchClearValuesRequest- , _svbcBearerToken :: !(Maybe Text) , _svbcCallback :: !(Maybe Text) } deriving (Eq,Show,Data,Typeable,Generic) @@ -94,8 +88,6 @@ -- -- * 'svbcUploadProtocol' ----- * 'svbcPp'--- -- * 'svbcAccessToken' -- -- * 'svbcSpreadsheetId'@@ -104,8 +96,6 @@ -- -- * 'svbcPayload' ----- * 'svbcBearerToken'--- -- * 'svbcCallback' spreadsheetsValuesBatchClear :: Text -- ^ 'svbcSpreadsheetId'@@ -115,12 +105,10 @@ SpreadsheetsValuesBatchClear' { _svbcXgafv = Nothing , _svbcUploadProtocol = Nothing- , _svbcPp = True , _svbcAccessToken = Nothing , _svbcSpreadsheetId = pSvbcSpreadsheetId_ , _svbcUploadType = Nothing , _svbcPayload = pSvbcPayload_- , _svbcBearerToken = Nothing , _svbcCallback = Nothing } @@ -135,10 +123,6 @@ = lens _svbcUploadProtocol (\ s a -> s{_svbcUploadProtocol = a}) --- | Pretty-print response.-svbcPp :: Lens' SpreadsheetsValuesBatchClear Bool-svbcPp = lens _svbcPp (\ s a -> s{_svbcPp = a})- -- | OAuth access token. svbcAccessToken :: Lens' SpreadsheetsValuesBatchClear (Maybe Text) svbcAccessToken@@ -162,12 +146,6 @@ svbcPayload = lens _svbcPayload (\ s a -> s{_svbcPayload = a}) --- | OAuth bearer token.-svbcBearerToken :: Lens' SpreadsheetsValuesBatchClear (Maybe Text)-svbcBearerToken- = lens _svbcBearerToken- (\ s a -> s{_svbcBearerToken = a})- -- | JSONP svbcCallback :: Lens' SpreadsheetsValuesBatchClear (Maybe Text) svbcCallback@@ -179,14 +157,13 @@ BatchClearValuesResponse type Scopes SpreadsheetsValuesBatchClear = '["https://www.googleapis.com/auth/drive",+ "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/spreadsheets"] requestClient SpreadsheetsValuesBatchClear'{..} = go _svbcSpreadsheetId _svbcXgafv _svbcUploadProtocol- (Just _svbcPp) _svbcAccessToken _svbcUploadType- _svbcBearerToken _svbcCallback (Just AltJSON) _svbcPayload
+ gen/Network/Google/Resource/Sheets/Spreadsheets/Values/BatchClearByDataFilter.hs view
@@ -0,0 +1,183 @@+{-# 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.Sheets.Spreadsheets.Values.BatchClearByDataFilter+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Clears one or more ranges of values from a spreadsheet. The caller must+-- specify the spreadsheet ID and one or more DataFilters. Ranges matching+-- any of the specified data filters will be cleared. Only values are+-- cleared -- all other properties of the cell (such as formatting, data+-- validation, etc..) are kept.+--+-- /See:/ <https://developers.google.com/sheets/ Google Sheets API Reference> for @sheets.spreadsheets.values.batchClearByDataFilter@.+module Network.Google.Resource.Sheets.Spreadsheets.Values.BatchClearByDataFilter+ (+ -- * REST Resource+ SpreadsheetsValuesBatchClearByDataFilterResource++ -- * Creating a Request+ , spreadsheetsValuesBatchClearByDataFilter+ , SpreadsheetsValuesBatchClearByDataFilter++ -- * Request Lenses+ , svbcbdfXgafv+ , svbcbdfUploadProtocol+ , svbcbdfAccessToken+ , svbcbdfSpreadsheetId+ , svbcbdfUploadType+ , svbcbdfPayload+ , svbcbdfCallback+ ) where++import Network.Google.Prelude+import Network.Google.Sheets.Types++-- | A resource alias for @sheets.spreadsheets.values.batchClearByDataFilter@ method which the+-- 'SpreadsheetsValuesBatchClearByDataFilter' request conforms to.+type SpreadsheetsValuesBatchClearByDataFilterResource+ =+ "v4" :>+ "spreadsheets" :>+ Capture "spreadsheetId" Text :>+ "values:batchClearByDataFilter" :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] BatchClearValuesByDataFilterRequest+ :> Post '[JSON] BatchClearValuesByDataFilterResponse++-- | Clears one or more ranges of values from a spreadsheet. The caller must+-- specify the spreadsheet ID and one or more DataFilters. Ranges matching+-- any of the specified data filters will be cleared. Only values are+-- cleared -- all other properties of the cell (such as formatting, data+-- validation, etc..) are kept.+--+-- /See:/ 'spreadsheetsValuesBatchClearByDataFilter' smart constructor.+data SpreadsheetsValuesBatchClearByDataFilter = SpreadsheetsValuesBatchClearByDataFilter'+ { _svbcbdfXgafv :: !(Maybe Xgafv)+ , _svbcbdfUploadProtocol :: !(Maybe Text)+ , _svbcbdfAccessToken :: !(Maybe Text)+ , _svbcbdfSpreadsheetId :: !Text+ , _svbcbdfUploadType :: !(Maybe Text)+ , _svbcbdfPayload :: !BatchClearValuesByDataFilterRequest+ , _svbcbdfCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SpreadsheetsValuesBatchClearByDataFilter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'svbcbdfXgafv'+--+-- * 'svbcbdfUploadProtocol'+--+-- * 'svbcbdfAccessToken'+--+-- * 'svbcbdfSpreadsheetId'+--+-- * 'svbcbdfUploadType'+--+-- * 'svbcbdfPayload'+--+-- * 'svbcbdfCallback'+spreadsheetsValuesBatchClearByDataFilter+ :: Text -- ^ 'svbcbdfSpreadsheetId'+ -> BatchClearValuesByDataFilterRequest -- ^ 'svbcbdfPayload'+ -> SpreadsheetsValuesBatchClearByDataFilter+spreadsheetsValuesBatchClearByDataFilter pSvbcbdfSpreadsheetId_ pSvbcbdfPayload_ =+ SpreadsheetsValuesBatchClearByDataFilter'+ { _svbcbdfXgafv = Nothing+ , _svbcbdfUploadProtocol = Nothing+ , _svbcbdfAccessToken = Nothing+ , _svbcbdfSpreadsheetId = pSvbcbdfSpreadsheetId_+ , _svbcbdfUploadType = Nothing+ , _svbcbdfPayload = pSvbcbdfPayload_+ , _svbcbdfCallback = Nothing+ }++-- | V1 error format.+svbcbdfXgafv :: Lens' SpreadsheetsValuesBatchClearByDataFilter (Maybe Xgafv)+svbcbdfXgafv+ = lens _svbcbdfXgafv (\ s a -> s{_svbcbdfXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+svbcbdfUploadProtocol :: Lens' SpreadsheetsValuesBatchClearByDataFilter (Maybe Text)+svbcbdfUploadProtocol+ = lens _svbcbdfUploadProtocol+ (\ s a -> s{_svbcbdfUploadProtocol = a})++-- | OAuth access token.+svbcbdfAccessToken :: Lens' SpreadsheetsValuesBatchClearByDataFilter (Maybe Text)+svbcbdfAccessToken+ = lens _svbcbdfAccessToken+ (\ s a -> s{_svbcbdfAccessToken = a})++-- | The ID of the spreadsheet to update.+svbcbdfSpreadsheetId :: Lens' SpreadsheetsValuesBatchClearByDataFilter Text+svbcbdfSpreadsheetId+ = lens _svbcbdfSpreadsheetId+ (\ s a -> s{_svbcbdfSpreadsheetId = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+svbcbdfUploadType :: Lens' SpreadsheetsValuesBatchClearByDataFilter (Maybe Text)+svbcbdfUploadType+ = lens _svbcbdfUploadType+ (\ s a -> s{_svbcbdfUploadType = a})++-- | Multipart request metadata.+svbcbdfPayload :: Lens' SpreadsheetsValuesBatchClearByDataFilter BatchClearValuesByDataFilterRequest+svbcbdfPayload+ = lens _svbcbdfPayload+ (\ s a -> s{_svbcbdfPayload = a})++-- | JSONP+svbcbdfCallback :: Lens' SpreadsheetsValuesBatchClearByDataFilter (Maybe Text)+svbcbdfCallback+ = lens _svbcbdfCallback+ (\ s a -> s{_svbcbdfCallback = a})++instance GoogleRequest+ SpreadsheetsValuesBatchClearByDataFilter where+ type Rs SpreadsheetsValuesBatchClearByDataFilter =+ BatchClearValuesByDataFilterResponse+ type Scopes SpreadsheetsValuesBatchClearByDataFilter+ =+ '["https://www.googleapis.com/auth/drive",+ "https://www.googleapis.com/auth/drive.file",+ "https://www.googleapis.com/auth/spreadsheets"]+ requestClient+ SpreadsheetsValuesBatchClearByDataFilter'{..}+ = go _svbcbdfSpreadsheetId _svbcbdfXgafv+ _svbcbdfUploadProtocol+ _svbcbdfAccessToken+ _svbcbdfUploadType+ _svbcbdfCallback+ (Just AltJSON)+ _svbcbdfPayload+ sheetsService+ where go+ = buildClient+ (Proxy ::+ Proxy+ SpreadsheetsValuesBatchClearByDataFilterResource)+ mempty
gen/Network/Google/Resource/Sheets/Spreadsheets/Values/BatchGet.hs view
@@ -37,12 +37,10 @@ , svbgXgafv , svbgValueRenderOption , svbgUploadProtocol- , svbgPp , svbgAccessToken , svbgSpreadsheetId , svbgUploadType , svbgRanges- , svbgBearerToken , svbgDateTimeRenderOption , svbgMajorDimension , svbgCallback@@ -61,16 +59,14 @@ QueryParam "$.xgafv" Xgafv :> QueryParam "valueRenderOption" Text :> QueryParam "upload_protocol" Text :>- QueryParam "pp" Bool :>- QueryParam "access_token" Text :>- QueryParam "uploadType" Text :>- QueryParams "ranges" Text :>- QueryParam "bearer_token" Text :>- QueryParam "dateTimeRenderOption" Text :>- QueryParam "majorDimension" Text :>- QueryParam "callback" Text :>- QueryParam "alt" AltJSON :>- Get '[JSON] BatchGetValuesResponse+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParams "ranges" Text :>+ QueryParam "dateTimeRenderOption" Text :>+ QueryParam "majorDimension" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] BatchGetValuesResponse -- | Returns one or more ranges of values from a spreadsheet. The caller must -- specify the spreadsheet ID and one or more ranges.@@ -80,12 +76,10 @@ { _svbgXgafv :: !(Maybe Xgafv) , _svbgValueRenderOption :: !(Maybe Text) , _svbgUploadProtocol :: !(Maybe Text)- , _svbgPp :: !Bool , _svbgAccessToken :: !(Maybe Text) , _svbgSpreadsheetId :: !Text , _svbgUploadType :: !(Maybe Text) , _svbgRanges :: !(Maybe [Text])- , _svbgBearerToken :: !(Maybe Text) , _svbgDateTimeRenderOption :: !(Maybe Text) , _svbgMajorDimension :: !(Maybe Text) , _svbgCallback :: !(Maybe Text)@@ -101,8 +95,6 @@ -- -- * 'svbgUploadProtocol' ----- * 'svbgPp'--- -- * 'svbgAccessToken' -- -- * 'svbgSpreadsheetId'@@ -111,8 +103,6 @@ -- -- * 'svbgRanges' ----- * 'svbgBearerToken'--- -- * 'svbgDateTimeRenderOption' -- -- * 'svbgMajorDimension'@@ -126,12 +116,10 @@ { _svbgXgafv = Nothing , _svbgValueRenderOption = Nothing , _svbgUploadProtocol = Nothing- , _svbgPp = True , _svbgAccessToken = Nothing , _svbgSpreadsheetId = pSvbgSpreadsheetId_ , _svbgUploadType = Nothing , _svbgRanges = Nothing- , _svbgBearerToken = Nothing , _svbgDateTimeRenderOption = Nothing , _svbgMajorDimension = Nothing , _svbgCallback = Nothing@@ -155,10 +143,6 @@ = lens _svbgUploadProtocol (\ s a -> s{_svbgUploadProtocol = a}) --- | Pretty-print response.-svbgPp :: Lens' SpreadsheetsValuesBatchGet Bool-svbgPp = lens _svbgPp (\ s a -> s{_svbgPp = a})- -- | OAuth access token. svbgAccessToken :: Lens' SpreadsheetsValuesBatchGet (Maybe Text) svbgAccessToken@@ -184,12 +168,6 @@ _Default . _Coerce --- | OAuth bearer token.-svbgBearerToken :: Lens' SpreadsheetsValuesBatchGet (Maybe Text)-svbgBearerToken- = lens _svbgBearerToken- (\ s a -> s{_svbgBearerToken = a})- -- | How dates, times, and durations should be represented in the output. -- This is ignored if value_render_option is FORMATTED_VALUE. The default -- dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].@@ -219,6 +197,7 @@ BatchGetValuesResponse type Scopes SpreadsheetsValuesBatchGet = '["https://www.googleapis.com/auth/drive",+ "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.readonly", "https://www.googleapis.com/auth/spreadsheets", "https://www.googleapis.com/auth/spreadsheets.readonly"]@@ -226,11 +205,9 @@ = go _svbgSpreadsheetId _svbgXgafv _svbgValueRenderOption _svbgUploadProtocol- (Just _svbgPp) _svbgAccessToken _svbgUploadType (_svbgRanges ^. _Default)- _svbgBearerToken _svbgDateTimeRenderOption _svbgMajorDimension _svbgCallback
+ gen/Network/Google/Resource/Sheets/Spreadsheets/Values/BatchGetByDataFilter.hs view
@@ -0,0 +1,178 @@+{-# 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.Sheets.Spreadsheets.Values.BatchGetByDataFilter+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns one or more ranges of values that match the specified data+-- filters. The caller must specify the spreadsheet ID and one or more+-- DataFilters. Ranges that match any of the data filters in the request+-- will be returned.+--+-- /See:/ <https://developers.google.com/sheets/ Google Sheets API Reference> for @sheets.spreadsheets.values.batchGetByDataFilter@.+module Network.Google.Resource.Sheets.Spreadsheets.Values.BatchGetByDataFilter+ (+ -- * REST Resource+ SpreadsheetsValuesBatchGetByDataFilterResource++ -- * Creating a Request+ , spreadsheetsValuesBatchGetByDataFilter+ , SpreadsheetsValuesBatchGetByDataFilter++ -- * Request Lenses+ , svbgbdfXgafv+ , svbgbdfUploadProtocol+ , svbgbdfAccessToken+ , svbgbdfSpreadsheetId+ , svbgbdfUploadType+ , svbgbdfPayload+ , svbgbdfCallback+ ) where++import Network.Google.Prelude+import Network.Google.Sheets.Types++-- | A resource alias for @sheets.spreadsheets.values.batchGetByDataFilter@ method which the+-- 'SpreadsheetsValuesBatchGetByDataFilter' request conforms to.+type SpreadsheetsValuesBatchGetByDataFilterResource =+ "v4" :>+ "spreadsheets" :>+ Capture "spreadsheetId" Text :>+ "values:batchGetByDataFilter" :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] BatchGetValuesByDataFilterRequest :>+ Post '[JSON] BatchGetValuesByDataFilterResponse++-- | Returns one or more ranges of values that match the specified data+-- filters. The caller must specify the spreadsheet ID and one or more+-- DataFilters. Ranges that match any of the data filters in the request+-- will be returned.+--+-- /See:/ 'spreadsheetsValuesBatchGetByDataFilter' smart constructor.+data SpreadsheetsValuesBatchGetByDataFilter = SpreadsheetsValuesBatchGetByDataFilter'+ { _svbgbdfXgafv :: !(Maybe Xgafv)+ , _svbgbdfUploadProtocol :: !(Maybe Text)+ , _svbgbdfAccessToken :: !(Maybe Text)+ , _svbgbdfSpreadsheetId :: !Text+ , _svbgbdfUploadType :: !(Maybe Text)+ , _svbgbdfPayload :: !BatchGetValuesByDataFilterRequest+ , _svbgbdfCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SpreadsheetsValuesBatchGetByDataFilter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'svbgbdfXgafv'+--+-- * 'svbgbdfUploadProtocol'+--+-- * 'svbgbdfAccessToken'+--+-- * 'svbgbdfSpreadsheetId'+--+-- * 'svbgbdfUploadType'+--+-- * 'svbgbdfPayload'+--+-- * 'svbgbdfCallback'+spreadsheetsValuesBatchGetByDataFilter+ :: Text -- ^ 'svbgbdfSpreadsheetId'+ -> BatchGetValuesByDataFilterRequest -- ^ 'svbgbdfPayload'+ -> SpreadsheetsValuesBatchGetByDataFilter+spreadsheetsValuesBatchGetByDataFilter pSvbgbdfSpreadsheetId_ pSvbgbdfPayload_ =+ SpreadsheetsValuesBatchGetByDataFilter'+ { _svbgbdfXgafv = Nothing+ , _svbgbdfUploadProtocol = Nothing+ , _svbgbdfAccessToken = Nothing+ , _svbgbdfSpreadsheetId = pSvbgbdfSpreadsheetId_+ , _svbgbdfUploadType = Nothing+ , _svbgbdfPayload = pSvbgbdfPayload_+ , _svbgbdfCallback = Nothing+ }++-- | V1 error format.+svbgbdfXgafv :: Lens' SpreadsheetsValuesBatchGetByDataFilter (Maybe Xgafv)+svbgbdfXgafv+ = lens _svbgbdfXgafv (\ s a -> s{_svbgbdfXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+svbgbdfUploadProtocol :: Lens' SpreadsheetsValuesBatchGetByDataFilter (Maybe Text)+svbgbdfUploadProtocol+ = lens _svbgbdfUploadProtocol+ (\ s a -> s{_svbgbdfUploadProtocol = a})++-- | OAuth access token.+svbgbdfAccessToken :: Lens' SpreadsheetsValuesBatchGetByDataFilter (Maybe Text)+svbgbdfAccessToken+ = lens _svbgbdfAccessToken+ (\ s a -> s{_svbgbdfAccessToken = a})++-- | The ID of the spreadsheet to retrieve data from.+svbgbdfSpreadsheetId :: Lens' SpreadsheetsValuesBatchGetByDataFilter Text+svbgbdfSpreadsheetId+ = lens _svbgbdfSpreadsheetId+ (\ s a -> s{_svbgbdfSpreadsheetId = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+svbgbdfUploadType :: Lens' SpreadsheetsValuesBatchGetByDataFilter (Maybe Text)+svbgbdfUploadType+ = lens _svbgbdfUploadType+ (\ s a -> s{_svbgbdfUploadType = a})++-- | Multipart request metadata.+svbgbdfPayload :: Lens' SpreadsheetsValuesBatchGetByDataFilter BatchGetValuesByDataFilterRequest+svbgbdfPayload+ = lens _svbgbdfPayload+ (\ s a -> s{_svbgbdfPayload = a})++-- | JSONP+svbgbdfCallback :: Lens' SpreadsheetsValuesBatchGetByDataFilter (Maybe Text)+svbgbdfCallback+ = lens _svbgbdfCallback+ (\ s a -> s{_svbgbdfCallback = a})++instance GoogleRequest+ SpreadsheetsValuesBatchGetByDataFilter where+ type Rs SpreadsheetsValuesBatchGetByDataFilter =+ BatchGetValuesByDataFilterResponse+ type Scopes SpreadsheetsValuesBatchGetByDataFilter =+ '["https://www.googleapis.com/auth/drive",+ "https://www.googleapis.com/auth/drive.file",+ "https://www.googleapis.com/auth/spreadsheets"]+ requestClient+ SpreadsheetsValuesBatchGetByDataFilter'{..}+ = go _svbgbdfSpreadsheetId _svbgbdfXgafv+ _svbgbdfUploadProtocol+ _svbgbdfAccessToken+ _svbgbdfUploadType+ _svbgbdfCallback+ (Just AltJSON)+ _svbgbdfPayload+ sheetsService+ where go+ = buildClient+ (Proxy ::+ Proxy SpreadsheetsValuesBatchGetByDataFilterResource)+ mempty
gen/Network/Google/Resource/Sheets/Spreadsheets/Values/BatchUpdate.hs view
@@ -37,12 +37,10 @@ -- * Request Lenses , svbuXgafv , svbuUploadProtocol- , svbuPp , svbuAccessToken , svbuSpreadsheetId , svbuUploadType , svbuPayload- , svbuBearerToken , svbuCallback ) where @@ -58,14 +56,12 @@ "values:batchUpdate" :> QueryParam "$.xgafv" Xgafv :> 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] BatchUpdateValuesRequest :>- Post '[JSON] BatchUpdateValuesResponse+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] BatchUpdateValuesRequest :>+ Post '[JSON] BatchUpdateValuesResponse -- | Sets values in one or more ranges of a spreadsheet. The caller must -- specify the spreadsheet ID, a valueInputOption, and one or more@@ -75,12 +71,10 @@ data SpreadsheetsValuesBatchUpdate = SpreadsheetsValuesBatchUpdate' { _svbuXgafv :: !(Maybe Xgafv) , _svbuUploadProtocol :: !(Maybe Text)- , _svbuPp :: !Bool , _svbuAccessToken :: !(Maybe Text) , _svbuSpreadsheetId :: !Text , _svbuUploadType :: !(Maybe Text) , _svbuPayload :: !BatchUpdateValuesRequest- , _svbuBearerToken :: !(Maybe Text) , _svbuCallback :: !(Maybe Text) } deriving (Eq,Show,Data,Typeable,Generic) @@ -92,8 +86,6 @@ -- -- * 'svbuUploadProtocol' ----- * 'svbuPp'--- -- * 'svbuAccessToken' -- -- * 'svbuSpreadsheetId'@@ -102,8 +94,6 @@ -- -- * 'svbuPayload' ----- * 'svbuBearerToken'--- -- * 'svbuCallback' spreadsheetsValuesBatchUpdate :: Text -- ^ 'svbuSpreadsheetId'@@ -113,12 +103,10 @@ SpreadsheetsValuesBatchUpdate' { _svbuXgafv = Nothing , _svbuUploadProtocol = Nothing- , _svbuPp = True , _svbuAccessToken = Nothing , _svbuSpreadsheetId = pSvbuSpreadsheetId_ , _svbuUploadType = Nothing , _svbuPayload = pSvbuPayload_- , _svbuBearerToken = Nothing , _svbuCallback = Nothing } @@ -133,10 +121,6 @@ = lens _svbuUploadProtocol (\ s a -> s{_svbuUploadProtocol = a}) --- | Pretty-print response.-svbuPp :: Lens' SpreadsheetsValuesBatchUpdate Bool-svbuPp = lens _svbuPp (\ s a -> s{_svbuPp = a})- -- | OAuth access token. svbuAccessToken :: Lens' SpreadsheetsValuesBatchUpdate (Maybe Text) svbuAccessToken@@ -160,12 +144,6 @@ svbuPayload = lens _svbuPayload (\ s a -> s{_svbuPayload = a}) --- | OAuth bearer token.-svbuBearerToken :: Lens' SpreadsheetsValuesBatchUpdate (Maybe Text)-svbuBearerToken- = lens _svbuBearerToken- (\ s a -> s{_svbuBearerToken = a})- -- | JSONP svbuCallback :: Lens' SpreadsheetsValuesBatchUpdate (Maybe Text) svbuCallback@@ -177,14 +155,13 @@ BatchUpdateValuesResponse type Scopes SpreadsheetsValuesBatchUpdate = '["https://www.googleapis.com/auth/drive",+ "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/spreadsheets"] requestClient SpreadsheetsValuesBatchUpdate'{..} = go _svbuSpreadsheetId _svbuXgafv _svbuUploadProtocol- (Just _svbuPp) _svbuAccessToken _svbuUploadType- _svbuBearerToken _svbuCallback (Just AltJSON) _svbuPayload
+ gen/Network/Google/Resource/Sheets/Spreadsheets/Values/BatchUpdateByDataFilter.hs view
@@ -0,0 +1,179 @@+{-# 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.Sheets.Spreadsheets.Values.BatchUpdateByDataFilter+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sets values in one or more ranges of a spreadsheet. The caller must+-- specify the spreadsheet ID, a valueInputOption, and one or more+-- DataFilterValueRanges.+--+-- /See:/ <https://developers.google.com/sheets/ Google Sheets API Reference> for @sheets.spreadsheets.values.batchUpdateByDataFilter@.+module Network.Google.Resource.Sheets.Spreadsheets.Values.BatchUpdateByDataFilter+ (+ -- * REST Resource+ SpreadsheetsValuesBatchUpdateByDataFilterResource++ -- * Creating a Request+ , spreadsheetsValuesBatchUpdateByDataFilter+ , SpreadsheetsValuesBatchUpdateByDataFilter++ -- * Request Lenses+ , svbubdfXgafv+ , svbubdfUploadProtocol+ , svbubdfAccessToken+ , svbubdfSpreadsheetId+ , svbubdfUploadType+ , svbubdfPayload+ , svbubdfCallback+ ) where++import Network.Google.Prelude+import Network.Google.Sheets.Types++-- | A resource alias for @sheets.spreadsheets.values.batchUpdateByDataFilter@ method which the+-- 'SpreadsheetsValuesBatchUpdateByDataFilter' request conforms to.+type SpreadsheetsValuesBatchUpdateByDataFilterResource+ =+ "v4" :>+ "spreadsheets" :>+ Capture "spreadsheetId" Text :>+ "values:batchUpdateByDataFilter" :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] BatchUpdateValuesByDataFilterRequest+ :> Post '[JSON] BatchUpdateValuesByDataFilterResponse++-- | Sets values in one or more ranges of a spreadsheet. The caller must+-- specify the spreadsheet ID, a valueInputOption, and one or more+-- DataFilterValueRanges.+--+-- /See:/ 'spreadsheetsValuesBatchUpdateByDataFilter' smart constructor.+data SpreadsheetsValuesBatchUpdateByDataFilter = SpreadsheetsValuesBatchUpdateByDataFilter'+ { _svbubdfXgafv :: !(Maybe Xgafv)+ , _svbubdfUploadProtocol :: !(Maybe Text)+ , _svbubdfAccessToken :: !(Maybe Text)+ , _svbubdfSpreadsheetId :: !Text+ , _svbubdfUploadType :: !(Maybe Text)+ , _svbubdfPayload :: !BatchUpdateValuesByDataFilterRequest+ , _svbubdfCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SpreadsheetsValuesBatchUpdateByDataFilter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'svbubdfXgafv'+--+-- * 'svbubdfUploadProtocol'+--+-- * 'svbubdfAccessToken'+--+-- * 'svbubdfSpreadsheetId'+--+-- * 'svbubdfUploadType'+--+-- * 'svbubdfPayload'+--+-- * 'svbubdfCallback'+spreadsheetsValuesBatchUpdateByDataFilter+ :: Text -- ^ 'svbubdfSpreadsheetId'+ -> BatchUpdateValuesByDataFilterRequest -- ^ 'svbubdfPayload'+ -> SpreadsheetsValuesBatchUpdateByDataFilter+spreadsheetsValuesBatchUpdateByDataFilter pSvbubdfSpreadsheetId_ pSvbubdfPayload_ =+ SpreadsheetsValuesBatchUpdateByDataFilter'+ { _svbubdfXgafv = Nothing+ , _svbubdfUploadProtocol = Nothing+ , _svbubdfAccessToken = Nothing+ , _svbubdfSpreadsheetId = pSvbubdfSpreadsheetId_+ , _svbubdfUploadType = Nothing+ , _svbubdfPayload = pSvbubdfPayload_+ , _svbubdfCallback = Nothing+ }++-- | V1 error format.+svbubdfXgafv :: Lens' SpreadsheetsValuesBatchUpdateByDataFilter (Maybe Xgafv)+svbubdfXgafv+ = lens _svbubdfXgafv (\ s a -> s{_svbubdfXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+svbubdfUploadProtocol :: Lens' SpreadsheetsValuesBatchUpdateByDataFilter (Maybe Text)+svbubdfUploadProtocol+ = lens _svbubdfUploadProtocol+ (\ s a -> s{_svbubdfUploadProtocol = a})++-- | OAuth access token.+svbubdfAccessToken :: Lens' SpreadsheetsValuesBatchUpdateByDataFilter (Maybe Text)+svbubdfAccessToken+ = lens _svbubdfAccessToken+ (\ s a -> s{_svbubdfAccessToken = a})++-- | The ID of the spreadsheet to update.+svbubdfSpreadsheetId :: Lens' SpreadsheetsValuesBatchUpdateByDataFilter Text+svbubdfSpreadsheetId+ = lens _svbubdfSpreadsheetId+ (\ s a -> s{_svbubdfSpreadsheetId = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+svbubdfUploadType :: Lens' SpreadsheetsValuesBatchUpdateByDataFilter (Maybe Text)+svbubdfUploadType+ = lens _svbubdfUploadType+ (\ s a -> s{_svbubdfUploadType = a})++-- | Multipart request metadata.+svbubdfPayload :: Lens' SpreadsheetsValuesBatchUpdateByDataFilter BatchUpdateValuesByDataFilterRequest+svbubdfPayload+ = lens _svbubdfPayload+ (\ s a -> s{_svbubdfPayload = a})++-- | JSONP+svbubdfCallback :: Lens' SpreadsheetsValuesBatchUpdateByDataFilter (Maybe Text)+svbubdfCallback+ = lens _svbubdfCallback+ (\ s a -> s{_svbubdfCallback = a})++instance GoogleRequest+ SpreadsheetsValuesBatchUpdateByDataFilter where+ type Rs SpreadsheetsValuesBatchUpdateByDataFilter =+ BatchUpdateValuesByDataFilterResponse+ type Scopes SpreadsheetsValuesBatchUpdateByDataFilter+ =+ '["https://www.googleapis.com/auth/drive",+ "https://www.googleapis.com/auth/drive.file",+ "https://www.googleapis.com/auth/spreadsheets"]+ requestClient+ SpreadsheetsValuesBatchUpdateByDataFilter'{..}+ = go _svbubdfSpreadsheetId _svbubdfXgafv+ _svbubdfUploadProtocol+ _svbubdfAccessToken+ _svbubdfUploadType+ _svbubdfCallback+ (Just AltJSON)+ _svbubdfPayload+ sheetsService+ where go+ = buildClient+ (Proxy ::+ Proxy+ SpreadsheetsValuesBatchUpdateByDataFilterResource)+ mempty
gen/Network/Google/Resource/Sheets/Spreadsheets/Values/Clear.hs view
@@ -38,12 +38,10 @@ -- * Request Lenses , svcXgafv , svcUploadProtocol- , svcPp , svcAccessToken , svcSpreadsheetId , svcUploadType , svcPayload- , svcBearerToken , svcRange , svcCallback ) where@@ -61,14 +59,12 @@ CaptureMode "range" "clear" Text :> QueryParam "$.xgafv" Xgafv :> 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] ClearValuesRequest :>- Post '[JSON] ClearValuesResponse+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] ClearValuesRequest :>+ Post '[JSON] ClearValuesResponse -- | Clears values from a spreadsheet. The caller must specify the -- spreadsheet ID and range. Only values are cleared -- all other@@ -79,12 +75,10 @@ data SpreadsheetsValuesClear = SpreadsheetsValuesClear' { _svcXgafv :: !(Maybe Xgafv) , _svcUploadProtocol :: !(Maybe Text)- , _svcPp :: !Bool , _svcAccessToken :: !(Maybe Text) , _svcSpreadsheetId :: !Text , _svcUploadType :: !(Maybe Text) , _svcPayload :: !ClearValuesRequest- , _svcBearerToken :: !(Maybe Text) , _svcRange :: !Text , _svcCallback :: !(Maybe Text) } deriving (Eq,Show,Data,Typeable,Generic)@@ -97,8 +91,6 @@ -- -- * 'svcUploadProtocol' ----- * 'svcPp'--- -- * 'svcAccessToken' -- -- * 'svcSpreadsheetId'@@ -107,8 +99,6 @@ -- -- * 'svcPayload' ----- * 'svcBearerToken'--- -- * 'svcRange' -- -- * 'svcCallback'@@ -121,12 +111,10 @@ SpreadsheetsValuesClear' { _svcXgafv = Nothing , _svcUploadProtocol = Nothing- , _svcPp = True , _svcAccessToken = Nothing , _svcSpreadsheetId = pSvcSpreadsheetId_ , _svcUploadType = Nothing , _svcPayload = pSvcPayload_- , _svcBearerToken = Nothing , _svcRange = pSvcRange_ , _svcCallback = Nothing }@@ -141,10 +129,6 @@ = lens _svcUploadProtocol (\ s a -> s{_svcUploadProtocol = a}) --- | Pretty-print response.-svcPp :: Lens' SpreadsheetsValuesClear Bool-svcPp = lens _svcPp (\ s a -> s{_svcPp = a})- -- | OAuth access token. svcAccessToken :: Lens' SpreadsheetsValuesClear (Maybe Text) svcAccessToken@@ -168,12 +152,6 @@ svcPayload = lens _svcPayload (\ s a -> s{_svcPayload = a}) --- | OAuth bearer token.-svcBearerToken :: Lens' SpreadsheetsValuesClear (Maybe Text)-svcBearerToken- = lens _svcBearerToken- (\ s a -> s{_svcBearerToken = a})- -- | The A1 notation of the values to clear. svcRange :: Lens' SpreadsheetsValuesClear Text svcRange = lens _svcRange (\ s a -> s{_svcRange = a})@@ -187,14 +165,13 @@ type Rs SpreadsheetsValuesClear = ClearValuesResponse type Scopes SpreadsheetsValuesClear = '["https://www.googleapis.com/auth/drive",+ "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/spreadsheets"] requestClient SpreadsheetsValuesClear'{..} = go _svcSpreadsheetId _svcRange _svcXgafv _svcUploadProtocol- (Just _svcPp) _svcAccessToken _svcUploadType- _svcBearerToken _svcCallback (Just AltJSON) _svcPayload
gen/Network/Google/Resource/Sheets/Spreadsheets/Values/Get.hs view
@@ -37,11 +37,9 @@ , svgXgafv , svgValueRenderOption , svgUploadProtocol- , svgPp , svgAccessToken , svgSpreadsheetId , svgUploadType- , svgBearerToken , svgRange , svgDateTimeRenderOption , svgMajorDimension@@ -62,15 +60,13 @@ QueryParam "$.xgafv" Xgafv :> QueryParam "valueRenderOption" Text :> QueryParam "upload_protocol" Text :>- QueryParam "pp" Bool :>- QueryParam "access_token" Text :>- QueryParam "uploadType" Text :>- QueryParam "bearer_token" Text :>- QueryParam "dateTimeRenderOption" Text :>- QueryParam "majorDimension" Text :>- QueryParam "callback" Text :>- QueryParam "alt" AltJSON :>- Get '[JSON] ValueRange+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "dateTimeRenderOption" Text :>+ QueryParam "majorDimension" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] ValueRange -- | Returns a range of values from a spreadsheet. The caller must specify -- the spreadsheet ID and a range.@@ -80,11 +76,9 @@ { _svgXgafv :: !(Maybe Xgafv) , _svgValueRenderOption :: !(Maybe Text) , _svgUploadProtocol :: !(Maybe Text)- , _svgPp :: !Bool , _svgAccessToken :: !(Maybe Text) , _svgSpreadsheetId :: !Text , _svgUploadType :: !(Maybe Text)- , _svgBearerToken :: !(Maybe Text) , _svgRange :: !Text , _svgDateTimeRenderOption :: !(Maybe Text) , _svgMajorDimension :: !(Maybe Text)@@ -101,16 +95,12 @@ -- -- * 'svgUploadProtocol' ----- * 'svgPp'--- -- * 'svgAccessToken' -- -- * 'svgSpreadsheetId' -- -- * 'svgUploadType' ----- * 'svgBearerToken'--- -- * 'svgRange' -- -- * 'svgDateTimeRenderOption'@@ -127,11 +117,9 @@ { _svgXgafv = Nothing , _svgValueRenderOption = Nothing , _svgUploadProtocol = Nothing- , _svgPp = True , _svgAccessToken = Nothing , _svgSpreadsheetId = pSvgSpreadsheetId_ , _svgUploadType = Nothing- , _svgBearerToken = Nothing , _svgRange = pSvgRange_ , _svgDateTimeRenderOption = Nothing , _svgMajorDimension = Nothing@@ -155,10 +143,6 @@ = lens _svgUploadProtocol (\ s a -> s{_svgUploadProtocol = a}) --- | Pretty-print response.-svgPp :: Lens' SpreadsheetsValuesGet Bool-svgPp = lens _svgPp (\ s a -> s{_svgPp = a})- -- | OAuth access token. svgAccessToken :: Lens' SpreadsheetsValuesGet (Maybe Text) svgAccessToken@@ -177,12 +161,6 @@ = lens _svgUploadType (\ s a -> s{_svgUploadType = a}) --- | OAuth bearer token.-svgBearerToken :: Lens' SpreadsheetsValuesGet (Maybe Text)-svgBearerToken- = lens _svgBearerToken- (\ s a -> s{_svgBearerToken = a})- -- | The A1 notation of the values to retrieve. svgRange :: Lens' SpreadsheetsValuesGet Text svgRange = lens _svgRange (\ s a -> s{_svgRange = a})@@ -214,6 +192,7 @@ type Rs SpreadsheetsValuesGet = ValueRange type Scopes SpreadsheetsValuesGet = '["https://www.googleapis.com/auth/drive",+ "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.readonly", "https://www.googleapis.com/auth/spreadsheets", "https://www.googleapis.com/auth/spreadsheets.readonly"]@@ -221,10 +200,8 @@ = go _svgSpreadsheetId _svgRange _svgXgafv _svgValueRenderOption _svgUploadProtocol- (Just _svgPp) _svgAccessToken _svgUploadType- _svgBearerToken _svgDateTimeRenderOption _svgMajorDimension _svgCallback
gen/Network/Google/Resource/Sheets/Spreadsheets/Values/Update.hs view
@@ -36,13 +36,11 @@ -- * Request Lenses , svuXgafv , svuUploadProtocol- , svuPp , svuAccessToken , svuSpreadsheetId , svuUploadType , svuValueInputOption , svuPayload- , svuBearerToken , svuRange , svuIncludeValuesInResponse , svuResponseDateTimeRenderOption@@ -63,19 +61,16 @@ Capture "range" Text :> QueryParam "$.xgafv" Xgafv :> QueryParam "upload_protocol" Text :>- QueryParam "pp" Bool :>- QueryParam "access_token" Text :>- QueryParam "uploadType" Text :>- QueryParam "valueInputOption" Text :>- QueryParam "bearer_token" Text :>- QueryParam "includeValuesInResponse" Bool :>- QueryParam "responseDateTimeRenderOption" Text :>- QueryParam "callback" Text :>- QueryParam "responseValueRenderOption" Text- :>- QueryParam "alt" AltJSON :>- ReqBody '[JSON] ValueRange :>- Put '[JSON] UpdateValuesResponse+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "valueInputOption" Text :>+ QueryParam "includeValuesInResponse" Bool :>+ QueryParam "responseDateTimeRenderOption" Text :>+ QueryParam "callback" Text :>+ QueryParam "responseValueRenderOption" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] ValueRange :>+ Put '[JSON] UpdateValuesResponse -- | Sets values in a range of a spreadsheet. The caller must specify the -- spreadsheet ID, range, and a valueInputOption.@@ -84,13 +79,11 @@ data SpreadsheetsValuesUpdate = SpreadsheetsValuesUpdate' { _svuXgafv :: !(Maybe Xgafv) , _svuUploadProtocol :: !(Maybe Text)- , _svuPp :: !Bool , _svuAccessToken :: !(Maybe Text) , _svuSpreadsheetId :: !Text , _svuUploadType :: !(Maybe Text) , _svuValueInputOption :: !(Maybe Text) , _svuPayload :: !ValueRange- , _svuBearerToken :: !(Maybe Text) , _svuRange :: !Text , _svuIncludeValuesInResponse :: !(Maybe Bool) , _svuResponseDateTimeRenderOption :: !(Maybe Text)@@ -106,8 +99,6 @@ -- -- * 'svuUploadProtocol' ----- * 'svuPp'--- -- * 'svuAccessToken' -- -- * 'svuSpreadsheetId'@@ -118,8 +109,6 @@ -- -- * 'svuPayload' ----- * 'svuBearerToken'--- -- * 'svuRange' -- -- * 'svuIncludeValuesInResponse'@@ -138,13 +127,11 @@ SpreadsheetsValuesUpdate' { _svuXgafv = Nothing , _svuUploadProtocol = Nothing- , _svuPp = True , _svuAccessToken = Nothing , _svuSpreadsheetId = pSvuSpreadsheetId_ , _svuUploadType = Nothing , _svuValueInputOption = Nothing , _svuPayload = pSvuPayload_- , _svuBearerToken = Nothing , _svuRange = pSvuRange_ , _svuIncludeValuesInResponse = Nothing , _svuResponseDateTimeRenderOption = Nothing@@ -162,10 +149,6 @@ = lens _svuUploadProtocol (\ s a -> s{_svuUploadProtocol = a}) --- | Pretty-print response.-svuPp :: Lens' SpreadsheetsValuesUpdate Bool-svuPp = lens _svuPp (\ s a -> s{_svuPp = a})- -- | OAuth access token. svuAccessToken :: Lens' SpreadsheetsValuesUpdate (Maybe Text) svuAccessToken@@ -195,12 +178,6 @@ svuPayload = lens _svuPayload (\ s a -> s{_svuPayload = a}) --- | OAuth bearer token.-svuBearerToken :: Lens' SpreadsheetsValuesUpdate (Maybe Text)-svuBearerToken- = lens _svuBearerToken- (\ s a -> s{_svuBearerToken = a})- -- | The A1 notation of the values to update. svuRange :: Lens' SpreadsheetsValuesUpdate Text svuRange = lens _svuRange (\ s a -> s{_svuRange = a})@@ -218,7 +195,7 @@ -- | Determines how dates, times, and durations in the response should be -- rendered. This is ignored if response_value_render_option is -- FORMATTED_VALUE. The default dateTime render option is--- [DateTimeRenderOption.SERIAL_NUMBER].+-- DateTimeRenderOption.SERIAL_NUMBER. svuResponseDateTimeRenderOption :: Lens' SpreadsheetsValuesUpdate (Maybe Text) svuResponseDateTimeRenderOption = lens _svuResponseDateTimeRenderOption@@ -241,15 +218,14 @@ UpdateValuesResponse type Scopes SpreadsheetsValuesUpdate = '["https://www.googleapis.com/auth/drive",+ "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/spreadsheets"] requestClient SpreadsheetsValuesUpdate'{..} = go _svuSpreadsheetId _svuRange _svuXgafv _svuUploadProtocol- (Just _svuPp) _svuAccessToken _svuUploadType _svuValueInputOption- _svuBearerToken _svuIncludeValuesInResponse _svuResponseDateTimeRenderOption _svuCallback
gen/Network/Google/Sheets.hs view
@@ -25,6 +25,7 @@ , spreadsheetsReadOnlyScope , driveReadOnlyScope , driveScope+ , driveFileScope , spreadsheetsScope -- * API Declaration@@ -38,9 +39,18 @@ -- ** sheets.spreadsheets.create , module Network.Google.Resource.Sheets.Spreadsheets.Create + -- ** sheets.spreadsheets.developerMetadata.get+ , module Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Get++ -- ** sheets.spreadsheets.developerMetadata.search+ , module Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Search+ -- ** sheets.spreadsheets.get , module Network.Google.Resource.Sheets.Spreadsheets.Get + -- ** sheets.spreadsheets.getByDataFilter+ , module Network.Google.Resource.Sheets.Spreadsheets.GetByDataFilter+ -- ** sheets.spreadsheets.sheets.copyTo , module Network.Google.Resource.Sheets.Spreadsheets.Sheets.CopyTo @@ -50,12 +60,21 @@ -- ** sheets.spreadsheets.values.batchClear , module Network.Google.Resource.Sheets.Spreadsheets.Values.BatchClear + -- ** sheets.spreadsheets.values.batchClearByDataFilter+ , module Network.Google.Resource.Sheets.Spreadsheets.Values.BatchClearByDataFilter+ -- ** sheets.spreadsheets.values.batchGet , module Network.Google.Resource.Sheets.Spreadsheets.Values.BatchGet + -- ** sheets.spreadsheets.values.batchGetByDataFilter+ , module Network.Google.Resource.Sheets.Spreadsheets.Values.BatchGetByDataFilter+ -- ** sheets.spreadsheets.values.batchUpdate , module Network.Google.Resource.Sheets.Spreadsheets.Values.BatchUpdate + -- ** sheets.spreadsheets.values.batchUpdateByDataFilter+ , module Network.Google.Resource.Sheets.Spreadsheets.Values.BatchUpdateByDataFilter+ -- ** sheets.spreadsheets.values.clear , module Network.Google.Resource.Sheets.Spreadsheets.Values.Clear @@ -67,6 +86,9 @@ -- * Types + -- ** BasicChartSpecStackedType+ , BasicChartSpecStackedType (..)+ -- ** PivotGroupSortValueBucket , PivotGroupSortValueBucket , pivotGroupSortValueBucket@@ -89,6 +111,12 @@ -- ** CopyPasteRequestPasteType , CopyPasteRequestPasteType (..) + -- ** DeveloperMetadataLookupLocationMatchingStrategy+ , DeveloperMetadataLookupLocationMatchingStrategy (..)++ -- ** BatchUpdateValuesByDataFilterRequestResponseDateTimeRenderOption+ , BatchUpdateValuesByDataFilterRequestResponseDateTimeRenderOption (..)+ -- ** DeleteNamedRangeRequest , DeleteNamedRangeRequest , deleteNamedRangeRequest@@ -113,17 +141,31 @@ , batchClearValuesRequest , bcvrRanges + -- ** CreateDeveloperMetadataResponse+ , CreateDeveloperMetadataResponse+ , createDeveloperMetadataResponse+ , cdmrDeveloperMetadata++ -- ** DateTimeRule+ , DateTimeRule+ , dateTimeRule+ , dtrType+ -- ** DeleteRangeRequestShiftDimension , DeleteRangeRequestShiftDimension (..) -- ** BasicChartSeriesTargetAxis , BasicChartSeriesTargetAxis (..) + -- ** DataFilterValueRangeMajorDimension+ , DataFilterValueRangeMajorDimension (..)+ -- ** SpreadsheetProperties , SpreadsheetProperties , spreadsheetProperties , spDefaultFormat , spLocale+ , spIterativeCalculationSettings , spAutoRecalc , spTitle , spTimeZone@@ -136,12 +178,31 @@ , boRight , boTop + -- ** BatchClearValuesByDataFilterRequest+ , BatchClearValuesByDataFilterRequest+ , batchClearValuesByDataFilterRequest+ , bcvbdfrDataFilters+ -- ** TextFormatRun , TextFormatRun , textFormatRun , tfrFormat , tfrStartIndex + -- ** DeleteDimensionGroupRequest+ , DeleteDimensionGroupRequest+ , deleteDimensionGroupRequest+ , ddgrRange++ -- ** UpdateDimensionGroupRequest+ , UpdateDimensionGroupRequest+ , updateDimensionGroupRequest+ , udgrDimensionGroup+ , udgrFields++ -- ** BubbleChartSpecLegendPosition+ , BubbleChartSpecLegendPosition (..)+ -- ** AddSheetRequest , AddSheetRequest , addSheetRequest@@ -153,6 +214,13 @@ , ssSortOrder , ssDimensionIndex + -- ** DimensionGroup+ , DimensionGroup+ , dimensionGroup+ , dgCollapsed+ , dgRange+ , dgDepth+ -- ** BatchUpdateValuesRequestResponseDateTimeRenderOption , BatchUpdateValuesRequestResponseDateTimeRenderOption (..) @@ -195,6 +263,21 @@ , autoResizeDimensionsRequest , ardrDimensions + -- ** BubbleChartSpec+ , BubbleChartSpec+ , bubbleChartSpec+ , bcsBubbleTextStyle+ , bcsBubbleBOrderColor+ , bcsLegendPosition+ , bcsDomain+ , bcsSeries+ , bcsBubbleLabels+ , bcsGroupIds+ , bcsBubbleMinRadiusSize+ , bcsBubbleMaxRadiusSize+ , bcsBubbleOpacity+ , bcsBubbleSizes+ -- ** DeleteRangeRequest , DeleteRangeRequest , deleteRangeRequest@@ -204,12 +287,15 @@ -- ** Sheet , Sheet , sheet+ , sColumnGroups , sData , sMerges+ , sRowGroups , sProtectedRanges , sBandedRanges , sCharts , sBasicFilter+ , sDeveloperMetadata , sConditionalFormats , sFilterViews , sProperties@@ -232,6 +318,9 @@ , clearBasicFilterRequest , cbfrSheetId + -- ** BatchGetValuesByDataFilterRequestValueRenderOption+ , BatchGetValuesByDataFilterRequestValueRenderOption (..)+ -- ** UpdateEmbeddedObjectPositionRequest , UpdateEmbeddedObjectPositionRequest , updateEmbeddedObjectPositionRequest@@ -251,6 +340,12 @@ -- ** CellFormatWrapStrategy , CellFormatWrapStrategy (..) + -- ** BatchGetValuesByDataFilterResponse+ , BatchGetValuesByDataFilterResponse+ , batchGetValuesByDataFilterResponse+ , bgvbdfrSpreadsheetId+ , bgvbdfrValueRanges+ -- ** SourceAndDestination , SourceAndDestination , sourceAndDestination@@ -286,6 +381,11 @@ , frrSheetsChanged , frrOccurrencesChanged + -- ** AddDimensionGroupResponse+ , AddDimensionGroupResponse+ , addDimensionGroupResponse+ , adgrDimensionGroups+ -- ** PieChartSpec , PieChartSpec , pieChartSpec@@ -295,6 +395,19 @@ , pcsSeries , pcsThreeDimensional + -- ** BatchUpdateValuesByDataFilterResponse+ , BatchUpdateValuesByDataFilterResponse+ , batchUpdateValuesByDataFilterResponse+ , buvbdfrTotalUpdatedColumns+ , buvbdfrResponses+ , buvbdfrSpreadsheetId+ , buvbdfrTotalUpdatedSheets+ , buvbdfrTotalUpdatedCells+ , buvbdfrTotalUpdatedRows++ -- ** TextPositionHorizontalAlignment+ , TextPositionHorizontalAlignment (..)+ -- ** AppendValuesResponse , AppendValuesResponse , appendValuesResponse@@ -302,6 +415,9 @@ , avrUpdates , avrTableRange + -- ** DeveloperMetadataVisibility+ , DeveloperMetadataVisibility (..)+ -- ** BatchUpdateValuesRequestResponseValueRenderOption , BatchUpdateValuesRequestResponseValueRenderOption (..) @@ -345,10 +461,19 @@ -- ** BasicChartSeries , BasicChartSeries , basicChartSeries- , bcsTargetAxis- , bcsSeries- , bcsType+ , bTargetAxis+ , bColor+ , bSeries+ , bType+ , bLineStyle + -- ** PivotGroupRule+ , PivotGroupRule+ , pivotGroupRule+ , pgrDateTimeRule+ , pgrManualRule+ , pgrHistogramRule+ -- ** AddProtectedRangeRequest , AddProtectedRangeRequest , addProtectedRangeRequest@@ -398,6 +523,14 @@ , mdrDestinationIndex , mdrSource + -- ** BatchGetValuesByDataFilterRequest+ , BatchGetValuesByDataFilterRequest+ , batchGetValuesByDataFilterRequest+ , bgvbdfrValueRenderOption+ , bgvbdfrDataFilters+ , bgvbdfrDateTimeRenderOption+ , bgvbdfrMajorDimension+ -- ** CellFormatVerticalAlignment , CellFormatVerticalAlignment (..) @@ -426,21 +559,36 @@ -- ** ConditionValueRelativeDate , ConditionValueRelativeDate (..) + -- ** WaterfallChartCustomSubtotal+ , WaterfallChartCustomSubtotal+ , waterfallChartCustomSubtotal+ , wccsDataIsSubtotal+ , wccsSubtotalIndex+ , wccsLabel++ -- ** DeveloperMetadataLocationLocationType+ , DeveloperMetadataLocationLocationType (..)+ -- ** Response , Response , response , rAddFilterView+ , rCreateDeveloperMetadata , rDuplicateFilterView , rUpdateEmbeddedObjectPosition+ , rDeleteDimensionGroup , rAddSheet , rFindReplace , rAddProtectedRange , rDeleteConditionalFormatRule , rUpdateConditionalFormatRule+ , rDeleteDeveloperMetadata+ , rUpdateDeveloperMetadata , rAddNamedRange , rAddChart , rAddBanding , rDuplicateSheet+ , rAddDimensionGroup -- ** FilterCriteria , FilterCriteria@@ -468,9 +616,31 @@ , dcfrrSheetId , dcfrrIndex + -- ** UpdateDeveloperMetadataRequest+ , UpdateDeveloperMetadataRequest+ , updateDeveloperMetadataRequest+ , udmrDataFilters+ , udmrDeveloperMetadata+ , udmrFields+ -- ** SortSpecSortOrder , SortSpecSortOrder (..) + -- ** DeleteDeveloperMetadataRequest+ , DeleteDeveloperMetadataRequest+ , deleteDeveloperMetadataRequest+ , ddmrDataFilter++ -- ** WaterfallChartSpec+ , WaterfallChartSpec+ , waterfallChartSpec+ , wcsStackedType+ , wcsConnectorLineStyle+ , wcsDomain+ , wcsSeries+ , wcsHideConnectorLines+ , wcsFirstValueIsTotal+ -- ** OverlayPosition , OverlayPosition , overlayPosition@@ -485,6 +655,14 @@ , deleteEmbeddedObjectRequest , deorObjectId + -- ** DeveloperMetadataLocation+ , DeveloperMetadataLocation+ , developerMetadataLocation+ , dmlSpreadsheet+ , dmlDimensionRange+ , dmlSheetId+ , dmlLocationType+ -- ** SheetProperties , SheetProperties , sheetProperties@@ -525,14 +703,26 @@ , sprNamedRanges , sprSpreadsheetId , sprSpreadsheetURL+ , sprDeveloperMetadata , sprProperties + -- ** CandlestickChartSpec+ , CandlestickChartSpec+ , candlestickChartSpec+ , ccsData+ , ccsDomain+ -- ** InsertDimensionRequest , InsertDimensionRequest , insertDimensionRequest , idrRange , idrInheritFromBefore + -- ** SearchDeveloperMetadataResponse+ , SearchDeveloperMetadataResponse+ , searchDeveloperMetadataResponse+ , sdmrMatchedDeveloperMetadata+ -- ** PivotValueSummarizeFunction , PivotValueSummarizeFunction (..) @@ -543,6 +733,9 @@ , ipValue , ipType + -- ** OrgChartSpecNodeSize+ , OrgChartSpecNodeSize (..)+ -- ** CellData , CellData , cellData@@ -557,6 +750,9 @@ , cdHyperlink , cdEffectiveValue + -- ** BatchUpdateValuesByDataFilterRequestResponseValueRenderOption+ , BatchUpdateValuesByDataFilterRequestResponseValueRenderOption (..)+ -- ** ChartSourceRange , ChartSourceRange , chartSourceRange@@ -567,6 +763,12 @@ , addNamedRangeResponse , anrrNamedRange + -- ** WaterfallChartDomain+ , WaterfallChartDomain+ , waterfallChartDomain+ , wcdReversed+ , wcdData+ -- ** AddChartResponse , AddChartResponse , addChartResponse@@ -583,18 +785,51 @@ , setBasicFilterRequest , sbfrFilter + -- ** IterativeCalculationSettings+ , IterativeCalculationSettings+ , iterativeCalculationSettings+ , icsMaxIterations+ , icsConvergenceThreshold++ -- ** UpdateValuesByDataFilterResponse+ , UpdateValuesByDataFilterResponse+ , updateValuesByDataFilterResponse+ , uvbdfrUpdatedCells+ , uvbdfrUpdatedRows+ , uvbdfrUpdatedRange+ , uvbdfrUpdatedData+ , uvbdfrUpdatedColumns+ , uvbdfrDataFilter+ -- ** GridProperties , GridProperties , gridProperties , gpFrozenColumnCount , gpColumnCount+ , gpColumnGroupControlAfter , gpHideGridlines , gpFrozenRowCount+ , gpRowGroupControlAfter , gpRowCount + -- ** LineStyleType+ , LineStyleType (..)++ -- ** HistogramChartSpec+ , HistogramChartSpec+ , histogramChartSpec+ , hcsLegendPosition+ , hcsSeries+ , hcsShowItemDividers+ , hcsOutlierPercentile+ , hcsBucketSize+ -- ** CellFormatHyperlinkDisplayType , CellFormatHyperlinkDisplayType (..) + -- ** BatchUpdateValuesByDataFilterRequestValueInputOption+ , BatchUpdateValuesByDataFilterRequestValueInputOption (..)+ -- ** BasicFilterCriteria , BasicFilterCriteria , basicFilterCriteria@@ -624,6 +859,20 @@ , afrUseAlternateSeries , afrRange + -- ** DeveloperMetadataLookup+ , DeveloperMetadataLookup+ , developerMetadataLookup+ , dLocationMatchingStrategy+ , dMetadataId+ , dVisibility+ , dMetadataKey+ , dLocationType+ , dMetadataLocation+ , dMetadataValue++ -- ** HistogramChartSpecLegendPosition+ , HistogramChartSpecLegendPosition (..)+ -- ** DuplicateSheetRequest , DuplicateSheetRequest , duplicateSheetRequest@@ -632,6 +881,12 @@ , dsrSourceSheetId , dsrNewSheetId + -- ** TextRotation+ , TextRotation+ , textRotation+ , trAngle+ , trVertical+ -- ** DuplicateFilterViewResponse , DuplicateFilterViewResponse , duplicateFilterViewResponse@@ -649,6 +904,13 @@ , buvrResponseDateTimeRenderOption , buvrResponseValueRenderOption + -- ** DataFilterValueRange+ , DataFilterValueRange+ , dataFilterValueRange+ , dfvrValues+ , dfvrDataFilter+ , dfvrMajorDimension+ -- ** AddChartRequest , AddChartRequest , addChartRequest@@ -661,15 +923,28 @@ , nrName , nrRange + -- ** DeveloperMetadataLookupLocationType+ , DeveloperMetadataLookupLocationType (..)+ -- ** MergeCellsRequest , MergeCellsRequest , mergeCellsRequest , mcrMergeType , mcrRange + -- ** ManualRule+ , ManualRule+ , manualRule+ , mrGroups+ -- ** MergeCellsRequestMergeType , MergeCellsRequestMergeType (..) + -- ** TextPosition+ , TextPosition+ , textPosition+ , tpHorizontalAlignment+ -- ** CellFormatHorizontalAlignment , CellFormatHorizontalAlignment (..) @@ -680,6 +955,16 @@ , boColor , boWidth + -- ** SearchDeveloperMetadataRequest+ , SearchDeveloperMetadataRequest+ , searchDeveloperMetadataRequest+ , sdmrDataFilters++ -- ** CandlestickSeries+ , CandlestickSeries+ , candlestickSeries+ , csData+ -- ** ExtendedValue , ExtendedValue , extendedValue@@ -694,6 +979,9 @@ , addNamedRangeRequest , aNamedRange + -- ** WaterfallChartSpecStackedType+ , WaterfallChartSpecStackedType (..)+ -- ** PivotFilterCriteria , PivotFilterCriteria , pivotFilterCriteria@@ -713,6 +1001,18 @@ , uFields , uProperties + -- ** DateTimeRuleType+ , DateTimeRuleType (..)++ -- ** DeveloperMetadataLookupVisibility+ , DeveloperMetadataLookupVisibility (..)++ -- ** CandlestickDomain+ , CandlestickDomain+ , candlestickDomain+ , cdReversed+ , cdData+ -- ** AddProtectedRangeResponse , AddProtectedRangeResponse , addProtectedRangeResponse@@ -731,8 +1031,12 @@ , pvSourceColumnOffSet , pvFormula , pvName+ , pvCalculatedDisplayType , pvSummarizeFunction + -- ** BasicChartSpecCompareMode+ , BasicChartSpecCompareMode (..)+ -- ** UnmergeCellsRequest , UnmergeCellsRequest , unmergeCellsRequest@@ -746,6 +1050,25 @@ -- ** BooleanConditionType , BooleanConditionType (..) + -- ** AddDimensionGroupRequest+ , AddDimensionGroupRequest+ , addDimensionGroupRequest+ , adgrRange++ -- ** WaterfallChartColumnStyle+ , WaterfallChartColumnStyle+ , waterfallChartColumnStyle+ , wColor+ , wLabel++ -- ** CandlestickData+ , CandlestickData+ , candlestickData+ , cdLowSeries+ , cdHighSeries+ , cdOpenSeries+ , cdCloseSeries+ -- ** BandedRange , BandedRange , bandedRange@@ -768,6 +1091,15 @@ -- ** ValueRangeMajorDimension , ValueRangeMajorDimension (..) + -- ** BatchUpdateValuesByDataFilterRequest+ , BatchUpdateValuesByDataFilterRequest+ , batchUpdateValuesByDataFilterRequest+ , buvbdfrData+ , buvbdfrValueInputOption+ , buvbdfrIncludeValuesInResponse+ , buvbdfrResponseDateTimeRenderOption+ , buvbdfrResponseValueRenderOption+ -- ** PivotGroupSortOrder , PivotGroupSortOrder (..) @@ -833,6 +1165,12 @@ -- ** CopyPasteRequestPasteOrientation , CopyPasteRequestPasteOrientation (..) + -- ** GetSpreadsheetByDataFilterRequest+ , GetSpreadsheetByDataFilterRequest+ , getSpreadsheetByDataFilterRequest+ , gsbdfrDataFilters+ , gsbdfrIncludeGridData+ -- ** BatchUpdateSpreadsheetRequest , BatchUpdateSpreadsheetRequest , batchUpdateSpreadsheetRequest@@ -854,6 +1192,11 @@ , uvrUpdatedData , uvrUpdatedColumns + -- ** DeleteDimensionGroupResponse+ , DeleteDimensionGroupResponse+ , deleteDimensionGroupResponse+ , ddgrDimensionGroups+ -- ** CopySheetToAnotherSpreadsheetRequest , CopySheetToAnotherSpreadsheetRequest , copySheetToAnotherSpreadsheetRequest@@ -873,6 +1216,22 @@ -- ** CellFormatTextDirection , CellFormatTextDirection (..) + -- ** BatchClearValuesByDataFilterResponse+ , BatchClearValuesByDataFilterResponse+ , batchClearValuesByDataFilterResponse+ , bcvbdfrClearedRanges+ , bcvbdfrSpreadsheetId++ -- ** WaterfallChartSeries+ , WaterfallChartSeries+ , waterfallChartSeries+ , wcsData+ , wcsCustomSubtotals+ , wcsNegativeColumnsStyle+ , wcsHideTrailingSubtotal+ , wcsSubtotalColumnsStyle+ , wcsPositiveColumnsStyle+ -- ** BasicChartSeriesType , BasicChartSeriesType (..) @@ -890,6 +1249,7 @@ , cfBOrders , cfVerticalAlignment , cfBackgRoundColor+ , cfTextRotation , cfHyperlinkDisplayType , cfWrapStrategy , cfNumberFormat@@ -926,9 +1286,13 @@ , prRequestingUserCanEdit , prDescription + -- ** PivotValueCalculatedDisplayType+ , PivotValueCalculatedDisplayType (..)+ -- ** BasicChartAxis , BasicChartAxis , basicChartAxis+ , bcaTitleTextPosition , bcaFormat , bcaTitle , bcaPosition@@ -948,6 +1312,9 @@ , nfPattern , nfType + -- ** BatchGetValuesByDataFilterRequestDateTimeRenderOption+ , BatchGetValuesByDataFilterRequestDateTimeRenderOption (..)+ -- ** BatchUpdateSpreadsheetResponse , BatchUpdateSpreadsheetResponse , batchUpdateSpreadsheetResponse@@ -955,6 +1322,13 @@ , busrReplies , busrUpdatedSpreadsheet + -- ** DataFilter+ , DataFilter+ , dataFilter+ , dfGridRange+ , dfA1Range+ , dfDeveloperMetadataLookup+ -- ** SetDataValidationRequest , SetDataValidationRequest , setDataValidationRequest@@ -983,17 +1357,30 @@ -- ** PivotGroup , PivotGroup , pivotGroup+ , pgRepeatHeadings , pgValueMetadata , pgSourceColumnOffSet , pgSortOrder , pgShowTotals , pgValueBucket+ , pgLabel+ , pgGroupRule -- ** AddBandingResponse , AddBandingResponse , addBandingResponse , aBandedRange + -- ** OrgChartSpec+ , OrgChartSpec+ , orgChartSpec+ , ocsNodeColor+ , ocsNodeSize+ , ocsTooltips+ , ocsSelectedNodeColor+ , ocsLabels+ , ocsParentLabels+ -- ** CutPasteRequestPasteType , CutPasteRequestPasteType (..) @@ -1003,6 +1390,33 @@ -- ** ErrorValueType , ErrorValueType (..) + -- ** RandomizeRangeRequest+ , RandomizeRangeRequest+ , randomizeRangeRequest+ , rrrRange++ -- ** HistogramSeries+ , HistogramSeries+ , histogramSeries+ , hsBarColor+ , hsData++ -- ** TreemapChartSpec+ , TreemapChartSpec+ , treemapChartSpec+ , tcsHintedLevels+ , tcsMaxValue+ , tcsHeaderColor+ , tcsSizeData+ , tcsColorData+ , tcsHideTooltips+ , tcsLevels+ , tcsLabels+ , tcsColorScale+ , tcsTextFormat+ , tcsMinValue+ , tcsParentLabels+ -- ** ConditionalFormatRule , ConditionalFormatRule , conditionalFormatRule@@ -1013,19 +1427,50 @@ -- ** BasicChartSpec , BasicChartSpec , basicChartSpec- , bHeaderCount- , bLegendPosition- , bSeries- , bChartType- , bDomains- , bAxis+ , basHeaderCount+ , basLineSmoothing+ , basInterpolateNulls+ , basStackedType+ , basLegendPosition+ , basSeries+ , basCompareMode+ , basChartType+ , basThreeDimensional+ , basDomains+ , basAxis + -- ** ManualRuleGroup+ , ManualRuleGroup+ , manualRuleGroup+ , mrgItems+ , mrgGroupName++ -- ** BatchGetValuesByDataFilterRequestMajorDimension+ , BatchGetValuesByDataFilterRequestMajorDimension (..)+ -- ** AddConditionalFormatRuleRequest , AddConditionalFormatRuleRequest , addConditionalFormatRuleRequest , acfrrRule , acfrrIndex + -- ** DeveloperMetadata+ , DeveloperMetadata+ , developerMetadata+ , dmLocation+ , dmMetadataId+ , dmVisibility+ , dmMetadataKey+ , dmMetadataValue++ -- ** TreemapChartColorScale+ , TreemapChartColorScale+ , treemapChartColorScale+ , tccsMinValueColor+ , tccsNoDataColor+ , tccsMaxValueColor+ , tccsMidValueColor+ -- ** PivotTableValueLayout , PivotTableValueLayout (..) @@ -1045,20 +1490,45 @@ , tfBold , tfStrikethrough + -- ** CreateDeveloperMetadataRequest+ , CreateDeveloperMetadataRequest+ , createDeveloperMetadataRequest+ , cDeveloperMetadata+ -- ** BatchClearValuesResponse , BatchClearValuesResponse , batchClearValuesResponse , bcvrClearedRanges , bcvrSpreadsheetId + -- ** MatchedValueRange+ , MatchedValueRange+ , matchedValueRange+ , mvrValueRange+ , mvrDataFilters+ -- ** BasicChartDomain , BasicChartDomain , basicChartDomain+ , bcdReversed , bcdDomain -- ** InterpolationPointType , InterpolationPointType (..) + -- ** HistogramRule+ , HistogramRule+ , histogramRule+ , hrStart+ , hrInterval+ , hrEnd++ -- ** MatchedDeveloperMetadata+ , MatchedDeveloperMetadata+ , matchedDeveloperMetadata+ , mdmDataFilters+ , mdmDeveloperMetadata+ -- ** TextToColumnsRequestDelimiterType , TextToColumnsRequestDelimiterType (..) @@ -1082,8 +1552,23 @@ -- ** ChartSpec , ChartSpec , chartSpec+ , csTitleTextPosition+ , csFontName+ , csSubtitleTextPosition+ , csBackgRoundColor+ , csCandlestickChart+ , csWaterfallChart+ , csTitleTextFormat+ , csSubtitle+ , csAltText+ , csHistogramChart+ , csBubbleChart+ , csMaximized+ , csSubtitleTextFormat , csTitle , csPieChart+ , csOrgChart+ , csTreemapChart , csBasicChart , csHiddenDimensionStrategy @@ -1093,6 +1578,7 @@ , dpHiddenByFilter , dpPixelSize , dpHiddenByUser+ , dpDeveloperMetadata -- ** UpdateBandingRequest , UpdateBandingRequest@@ -1111,6 +1597,16 @@ , deleteBandingRequest , dbrBandedRangeId + -- ** DeleteDeveloperMetadataResponse+ , DeleteDeveloperMetadataResponse+ , deleteDeveloperMetadataResponse+ , ddmrDeletedDeveloperMetadata++ -- ** UpdateDeveloperMetadataResponse+ , UpdateDeveloperMetadataResponse+ , updateDeveloperMetadataResponse+ , uDeveloperMetadata+ -- ** Request' , Request' , request'@@ -1118,8 +1614,10 @@ , reqDeleteProtectedRange , reqUpdateProtectedRange , reqUpdateCells+ , reqCreateDeveloperMetadata , reqDuplicateFilterView , reqAddConditionalFormatRule+ , reqRandomizeRange , reqSortRange , reqUpdateNamedRange , reqDeleteNamedRange@@ -1132,6 +1630,8 @@ , reqUpdateEmbeddedObjectPosition , reqDeleteRange , reqCopyPaste+ , reqUpdateDimensionGroup+ , reqDeleteDimensionGroup , reqAutoResizeDimensions , reqAddSheet , reqFindReplace@@ -1147,6 +1647,8 @@ , reqDeleteConditionalFormatRule , reqUpdateConditionalFormatRule , reqDeleteEmbeddedObject+ , reqDeleteDeveloperMetadata+ , reqUpdateDeveloperMetadata , reqMergeCells , reqAddNamedRange , reqAddChart@@ -1157,6 +1659,7 @@ , reqUpdateChartSpec , reqSetBasicFilter , reqTextToColumns+ , reqAddDimensionGroup , reqUpdateSpreadsheetProperties , reqDeleteSheet , reqUnmergeCells@@ -1164,6 +1667,12 @@ , reqAppendDimension , reqSetDataValidation + -- ** LineStyle+ , LineStyle+ , lineStyle+ , lsWidth+ , lsType+ -- ** DeleteConditionalFormatRuleResponse , DeleteConditionalFormatRuleResponse , deleteConditionalFormatRuleResponse@@ -1181,12 +1690,18 @@ import Network.Google.Prelude import Network.Google.Resource.Sheets.Spreadsheets.BatchUpdate import Network.Google.Resource.Sheets.Spreadsheets.Create+import Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Get+import Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Search import Network.Google.Resource.Sheets.Spreadsheets.Get+import Network.Google.Resource.Sheets.Spreadsheets.GetByDataFilter import Network.Google.Resource.Sheets.Spreadsheets.Sheets.CopyTo import Network.Google.Resource.Sheets.Spreadsheets.Values.Append import Network.Google.Resource.Sheets.Spreadsheets.Values.BatchClear+import Network.Google.Resource.Sheets.Spreadsheets.Values.BatchClearByDataFilter import Network.Google.Resource.Sheets.Spreadsheets.Values.BatchGet+import Network.Google.Resource.Sheets.Spreadsheets.Values.BatchGetByDataFilter import Network.Google.Resource.Sheets.Spreadsheets.Values.BatchUpdate+import Network.Google.Resource.Sheets.Spreadsheets.Values.BatchUpdateByDataFilter import Network.Google.Resource.Sheets.Spreadsheets.Values.Clear import Network.Google.Resource.Sheets.Spreadsheets.Values.Get import Network.Google.Resource.Sheets.Spreadsheets.Values.Update@@ -1200,12 +1715,19 @@ type SheetsAPI = SpreadsheetsSheetsCopyToResource :<|> SpreadsheetsValuesBatchClearResource+ :<|> SpreadsheetsValuesBatchClearByDataFilterResource :<|> SpreadsheetsValuesGetResource+ :<|> SpreadsheetsValuesBatchGetByDataFilterResource :<|> SpreadsheetsValuesClearResource :<|> SpreadsheetsValuesBatchGetResource :<|> SpreadsheetsValuesBatchUpdateResource :<|> SpreadsheetsValuesAppendResource+ :<|>+ SpreadsheetsValuesBatchUpdateByDataFilterResource :<|> SpreadsheetsValuesUpdateResource+ :<|> SpreadsheetsDeveloperMetadataGetResource+ :<|> SpreadsheetsDeveloperMetadataSearchResource+ :<|> SpreadsheetsGetByDataFilterResource :<|> SpreadsheetsGetResource :<|> SpreadsheetsCreateResource :<|> SpreadsheetsBatchUpdateResource
gen/Network/Google/Sheets/Types.hs view
@@ -23,8 +23,12 @@ , spreadsheetsReadOnlyScope , driveReadOnlyScope , driveScope+ , driveFileScope , spreadsheetsScope + -- * BasicChartSpecStackedType+ , BasicChartSpecStackedType (..)+ -- * PivotGroupSortValueBucket , PivotGroupSortValueBucket , pivotGroupSortValueBucket@@ -47,6 +51,12 @@ -- * CopyPasteRequestPasteType , CopyPasteRequestPasteType (..) + -- * DeveloperMetadataLookupLocationMatchingStrategy+ , DeveloperMetadataLookupLocationMatchingStrategy (..)++ -- * BatchUpdateValuesByDataFilterRequestResponseDateTimeRenderOption+ , BatchUpdateValuesByDataFilterRequestResponseDateTimeRenderOption (..)+ -- * DeleteNamedRangeRequest , DeleteNamedRangeRequest , deleteNamedRangeRequest@@ -71,17 +81,31 @@ , batchClearValuesRequest , bcvrRanges + -- * CreateDeveloperMetadataResponse+ , CreateDeveloperMetadataResponse+ , createDeveloperMetadataResponse+ , cdmrDeveloperMetadata++ -- * DateTimeRule+ , DateTimeRule+ , dateTimeRule+ , dtrType+ -- * DeleteRangeRequestShiftDimension , DeleteRangeRequestShiftDimension (..) -- * BasicChartSeriesTargetAxis , BasicChartSeriesTargetAxis (..) + -- * DataFilterValueRangeMajorDimension+ , DataFilterValueRangeMajorDimension (..)+ -- * SpreadsheetProperties , SpreadsheetProperties , spreadsheetProperties , spDefaultFormat , spLocale+ , spIterativeCalculationSettings , spAutoRecalc , spTitle , spTimeZone@@ -94,12 +118,31 @@ , boRight , boTop + -- * BatchClearValuesByDataFilterRequest+ , BatchClearValuesByDataFilterRequest+ , batchClearValuesByDataFilterRequest+ , bcvbdfrDataFilters+ -- * TextFormatRun , TextFormatRun , textFormatRun , tfrFormat , tfrStartIndex + -- * DeleteDimensionGroupRequest+ , DeleteDimensionGroupRequest+ , deleteDimensionGroupRequest+ , ddgrRange++ -- * UpdateDimensionGroupRequest+ , UpdateDimensionGroupRequest+ , updateDimensionGroupRequest+ , udgrDimensionGroup+ , udgrFields++ -- * BubbleChartSpecLegendPosition+ , BubbleChartSpecLegendPosition (..)+ -- * AddSheetRequest , AddSheetRequest , addSheetRequest@@ -111,6 +154,13 @@ , ssSortOrder , ssDimensionIndex + -- * DimensionGroup+ , DimensionGroup+ , dimensionGroup+ , dgCollapsed+ , dgRange+ , dgDepth+ -- * BatchUpdateValuesRequestResponseDateTimeRenderOption , BatchUpdateValuesRequestResponseDateTimeRenderOption (..) @@ -153,6 +203,21 @@ , autoResizeDimensionsRequest , ardrDimensions + -- * BubbleChartSpec+ , BubbleChartSpec+ , bubbleChartSpec+ , bcsBubbleTextStyle+ , bcsBubbleBOrderColor+ , bcsLegendPosition+ , bcsDomain+ , bcsSeries+ , bcsBubbleLabels+ , bcsGroupIds+ , bcsBubbleMinRadiusSize+ , bcsBubbleMaxRadiusSize+ , bcsBubbleOpacity+ , bcsBubbleSizes+ -- * DeleteRangeRequest , DeleteRangeRequest , deleteRangeRequest@@ -162,12 +227,15 @@ -- * Sheet , Sheet , sheet+ , sColumnGroups , sData , sMerges+ , sRowGroups , sProtectedRanges , sBandedRanges , sCharts , sBasicFilter+ , sDeveloperMetadata , sConditionalFormats , sFilterViews , sProperties@@ -190,6 +258,9 @@ , clearBasicFilterRequest , cbfrSheetId + -- * BatchGetValuesByDataFilterRequestValueRenderOption+ , BatchGetValuesByDataFilterRequestValueRenderOption (..)+ -- * UpdateEmbeddedObjectPositionRequest , UpdateEmbeddedObjectPositionRequest , updateEmbeddedObjectPositionRequest@@ -209,6 +280,12 @@ -- * CellFormatWrapStrategy , CellFormatWrapStrategy (..) + -- * BatchGetValuesByDataFilterResponse+ , BatchGetValuesByDataFilterResponse+ , batchGetValuesByDataFilterResponse+ , bgvbdfrSpreadsheetId+ , bgvbdfrValueRanges+ -- * SourceAndDestination , SourceAndDestination , sourceAndDestination@@ -244,6 +321,11 @@ , frrSheetsChanged , frrOccurrencesChanged + -- * AddDimensionGroupResponse+ , AddDimensionGroupResponse+ , addDimensionGroupResponse+ , adgrDimensionGroups+ -- * PieChartSpec , PieChartSpec , pieChartSpec@@ -253,6 +335,19 @@ , pcsSeries , pcsThreeDimensional + -- * BatchUpdateValuesByDataFilterResponse+ , BatchUpdateValuesByDataFilterResponse+ , batchUpdateValuesByDataFilterResponse+ , buvbdfrTotalUpdatedColumns+ , buvbdfrResponses+ , buvbdfrSpreadsheetId+ , buvbdfrTotalUpdatedSheets+ , buvbdfrTotalUpdatedCells+ , buvbdfrTotalUpdatedRows++ -- * TextPositionHorizontalAlignment+ , TextPositionHorizontalAlignment (..)+ -- * AppendValuesResponse , AppendValuesResponse , appendValuesResponse@@ -260,6 +355,9 @@ , avrUpdates , avrTableRange + -- * DeveloperMetadataVisibility+ , DeveloperMetadataVisibility (..)+ -- * BatchUpdateValuesRequestResponseValueRenderOption , BatchUpdateValuesRequestResponseValueRenderOption (..) @@ -303,10 +401,19 @@ -- * BasicChartSeries , BasicChartSeries , basicChartSeries- , bcsTargetAxis- , bcsSeries- , bcsType+ , bTargetAxis+ , bColor+ , bSeries+ , bType+ , bLineStyle + -- * PivotGroupRule+ , PivotGroupRule+ , pivotGroupRule+ , pgrDateTimeRule+ , pgrManualRule+ , pgrHistogramRule+ -- * AddProtectedRangeRequest , AddProtectedRangeRequest , addProtectedRangeRequest@@ -356,6 +463,14 @@ , mdrDestinationIndex , mdrSource + -- * BatchGetValuesByDataFilterRequest+ , BatchGetValuesByDataFilterRequest+ , batchGetValuesByDataFilterRequest+ , bgvbdfrValueRenderOption+ , bgvbdfrDataFilters+ , bgvbdfrDateTimeRenderOption+ , bgvbdfrMajorDimension+ -- * CellFormatVerticalAlignment , CellFormatVerticalAlignment (..) @@ -384,21 +499,36 @@ -- * ConditionValueRelativeDate , ConditionValueRelativeDate (..) + -- * WaterfallChartCustomSubtotal+ , WaterfallChartCustomSubtotal+ , waterfallChartCustomSubtotal+ , wccsDataIsSubtotal+ , wccsSubtotalIndex+ , wccsLabel++ -- * DeveloperMetadataLocationLocationType+ , DeveloperMetadataLocationLocationType (..)+ -- * Response , Response , response , rAddFilterView+ , rCreateDeveloperMetadata , rDuplicateFilterView , rUpdateEmbeddedObjectPosition+ , rDeleteDimensionGroup , rAddSheet , rFindReplace , rAddProtectedRange , rDeleteConditionalFormatRule , rUpdateConditionalFormatRule+ , rDeleteDeveloperMetadata+ , rUpdateDeveloperMetadata , rAddNamedRange , rAddChart , rAddBanding , rDuplicateSheet+ , rAddDimensionGroup -- * FilterCriteria , FilterCriteria@@ -426,9 +556,31 @@ , dcfrrSheetId , dcfrrIndex + -- * UpdateDeveloperMetadataRequest+ , UpdateDeveloperMetadataRequest+ , updateDeveloperMetadataRequest+ , udmrDataFilters+ , udmrDeveloperMetadata+ , udmrFields+ -- * SortSpecSortOrder , SortSpecSortOrder (..) + -- * DeleteDeveloperMetadataRequest+ , DeleteDeveloperMetadataRequest+ , deleteDeveloperMetadataRequest+ , ddmrDataFilter++ -- * WaterfallChartSpec+ , WaterfallChartSpec+ , waterfallChartSpec+ , wcsStackedType+ , wcsConnectorLineStyle+ , wcsDomain+ , wcsSeries+ , wcsHideConnectorLines+ , wcsFirstValueIsTotal+ -- * OverlayPosition , OverlayPosition , overlayPosition@@ -443,6 +595,14 @@ , deleteEmbeddedObjectRequest , deorObjectId + -- * DeveloperMetadataLocation+ , DeveloperMetadataLocation+ , developerMetadataLocation+ , dmlSpreadsheet+ , dmlDimensionRange+ , dmlSheetId+ , dmlLocationType+ -- * SheetProperties , SheetProperties , sheetProperties@@ -483,14 +643,26 @@ , sprNamedRanges , sprSpreadsheetId , sprSpreadsheetURL+ , sprDeveloperMetadata , sprProperties + -- * CandlestickChartSpec+ , CandlestickChartSpec+ , candlestickChartSpec+ , ccsData+ , ccsDomain+ -- * InsertDimensionRequest , InsertDimensionRequest , insertDimensionRequest , idrRange , idrInheritFromBefore + -- * SearchDeveloperMetadataResponse+ , SearchDeveloperMetadataResponse+ , searchDeveloperMetadataResponse+ , sdmrMatchedDeveloperMetadata+ -- * PivotValueSummarizeFunction , PivotValueSummarizeFunction (..) @@ -501,6 +673,9 @@ , ipValue , ipType + -- * OrgChartSpecNodeSize+ , OrgChartSpecNodeSize (..)+ -- * CellData , CellData , cellData@@ -515,6 +690,9 @@ , cdHyperlink , cdEffectiveValue + -- * BatchUpdateValuesByDataFilterRequestResponseValueRenderOption+ , BatchUpdateValuesByDataFilterRequestResponseValueRenderOption (..)+ -- * ChartSourceRange , ChartSourceRange , chartSourceRange@@ -525,6 +703,12 @@ , addNamedRangeResponse , anrrNamedRange + -- * WaterfallChartDomain+ , WaterfallChartDomain+ , waterfallChartDomain+ , wcdReversed+ , wcdData+ -- * AddChartResponse , AddChartResponse , addChartResponse@@ -541,18 +725,51 @@ , setBasicFilterRequest , sbfrFilter + -- * IterativeCalculationSettings+ , IterativeCalculationSettings+ , iterativeCalculationSettings+ , icsMaxIterations+ , icsConvergenceThreshold++ -- * UpdateValuesByDataFilterResponse+ , UpdateValuesByDataFilterResponse+ , updateValuesByDataFilterResponse+ , uvbdfrUpdatedCells+ , uvbdfrUpdatedRows+ , uvbdfrUpdatedRange+ , uvbdfrUpdatedData+ , uvbdfrUpdatedColumns+ , uvbdfrDataFilter+ -- * GridProperties , GridProperties , gridProperties , gpFrozenColumnCount , gpColumnCount+ , gpColumnGroupControlAfter , gpHideGridlines , gpFrozenRowCount+ , gpRowGroupControlAfter , gpRowCount + -- * LineStyleType+ , LineStyleType (..)++ -- * HistogramChartSpec+ , HistogramChartSpec+ , histogramChartSpec+ , hcsLegendPosition+ , hcsSeries+ , hcsShowItemDividers+ , hcsOutlierPercentile+ , hcsBucketSize+ -- * CellFormatHyperlinkDisplayType , CellFormatHyperlinkDisplayType (..) + -- * BatchUpdateValuesByDataFilterRequestValueInputOption+ , BatchUpdateValuesByDataFilterRequestValueInputOption (..)+ -- * BasicFilterCriteria , BasicFilterCriteria , basicFilterCriteria@@ -582,6 +799,20 @@ , afrUseAlternateSeries , afrRange + -- * DeveloperMetadataLookup+ , DeveloperMetadataLookup+ , developerMetadataLookup+ , dLocationMatchingStrategy+ , dMetadataId+ , dVisibility+ , dMetadataKey+ , dLocationType+ , dMetadataLocation+ , dMetadataValue++ -- * HistogramChartSpecLegendPosition+ , HistogramChartSpecLegendPosition (..)+ -- * DuplicateSheetRequest , DuplicateSheetRequest , duplicateSheetRequest@@ -590,6 +821,12 @@ , dsrSourceSheetId , dsrNewSheetId + -- * TextRotation+ , TextRotation+ , textRotation+ , trAngle+ , trVertical+ -- * DuplicateFilterViewResponse , DuplicateFilterViewResponse , duplicateFilterViewResponse@@ -607,6 +844,13 @@ , buvrResponseDateTimeRenderOption , buvrResponseValueRenderOption + -- * DataFilterValueRange+ , DataFilterValueRange+ , dataFilterValueRange+ , dfvrValues+ , dfvrDataFilter+ , dfvrMajorDimension+ -- * AddChartRequest , AddChartRequest , addChartRequest@@ -619,15 +863,28 @@ , nrName , nrRange + -- * DeveloperMetadataLookupLocationType+ , DeveloperMetadataLookupLocationType (..)+ -- * MergeCellsRequest , MergeCellsRequest , mergeCellsRequest , mcrMergeType , mcrRange + -- * ManualRule+ , ManualRule+ , manualRule+ , mrGroups+ -- * MergeCellsRequestMergeType , MergeCellsRequestMergeType (..) + -- * TextPosition+ , TextPosition+ , textPosition+ , tpHorizontalAlignment+ -- * CellFormatHorizontalAlignment , CellFormatHorizontalAlignment (..) @@ -638,6 +895,16 @@ , boColor , boWidth + -- * SearchDeveloperMetadataRequest+ , SearchDeveloperMetadataRequest+ , searchDeveloperMetadataRequest+ , sdmrDataFilters++ -- * CandlestickSeries+ , CandlestickSeries+ , candlestickSeries+ , csData+ -- * ExtendedValue , ExtendedValue , extendedValue@@ -652,6 +919,9 @@ , addNamedRangeRequest , aNamedRange + -- * WaterfallChartSpecStackedType+ , WaterfallChartSpecStackedType (..)+ -- * PivotFilterCriteria , PivotFilterCriteria , pivotFilterCriteria@@ -671,6 +941,18 @@ , uFields , uProperties + -- * DateTimeRuleType+ , DateTimeRuleType (..)++ -- * DeveloperMetadataLookupVisibility+ , DeveloperMetadataLookupVisibility (..)++ -- * CandlestickDomain+ , CandlestickDomain+ , candlestickDomain+ , cdReversed+ , cdData+ -- * AddProtectedRangeResponse , AddProtectedRangeResponse , addProtectedRangeResponse@@ -689,8 +971,12 @@ , pvSourceColumnOffSet , pvFormula , pvName+ , pvCalculatedDisplayType , pvSummarizeFunction + -- * BasicChartSpecCompareMode+ , BasicChartSpecCompareMode (..)+ -- * UnmergeCellsRequest , UnmergeCellsRequest , unmergeCellsRequest@@ -704,6 +990,25 @@ -- * BooleanConditionType , BooleanConditionType (..) + -- * AddDimensionGroupRequest+ , AddDimensionGroupRequest+ , addDimensionGroupRequest+ , adgrRange++ -- * WaterfallChartColumnStyle+ , WaterfallChartColumnStyle+ , waterfallChartColumnStyle+ , wColor+ , wLabel++ -- * CandlestickData+ , CandlestickData+ , candlestickData+ , cdLowSeries+ , cdHighSeries+ , cdOpenSeries+ , cdCloseSeries+ -- * BandedRange , BandedRange , bandedRange@@ -726,6 +1031,15 @@ -- * ValueRangeMajorDimension , ValueRangeMajorDimension (..) + -- * BatchUpdateValuesByDataFilterRequest+ , BatchUpdateValuesByDataFilterRequest+ , batchUpdateValuesByDataFilterRequest+ , buvbdfrData+ , buvbdfrValueInputOption+ , buvbdfrIncludeValuesInResponse+ , buvbdfrResponseDateTimeRenderOption+ , buvbdfrResponseValueRenderOption+ -- * PivotGroupSortOrder , PivotGroupSortOrder (..) @@ -791,6 +1105,12 @@ -- * CopyPasteRequestPasteOrientation , CopyPasteRequestPasteOrientation (..) + -- * GetSpreadsheetByDataFilterRequest+ , GetSpreadsheetByDataFilterRequest+ , getSpreadsheetByDataFilterRequest+ , gsbdfrDataFilters+ , gsbdfrIncludeGridData+ -- * BatchUpdateSpreadsheetRequest , BatchUpdateSpreadsheetRequest , batchUpdateSpreadsheetRequest@@ -812,6 +1132,11 @@ , uvrUpdatedData , uvrUpdatedColumns + -- * DeleteDimensionGroupResponse+ , DeleteDimensionGroupResponse+ , deleteDimensionGroupResponse+ , ddgrDimensionGroups+ -- * CopySheetToAnotherSpreadsheetRequest , CopySheetToAnotherSpreadsheetRequest , copySheetToAnotherSpreadsheetRequest@@ -831,6 +1156,22 @@ -- * CellFormatTextDirection , CellFormatTextDirection (..) + -- * BatchClearValuesByDataFilterResponse+ , BatchClearValuesByDataFilterResponse+ , batchClearValuesByDataFilterResponse+ , bcvbdfrClearedRanges+ , bcvbdfrSpreadsheetId++ -- * WaterfallChartSeries+ , WaterfallChartSeries+ , waterfallChartSeries+ , wcsData+ , wcsCustomSubtotals+ , wcsNegativeColumnsStyle+ , wcsHideTrailingSubtotal+ , wcsSubtotalColumnsStyle+ , wcsPositiveColumnsStyle+ -- * BasicChartSeriesType , BasicChartSeriesType (..) @@ -848,6 +1189,7 @@ , cfBOrders , cfVerticalAlignment , cfBackgRoundColor+ , cfTextRotation , cfHyperlinkDisplayType , cfWrapStrategy , cfNumberFormat@@ -884,9 +1226,13 @@ , prRequestingUserCanEdit , prDescription + -- * PivotValueCalculatedDisplayType+ , PivotValueCalculatedDisplayType (..)+ -- * BasicChartAxis , BasicChartAxis , basicChartAxis+ , bcaTitleTextPosition , bcaFormat , bcaTitle , bcaPosition@@ -906,6 +1252,9 @@ , nfPattern , nfType + -- * BatchGetValuesByDataFilterRequestDateTimeRenderOption+ , BatchGetValuesByDataFilterRequestDateTimeRenderOption (..)+ -- * BatchUpdateSpreadsheetResponse , BatchUpdateSpreadsheetResponse , batchUpdateSpreadsheetResponse@@ -913,6 +1262,13 @@ , busrReplies , busrUpdatedSpreadsheet + -- * DataFilter+ , DataFilter+ , dataFilter+ , dfGridRange+ , dfA1Range+ , dfDeveloperMetadataLookup+ -- * SetDataValidationRequest , SetDataValidationRequest , setDataValidationRequest@@ -941,17 +1297,30 @@ -- * PivotGroup , PivotGroup , pivotGroup+ , pgRepeatHeadings , pgValueMetadata , pgSourceColumnOffSet , pgSortOrder , pgShowTotals , pgValueBucket+ , pgLabel+ , pgGroupRule -- * AddBandingResponse , AddBandingResponse , addBandingResponse , aBandedRange + -- * OrgChartSpec+ , OrgChartSpec+ , orgChartSpec+ , ocsNodeColor+ , ocsNodeSize+ , ocsTooltips+ , ocsSelectedNodeColor+ , ocsLabels+ , ocsParentLabels+ -- * CutPasteRequestPasteType , CutPasteRequestPasteType (..) @@ -961,6 +1330,33 @@ -- * ErrorValueType , ErrorValueType (..) + -- * RandomizeRangeRequest+ , RandomizeRangeRequest+ , randomizeRangeRequest+ , rrrRange++ -- * HistogramSeries+ , HistogramSeries+ , histogramSeries+ , hsBarColor+ , hsData++ -- * TreemapChartSpec+ , TreemapChartSpec+ , treemapChartSpec+ , tcsHintedLevels+ , tcsMaxValue+ , tcsHeaderColor+ , tcsSizeData+ , tcsColorData+ , tcsHideTooltips+ , tcsLevels+ , tcsLabels+ , tcsColorScale+ , tcsTextFormat+ , tcsMinValue+ , tcsParentLabels+ -- * ConditionalFormatRule , ConditionalFormatRule , conditionalFormatRule@@ -971,19 +1367,50 @@ -- * BasicChartSpec , BasicChartSpec , basicChartSpec- , bHeaderCount- , bLegendPosition- , bSeries- , bChartType- , bDomains- , bAxis+ , basHeaderCount+ , basLineSmoothing+ , basInterpolateNulls+ , basStackedType+ , basLegendPosition+ , basSeries+ , basCompareMode+ , basChartType+ , basThreeDimensional+ , basDomains+ , basAxis + -- * ManualRuleGroup+ , ManualRuleGroup+ , manualRuleGroup+ , mrgItems+ , mrgGroupName++ -- * BatchGetValuesByDataFilterRequestMajorDimension+ , BatchGetValuesByDataFilterRequestMajorDimension (..)+ -- * AddConditionalFormatRuleRequest , AddConditionalFormatRuleRequest , addConditionalFormatRuleRequest , acfrrRule , acfrrIndex + -- * DeveloperMetadata+ , DeveloperMetadata+ , developerMetadata+ , dmLocation+ , dmMetadataId+ , dmVisibility+ , dmMetadataKey+ , dmMetadataValue++ -- * TreemapChartColorScale+ , TreemapChartColorScale+ , treemapChartColorScale+ , tccsMinValueColor+ , tccsNoDataColor+ , tccsMaxValueColor+ , tccsMidValueColor+ -- * PivotTableValueLayout , PivotTableValueLayout (..) @@ -1003,20 +1430,45 @@ , tfBold , tfStrikethrough + -- * CreateDeveloperMetadataRequest+ , CreateDeveloperMetadataRequest+ , createDeveloperMetadataRequest+ , cDeveloperMetadata+ -- * BatchClearValuesResponse , BatchClearValuesResponse , batchClearValuesResponse , bcvrClearedRanges , bcvrSpreadsheetId + -- * MatchedValueRange+ , MatchedValueRange+ , matchedValueRange+ , mvrValueRange+ , mvrDataFilters+ -- * BasicChartDomain , BasicChartDomain , basicChartDomain+ , bcdReversed , bcdDomain -- * InterpolationPointType , InterpolationPointType (..) + -- * HistogramRule+ , HistogramRule+ , histogramRule+ , hrStart+ , hrInterval+ , hrEnd++ -- * MatchedDeveloperMetadata+ , MatchedDeveloperMetadata+ , matchedDeveloperMetadata+ , mdmDataFilters+ , mdmDeveloperMetadata+ -- * TextToColumnsRequestDelimiterType , TextToColumnsRequestDelimiterType (..) @@ -1040,8 +1492,23 @@ -- * ChartSpec , ChartSpec , chartSpec+ , csTitleTextPosition+ , csFontName+ , csSubtitleTextPosition+ , csBackgRoundColor+ , csCandlestickChart+ , csWaterfallChart+ , csTitleTextFormat+ , csSubtitle+ , csAltText+ , csHistogramChart+ , csBubbleChart+ , csMaximized+ , csSubtitleTextFormat , csTitle , csPieChart+ , csOrgChart+ , csTreemapChart , csBasicChart , csHiddenDimensionStrategy @@ -1051,6 +1518,7 @@ , dpHiddenByFilter , dpPixelSize , dpHiddenByUser+ , dpDeveloperMetadata -- * UpdateBandingRequest , UpdateBandingRequest@@ -1069,6 +1537,16 @@ , deleteBandingRequest , dbrBandedRangeId + -- * DeleteDeveloperMetadataResponse+ , DeleteDeveloperMetadataResponse+ , deleteDeveloperMetadataResponse+ , ddmrDeletedDeveloperMetadata++ -- * UpdateDeveloperMetadataResponse+ , UpdateDeveloperMetadataResponse+ , updateDeveloperMetadataResponse+ , uDeveloperMetadata+ -- * Request' , Request' , request'@@ -1076,8 +1554,10 @@ , reqDeleteProtectedRange , reqUpdateProtectedRange , reqUpdateCells+ , reqCreateDeveloperMetadata , reqDuplicateFilterView , reqAddConditionalFormatRule+ , reqRandomizeRange , reqSortRange , reqUpdateNamedRange , reqDeleteNamedRange@@ -1090,6 +1570,8 @@ , reqUpdateEmbeddedObjectPosition , reqDeleteRange , reqCopyPaste+ , reqUpdateDimensionGroup+ , reqDeleteDimensionGroup , reqAutoResizeDimensions , reqAddSheet , reqFindReplace@@ -1105,6 +1587,8 @@ , reqDeleteConditionalFormatRule , reqUpdateConditionalFormatRule , reqDeleteEmbeddedObject+ , reqDeleteDeveloperMetadata+ , reqUpdateDeveloperMetadata , reqMergeCells , reqAddNamedRange , reqAddChart@@ -1115,6 +1599,7 @@ , reqUpdateChartSpec , reqSetBasicFilter , reqTextToColumns+ , reqAddDimensionGroup , reqUpdateSpreadsheetProperties , reqDeleteSheet , reqUnmergeCells@@ -1122,6 +1607,12 @@ , reqAppendDimension , reqSetDataValidation + -- * LineStyle+ , LineStyle+ , lineStyle+ , lsWidth+ , lsType+ -- * DeleteConditionalFormatRuleResponse , DeleteConditionalFormatRuleResponse , deleteConditionalFormatRuleResponse@@ -1150,14 +1641,19 @@ spreadsheetsReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/spreadsheets.readonly"] spreadsheetsReadOnlyScope = Proxy; --- | View the files in your Google Drive+-- | See and download all your Google Drive files driveReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/drive.readonly"] driveReadOnlyScope = Proxy; --- | View and manage the files in your Google Drive+-- | See, edit, create, and delete all of your Google Drive files driveScope :: Proxy '["https://www.googleapis.com/auth/drive"] driveScope = Proxy; --- | View and manage your spreadsheets in Google Drive+-- | View and manage Google Drive files and folders that you have opened or+-- created with this app+driveFileScope :: Proxy '["https://www.googleapis.com/auth/drive.file"]+driveFileScope = Proxy;++-- | See, edit, create, and delete your spreadsheets in Google Drive spreadsheetsScope :: Proxy '["https://www.googleapis.com/auth/spreadsheets"] spreadsheetsScope = Proxy;
gen/Network/Google/Sheets/Types/Product.hs view
@@ -250,8741 +250,12978 @@ -- /See:/ 'updateNamedRangeRequest' smart constructor. data UpdateNamedRangeRequest = UpdateNamedRangeRequest' { _unrrNamedRange :: !(Maybe NamedRange)- , _unrrFields :: !(Maybe FieldMask)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UpdateNamedRangeRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'unrrNamedRange'------ * 'unrrFields'-updateNamedRangeRequest- :: UpdateNamedRangeRequest-updateNamedRangeRequest =- UpdateNamedRangeRequest'- { _unrrNamedRange = Nothing- , _unrrFields = Nothing- }---- | The named range to update with the new properties.-unrrNamedRange :: Lens' UpdateNamedRangeRequest (Maybe NamedRange)-unrrNamedRange- = lens _unrrNamedRange- (\ s a -> s{_unrrNamedRange = a})---- | The fields that should be updated. At least one field must be specified.--- The root \`namedRange\` is implied and should not be specified. A single--- \`\"*\"\` can be used as short-hand for listing every field.-unrrFields :: Lens' UpdateNamedRangeRequest (Maybe FieldMask)-unrrFields- = lens _unrrFields (\ s a -> s{_unrrFields = a})--instance FromJSON UpdateNamedRangeRequest where- parseJSON- = withObject "UpdateNamedRangeRequest"- (\ o ->- UpdateNamedRangeRequest' <$>- (o .:? "namedRange") <*> (o .:? "fields"))--instance ToJSON UpdateNamedRangeRequest where- toJSON UpdateNamedRangeRequest'{..}- = object- (catMaybes- [("namedRange" .=) <$> _unrrNamedRange,- ("fields" .=) <$> _unrrFields])---- | The data included in a domain or series.------ /See:/ 'chartData' smart constructor.-newtype ChartData = ChartData'- { _cdSourceRange :: Maybe ChartSourceRange- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ChartData' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cdSourceRange'-chartData- :: ChartData-chartData =- ChartData'- { _cdSourceRange = Nothing- }---- | The source ranges of the data.-cdSourceRange :: Lens' ChartData (Maybe ChartSourceRange)-cdSourceRange- = lens _cdSourceRange- (\ s a -> s{_cdSourceRange = a})--instance FromJSON ChartData where- parseJSON- = withObject "ChartData"- (\ o -> ChartData' <$> (o .:? "sourceRange"))--instance ToJSON ChartData where- toJSON ChartData'{..}- = object- (catMaybes [("sourceRange" .=) <$> _cdSourceRange])---- | The request for clearing more than one range of values in a spreadsheet.------ /See:/ 'batchClearValuesRequest' smart constructor.-newtype BatchClearValuesRequest = BatchClearValuesRequest'- { _bcvrRanges :: Maybe [Text]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'BatchClearValuesRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bcvrRanges'-batchClearValuesRequest- :: BatchClearValuesRequest-batchClearValuesRequest =- BatchClearValuesRequest'- { _bcvrRanges = Nothing- }---- | The ranges to clear, in A1 notation.-bcvrRanges :: Lens' BatchClearValuesRequest [Text]-bcvrRanges- = lens _bcvrRanges (\ s a -> s{_bcvrRanges = a}) .- _Default- . _Coerce--instance FromJSON BatchClearValuesRequest where- parseJSON- = withObject "BatchClearValuesRequest"- (\ o ->- BatchClearValuesRequest' <$>- (o .:? "ranges" .!= mempty))--instance ToJSON BatchClearValuesRequest where- toJSON BatchClearValuesRequest'{..}- = object (catMaybes [("ranges" .=) <$> _bcvrRanges])---- | Properties of a spreadsheet.------ /See:/ 'spreadsheetProperties' smart constructor.-data SpreadsheetProperties = SpreadsheetProperties'- { _spDefaultFormat :: !(Maybe CellFormat)- , _spLocale :: !(Maybe Text)- , _spAutoRecalc :: !(Maybe SpreadsheetPropertiesAutoRecalc)- , _spTitle :: !(Maybe Text)- , _spTimeZone :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SpreadsheetProperties' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'spDefaultFormat'------ * 'spLocale'------ * 'spAutoRecalc'------ * 'spTitle'------ * 'spTimeZone'-spreadsheetProperties- :: SpreadsheetProperties-spreadsheetProperties =- SpreadsheetProperties'- { _spDefaultFormat = Nothing- , _spLocale = Nothing- , _spAutoRecalc = Nothing- , _spTitle = Nothing- , _spTimeZone = Nothing- }---- | The default format of all cells in the spreadsheet.--- CellData.effectiveFormat will not be set if the cell\'s format is equal--- to this default format. This field is read-only.-spDefaultFormat :: Lens' SpreadsheetProperties (Maybe CellFormat)-spDefaultFormat- = lens _spDefaultFormat- (\ s a -> s{_spDefaultFormat = a})---- | The locale of the spreadsheet in one of the following formats: * an ISO--- 639-1 language code such as \`en\` * an ISO 639-2 language code such as--- \`fil\`, if no 639-1 code exists * a combination of the ISO language--- code and country code, such as \`en_US\` Note: when updating this field,--- not all locales\/languages are supported.-spLocale :: Lens' SpreadsheetProperties (Maybe Text)-spLocale = lens _spLocale (\ s a -> s{_spLocale = a})---- | The amount of time to wait before volatile functions are recalculated.-spAutoRecalc :: Lens' SpreadsheetProperties (Maybe SpreadsheetPropertiesAutoRecalc)-spAutoRecalc- = lens _spAutoRecalc (\ s a -> s{_spAutoRecalc = a})---- | The title of the spreadsheet.-spTitle :: Lens' SpreadsheetProperties (Maybe Text)-spTitle = lens _spTitle (\ s a -> s{_spTitle = a})---- | The time zone of the spreadsheet, in CLDR format such as--- \`America\/New_York\`. If the time zone isn\'t recognized, this may be a--- custom time zone such as \`GMT-07:00\`.-spTimeZone :: Lens' SpreadsheetProperties (Maybe Text)-spTimeZone- = lens _spTimeZone (\ s a -> s{_spTimeZone = a})--instance FromJSON SpreadsheetProperties where- parseJSON- = withObject "SpreadsheetProperties"- (\ o ->- SpreadsheetProperties' <$>- (o .:? "defaultFormat") <*> (o .:? "locale") <*>- (o .:? "autoRecalc")- <*> (o .:? "title")- <*> (o .:? "timeZone"))--instance ToJSON SpreadsheetProperties where- toJSON SpreadsheetProperties'{..}- = object- (catMaybes- [("defaultFormat" .=) <$> _spDefaultFormat,- ("locale" .=) <$> _spLocale,- ("autoRecalc" .=) <$> _spAutoRecalc,- ("title" .=) <$> _spTitle,- ("timeZone" .=) <$> _spTimeZone])---- | The borders of the cell.------ /See:/ 'bOrders' smart constructor.-data BOrders = BOrders'- { _boBottom :: !(Maybe BOrder)- , _boLeft :: !(Maybe BOrder)- , _boRight :: !(Maybe BOrder)- , _boTop :: !(Maybe BOrder)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'BOrders' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'boBottom'------ * 'boLeft'------ * 'boRight'------ * 'boTop'-bOrders- :: BOrders-bOrders =- BOrders'- { _boBottom = Nothing- , _boLeft = Nothing- , _boRight = Nothing- , _boTop = Nothing- }---- | The bottom border of the cell.-boBottom :: Lens' BOrders (Maybe BOrder)-boBottom = lens _boBottom (\ s a -> s{_boBottom = a})---- | The left border of the cell.-boLeft :: Lens' BOrders (Maybe BOrder)-boLeft = lens _boLeft (\ s a -> s{_boLeft = a})---- | The right border of the cell.-boRight :: Lens' BOrders (Maybe BOrder)-boRight = lens _boRight (\ s a -> s{_boRight = a})---- | The top border of the cell.-boTop :: Lens' BOrders (Maybe BOrder)-boTop = lens _boTop (\ s a -> s{_boTop = a})--instance FromJSON BOrders where- parseJSON- = withObject "BOrders"- (\ o ->- BOrders' <$>- (o .:? "bottom") <*> (o .:? "left") <*>- (o .:? "right")- <*> (o .:? "top"))--instance ToJSON BOrders where- toJSON BOrders'{..}- = object- (catMaybes- [("bottom" .=) <$> _boBottom,- ("left" .=) <$> _boLeft, ("right" .=) <$> _boRight,- ("top" .=) <$> _boTop])---- | A run of a text format. The format of this run continues until the start--- index of the next run. When updating, all fields must be set.------ /See:/ 'textFormatRun' smart constructor.-data TextFormatRun = TextFormatRun'- { _tfrFormat :: !(Maybe TextFormat)- , _tfrStartIndex :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TextFormatRun' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tfrFormat'------ * 'tfrStartIndex'-textFormatRun- :: TextFormatRun-textFormatRun =- TextFormatRun'- { _tfrFormat = Nothing- , _tfrStartIndex = Nothing- }---- | The format of this run. Absent values inherit the cell\'s format.-tfrFormat :: Lens' TextFormatRun (Maybe TextFormat)-tfrFormat- = lens _tfrFormat (\ s a -> s{_tfrFormat = a})---- | The character index where this run starts.-tfrStartIndex :: Lens' TextFormatRun (Maybe Int32)-tfrStartIndex- = lens _tfrStartIndex- (\ s a -> s{_tfrStartIndex = a})- . mapping _Coerce--instance FromJSON TextFormatRun where- parseJSON- = withObject "TextFormatRun"- (\ o ->- TextFormatRun' <$>- (o .:? "format") <*> (o .:? "startIndex"))--instance ToJSON TextFormatRun where- toJSON TextFormatRun'{..}- = object- (catMaybes- [("format" .=) <$> _tfrFormat,- ("startIndex" .=) <$> _tfrStartIndex])---- | Adds a new sheet. When a sheet is added at a given index, all subsequent--- sheets\' indexes are incremented. To add an object sheet, use--- AddChartRequest instead and specify EmbeddedObjectPosition.sheetId or--- EmbeddedObjectPosition.newSheet.------ /See:/ 'addSheetRequest' smart constructor.-newtype AddSheetRequest = AddSheetRequest'- { _asrProperties :: Maybe SheetProperties- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AddSheetRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'asrProperties'-addSheetRequest- :: AddSheetRequest-addSheetRequest =- AddSheetRequest'- { _asrProperties = Nothing- }---- | The properties the new sheet should have. All properties are optional.--- The sheetId field is optional; if one is not set, an id will be randomly--- generated. (It is an error to specify the ID of a sheet that already--- exists.)-asrProperties :: Lens' AddSheetRequest (Maybe SheetProperties)-asrProperties- = lens _asrProperties- (\ s a -> s{_asrProperties = a})--instance FromJSON AddSheetRequest where- parseJSON- = withObject "AddSheetRequest"- (\ o -> AddSheetRequest' <$> (o .:? "properties"))--instance ToJSON AddSheetRequest where- toJSON AddSheetRequest'{..}- = object- (catMaybes [("properties" .=) <$> _asrProperties])---- | A sort order associated with a specific column or row.------ /See:/ 'sortSpec' smart constructor.-data SortSpec = SortSpec'- { _ssSortOrder :: !(Maybe SortSpecSortOrder)- , _ssDimensionIndex :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SortSpec' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ssSortOrder'------ * 'ssDimensionIndex'-sortSpec- :: SortSpec-sortSpec =- SortSpec'- { _ssSortOrder = Nothing- , _ssDimensionIndex = Nothing- }---- | The order data should be sorted.-ssSortOrder :: Lens' SortSpec (Maybe SortSpecSortOrder)-ssSortOrder- = lens _ssSortOrder (\ s a -> s{_ssSortOrder = a})---- | The dimension the sort should be applied to.-ssDimensionIndex :: Lens' SortSpec (Maybe Int32)-ssDimensionIndex- = lens _ssDimensionIndex- (\ s a -> s{_ssDimensionIndex = a})- . mapping _Coerce--instance FromJSON SortSpec where- parseJSON- = withObject "SortSpec"- (\ o ->- SortSpec' <$>- (o .:? "sortOrder") <*> (o .:? "dimensionIndex"))--instance ToJSON SortSpec where- toJSON SortSpec'{..}- = object- (catMaybes- [("sortOrder" .=) <$> _ssSortOrder,- ("dimensionIndex" .=) <$> _ssDimensionIndex])---- | Copies data from the source to the destination.------ /See:/ 'copyPasteRequest' smart constructor.-data CopyPasteRequest = CopyPasteRequest'- { _cprDestination :: !(Maybe GridRange)- , _cprSource :: !(Maybe GridRange)- , _cprPasteOrientation :: !(Maybe CopyPasteRequestPasteOrientation)- , _cprPasteType :: !(Maybe CopyPasteRequestPasteType)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'CopyPasteRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cprDestination'------ * 'cprSource'------ * 'cprPasteOrientation'------ * 'cprPasteType'-copyPasteRequest- :: CopyPasteRequest-copyPasteRequest =- CopyPasteRequest'- { _cprDestination = Nothing- , _cprSource = Nothing- , _cprPasteOrientation = Nothing- , _cprPasteType = Nothing- }---- | The location to paste to. If the range covers a span that\'s a multiple--- of the source\'s height or width, then the data will be repeated to fill--- in the destination range. If the range is smaller than the source range,--- the entire source data will still be copied (beyond the end of the--- destination range).-cprDestination :: Lens' CopyPasteRequest (Maybe GridRange)-cprDestination- = lens _cprDestination- (\ s a -> s{_cprDestination = a})---- | The source range to copy.-cprSource :: Lens' CopyPasteRequest (Maybe GridRange)-cprSource- = lens _cprSource (\ s a -> s{_cprSource = a})---- | How that data should be oriented when pasting.-cprPasteOrientation :: Lens' CopyPasteRequest (Maybe CopyPasteRequestPasteOrientation)-cprPasteOrientation- = lens _cprPasteOrientation- (\ s a -> s{_cprPasteOrientation = a})---- | What kind of data to paste.-cprPasteType :: Lens' CopyPasteRequest (Maybe CopyPasteRequestPasteType)-cprPasteType- = lens _cprPasteType (\ s a -> s{_cprPasteType = a})--instance FromJSON CopyPasteRequest where- parseJSON- = withObject "CopyPasteRequest"- (\ o ->- CopyPasteRequest' <$>- (o .:? "destination") <*> (o .:? "source") <*>- (o .:? "pasteOrientation")- <*> (o .:? "pasteType"))--instance ToJSON CopyPasteRequest where- toJSON CopyPasteRequest'{..}- = object- (catMaybes- [("destination" .=) <$> _cprDestination,- ("source" .=) <$> _cprSource,- ("pasteOrientation" .=) <$> _cprPasteOrientation,- ("pasteType" .=) <$> _cprPasteType])---- | A range on a sheet. All indexes are zero-based. Indexes are half open,--- e.g the start index is inclusive and the end index is exclusive ----- [start_index, end_index). Missing indexes indicate the range is--- unbounded on that side. For example, if \`\"Sheet1\"\` is sheet ID 0,--- then: \`Sheet1!A1:A1 == sheet_id: 0, start_row_index: 0, end_row_index:--- 1, start_column_index: 0, end_column_index: 1\` \`Sheet1!A3:B4 ==--- sheet_id: 0, start_row_index: 2, end_row_index: 4, start_column_index:--- 0, end_column_index: 2\` \`Sheet1!A:B == sheet_id: 0,--- start_column_index: 0, end_column_index: 2\` \`Sheet1!A5:B == sheet_id:--- 0, start_row_index: 4, start_column_index: 0, end_column_index: 2\`--- \`Sheet1 == sheet_id:0\` The start index must always be less than or--- equal to the end index. If the start index equals the end index, then--- the range is empty. Empty ranges are typically not meaningful and are--- usually rendered in the UI as \`#REF!\`.------ /See:/ 'gridRange' smart constructor.-data GridRange = GridRange'- { _grEndColumnIndex :: !(Maybe (Textual Int32))- , _grStartColumnIndex :: !(Maybe (Textual Int32))- , _grEndRowIndex :: !(Maybe (Textual Int32))- , _grStartRowIndex :: !(Maybe (Textual Int32))- , _grSheetId :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GridRange' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'grEndColumnIndex'------ * 'grStartColumnIndex'------ * 'grEndRowIndex'------ * 'grStartRowIndex'------ * 'grSheetId'-gridRange- :: GridRange-gridRange =- GridRange'- { _grEndColumnIndex = Nothing- , _grStartColumnIndex = Nothing- , _grEndRowIndex = Nothing- , _grStartRowIndex = Nothing- , _grSheetId = Nothing- }---- | The end column (exclusive) of the range, or not set if unbounded.-grEndColumnIndex :: Lens' GridRange (Maybe Int32)-grEndColumnIndex- = lens _grEndColumnIndex- (\ s a -> s{_grEndColumnIndex = a})- . mapping _Coerce---- | The start column (inclusive) of the range, or not set if unbounded.-grStartColumnIndex :: Lens' GridRange (Maybe Int32)-grStartColumnIndex- = lens _grStartColumnIndex- (\ s a -> s{_grStartColumnIndex = a})- . mapping _Coerce---- | The end row (exclusive) of the range, or not set if unbounded.-grEndRowIndex :: Lens' GridRange (Maybe Int32)-grEndRowIndex- = lens _grEndRowIndex- (\ s a -> s{_grEndRowIndex = a})- . mapping _Coerce---- | The start row (inclusive) of the range, or not set if unbounded.-grStartRowIndex :: Lens' GridRange (Maybe Int32)-grStartRowIndex- = lens _grStartRowIndex- (\ s a -> s{_grStartRowIndex = a})- . mapping _Coerce---- | The sheet this range is on.-grSheetId :: Lens' GridRange (Maybe Int32)-grSheetId- = lens _grSheetId (\ s a -> s{_grSheetId = a}) .- mapping _Coerce--instance FromJSON GridRange where- parseJSON- = withObject "GridRange"- (\ o ->- GridRange' <$>- (o .:? "endColumnIndex") <*>- (o .:? "startColumnIndex")- <*> (o .:? "endRowIndex")- <*> (o .:? "startRowIndex")- <*> (o .:? "sheetId"))--instance ToJSON GridRange where- toJSON GridRange'{..}- = object- (catMaybes- [("endColumnIndex" .=) <$> _grEndColumnIndex,- ("startColumnIndex" .=) <$> _grStartColumnIndex,- ("endRowIndex" .=) <$> _grEndRowIndex,- ("startRowIndex" .=) <$> _grStartRowIndex,- ("sheetId" .=) <$> _grSheetId])---- | The result of adding a filter view.------ /See:/ 'addFilterViewResponse' smart constructor.-newtype AddFilterViewResponse = AddFilterViewResponse'- { _afvrFilter :: Maybe FilterView- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AddFilterViewResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'afvrFilter'-addFilterViewResponse- :: AddFilterViewResponse-addFilterViewResponse =- AddFilterViewResponse'- { _afvrFilter = Nothing- }---- | The newly added filter view.-afvrFilter :: Lens' AddFilterViewResponse (Maybe FilterView)-afvrFilter- = lens _afvrFilter (\ s a -> s{_afvrFilter = a})--instance FromJSON AddFilterViewResponse where- parseJSON- = withObject "AddFilterViewResponse"- (\ o -> AddFilterViewResponse' <$> (o .:? "filter"))--instance ToJSON AddFilterViewResponse where- toJSON AddFilterViewResponse'{..}- = object (catMaybes [("filter" .=) <$> _afvrFilter])---- | A condition that can evaluate to true or false. BooleanConditions are--- used by conditional formatting, data validation, and the criteria in--- filters.------ /See:/ 'booleanCondition' smart constructor.-data BooleanCondition = BooleanCondition'- { _bcValues :: !(Maybe [ConditionValue])- , _bcType :: !(Maybe BooleanConditionType)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'BooleanCondition' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bcValues'------ * 'bcType'-booleanCondition- :: BooleanCondition-booleanCondition =- BooleanCondition'- { _bcValues = Nothing- , _bcType = Nothing- }---- | The values of the condition. The number of supported values depends on--- the condition type. Some support zero values, others one or two values,--- and ConditionType.ONE_OF_LIST supports an arbitrary number of values.-bcValues :: Lens' BooleanCondition [ConditionValue]-bcValues- = lens _bcValues (\ s a -> s{_bcValues = a}) .- _Default- . _Coerce---- | The type of condition.-bcType :: Lens' BooleanCondition (Maybe BooleanConditionType)-bcType = lens _bcType (\ s a -> s{_bcType = a})--instance FromJSON BooleanCondition where- parseJSON- = withObject "BooleanCondition"- (\ o ->- BooleanCondition' <$>- (o .:? "values" .!= mempty) <*> (o .:? "type"))--instance ToJSON BooleanCondition where- toJSON BooleanCondition'{..}- = object- (catMaybes- [("values" .=) <$> _bcValues,- ("type" .=) <$> _bcType])---- | Automatically resizes one or more dimensions based on the contents of--- the cells in that dimension.------ /See:/ 'autoResizeDimensionsRequest' smart constructor.-newtype AutoResizeDimensionsRequest = AutoResizeDimensionsRequest'- { _ardrDimensions :: Maybe DimensionRange- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AutoResizeDimensionsRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ardrDimensions'-autoResizeDimensionsRequest- :: AutoResizeDimensionsRequest-autoResizeDimensionsRequest =- AutoResizeDimensionsRequest'- { _ardrDimensions = Nothing- }---- | The dimensions to automatically resize. Only COLUMNS are supported.-ardrDimensions :: Lens' AutoResizeDimensionsRequest (Maybe DimensionRange)-ardrDimensions- = lens _ardrDimensions- (\ s a -> s{_ardrDimensions = a})--instance FromJSON AutoResizeDimensionsRequest where- parseJSON- = withObject "AutoResizeDimensionsRequest"- (\ o ->- AutoResizeDimensionsRequest' <$>- (o .:? "dimensions"))--instance ToJSON AutoResizeDimensionsRequest where- toJSON AutoResizeDimensionsRequest'{..}- = object- (catMaybes [("dimensions" .=) <$> _ardrDimensions])---- | Deletes a range of cells, shifting other cells into the deleted area.------ /See:/ 'deleteRangeRequest' smart constructor.-data DeleteRangeRequest = DeleteRangeRequest'- { _drrShiftDimension :: !(Maybe DeleteRangeRequestShiftDimension)- , _drrRange :: !(Maybe GridRange)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DeleteRangeRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'drrShiftDimension'------ * 'drrRange'-deleteRangeRequest- :: DeleteRangeRequest-deleteRangeRequest =- DeleteRangeRequest'- { _drrShiftDimension = Nothing- , _drrRange = Nothing- }---- | The dimension from which deleted cells will be replaced with. If ROWS,--- existing cells will be shifted upward to replace the deleted cells. If--- COLUMNS, existing cells will be shifted left to replace the deleted--- cells.-drrShiftDimension :: Lens' DeleteRangeRequest (Maybe DeleteRangeRequestShiftDimension)-drrShiftDimension- = lens _drrShiftDimension- (\ s a -> s{_drrShiftDimension = a})---- | The range of cells to delete.-drrRange :: Lens' DeleteRangeRequest (Maybe GridRange)-drrRange = lens _drrRange (\ s a -> s{_drrRange = a})--instance FromJSON DeleteRangeRequest where- parseJSON- = withObject "DeleteRangeRequest"- (\ o ->- DeleteRangeRequest' <$>- (o .:? "shiftDimension") <*> (o .:? "range"))--instance ToJSON DeleteRangeRequest where- toJSON DeleteRangeRequest'{..}- = object- (catMaybes- [("shiftDimension" .=) <$> _drrShiftDimension,- ("range" .=) <$> _drrRange])---- | A sheet in a spreadsheet.------ /See:/ 'sheet' smart constructor.-data Sheet = Sheet'- { _sData :: !(Maybe [GridData])- , _sMerges :: !(Maybe [GridRange])- , _sProtectedRanges :: !(Maybe [ProtectedRange])- , _sBandedRanges :: !(Maybe [BandedRange])- , _sCharts :: !(Maybe [EmbeddedChart])- , _sBasicFilter :: !(Maybe BasicFilter)- , _sConditionalFormats :: !(Maybe [ConditionalFormatRule])- , _sFilterViews :: !(Maybe [FilterView])- , _sProperties :: !(Maybe SheetProperties)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Sheet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sData'------ * 'sMerges'------ * 'sProtectedRanges'------ * 'sBandedRanges'------ * 'sCharts'------ * 'sBasicFilter'------ * 'sConditionalFormats'------ * 'sFilterViews'------ * 'sProperties'-sheet- :: Sheet-sheet =- Sheet'- { _sData = Nothing- , _sMerges = Nothing- , _sProtectedRanges = Nothing- , _sBandedRanges = Nothing- , _sCharts = Nothing- , _sBasicFilter = Nothing- , _sConditionalFormats = Nothing- , _sFilterViews = Nothing- , _sProperties = Nothing- }---- | Data in the grid, if this is a grid sheet. The number of GridData--- objects returned is dependent on the number of ranges requested on this--- sheet. For example, if this is representing \`Sheet1\`, and the--- spreadsheet was requested with ranges \`Sheet1!A1:C10\` and--- \`Sheet1!D15:E20\`, then the first GridData will have a--- startRow\/startColumn of \`0\`, while the second one will have--- \`startRow 14\` (zero-based row 15), and \`startColumn 3\` (zero-based--- column D).-sData :: Lens' Sheet [GridData]-sData- = lens _sData (\ s a -> s{_sData = a}) . _Default .- _Coerce---- | The ranges that are merged together.-sMerges :: Lens' Sheet [GridRange]-sMerges- = lens _sMerges (\ s a -> s{_sMerges = a}) . _Default- . _Coerce---- | The protected ranges in this sheet.-sProtectedRanges :: Lens' Sheet [ProtectedRange]-sProtectedRanges- = lens _sProtectedRanges- (\ s a -> s{_sProtectedRanges = a})- . _Default- . _Coerce---- | The banded (i.e. alternating colors) ranges on this sheet.-sBandedRanges :: Lens' Sheet [BandedRange]-sBandedRanges- = lens _sBandedRanges- (\ s a -> s{_sBandedRanges = a})- . _Default- . _Coerce---- | The specifications of every chart on this sheet.-sCharts :: Lens' Sheet [EmbeddedChart]-sCharts- = lens _sCharts (\ s a -> s{_sCharts = a}) . _Default- . _Coerce---- | The filter on this sheet, if any.-sBasicFilter :: Lens' Sheet (Maybe BasicFilter)-sBasicFilter- = lens _sBasicFilter (\ s a -> s{_sBasicFilter = a})---- | The conditional format rules in this sheet.-sConditionalFormats :: Lens' Sheet [ConditionalFormatRule]-sConditionalFormats- = lens _sConditionalFormats- (\ s a -> s{_sConditionalFormats = a})- . _Default- . _Coerce---- | The filter views in this sheet.-sFilterViews :: Lens' Sheet [FilterView]-sFilterViews- = lens _sFilterViews (\ s a -> s{_sFilterViews = a})- . _Default- . _Coerce---- | The properties of the sheet.-sProperties :: Lens' Sheet (Maybe SheetProperties)-sProperties- = lens _sProperties (\ s a -> s{_sProperties = a})--instance FromJSON Sheet where- parseJSON- = withObject "Sheet"- (\ o ->- Sheet' <$>- (o .:? "data" .!= mempty) <*>- (o .:? "merges" .!= mempty)- <*> (o .:? "protectedRanges" .!= mempty)- <*> (o .:? "bandedRanges" .!= mempty)- <*> (o .:? "charts" .!= mempty)- <*> (o .:? "basicFilter")- <*> (o .:? "conditionalFormats" .!= mempty)- <*> (o .:? "filterViews" .!= mempty)- <*> (o .:? "properties"))--instance ToJSON Sheet where- toJSON Sheet'{..}- = object- (catMaybes- [("data" .=) <$> _sData, ("merges" .=) <$> _sMerges,- ("protectedRanges" .=) <$> _sProtectedRanges,- ("bandedRanges" .=) <$> _sBandedRanges,- ("charts" .=) <$> _sCharts,- ("basicFilter" .=) <$> _sBasicFilter,- ("conditionalFormats" .=) <$> _sConditionalFormats,- ("filterViews" .=) <$> _sFilterViews,- ("properties" .=) <$> _sProperties])---- | A coordinate in a sheet. All indexes are zero-based.------ /See:/ 'gridCoordinate' smart constructor.-data GridCoordinate = GridCoordinate'- { _gcColumnIndex :: !(Maybe (Textual Int32))- , _gcRowIndex :: !(Maybe (Textual Int32))- , _gcSheetId :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GridCoordinate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gcColumnIndex'------ * 'gcRowIndex'------ * 'gcSheetId'-gridCoordinate- :: GridCoordinate-gridCoordinate =- GridCoordinate'- { _gcColumnIndex = Nothing- , _gcRowIndex = Nothing- , _gcSheetId = Nothing- }---- | The column index of the coordinate.-gcColumnIndex :: Lens' GridCoordinate (Maybe Int32)-gcColumnIndex- = lens _gcColumnIndex- (\ s a -> s{_gcColumnIndex = a})- . mapping _Coerce---- | The row index of the coordinate.-gcRowIndex :: Lens' GridCoordinate (Maybe Int32)-gcRowIndex- = lens _gcRowIndex (\ s a -> s{_gcRowIndex = a}) .- mapping _Coerce---- | The sheet this coordinate is on.-gcSheetId :: Lens' GridCoordinate (Maybe Int32)-gcSheetId- = lens _gcSheetId (\ s a -> s{_gcSheetId = a}) .- mapping _Coerce--instance FromJSON GridCoordinate where- parseJSON- = withObject "GridCoordinate"- (\ o ->- GridCoordinate' <$>- (o .:? "columnIndex") <*> (o .:? "rowIndex") <*>- (o .:? "sheetId"))--instance ToJSON GridCoordinate where- toJSON GridCoordinate'{..}- = object- (catMaybes- [("columnIndex" .=) <$> _gcColumnIndex,- ("rowIndex" .=) <$> _gcRowIndex,- ("sheetId" .=) <$> _gcSheetId])---- | The response when clearing a range of values in a spreadsheet.------ /See:/ 'clearValuesResponse' smart constructor.-data ClearValuesResponse = ClearValuesResponse'- { _cvrClearedRange :: !(Maybe Text)- , _cvrSpreadsheetId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ClearValuesResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cvrClearedRange'------ * 'cvrSpreadsheetId'-clearValuesResponse- :: ClearValuesResponse-clearValuesResponse =- ClearValuesResponse'- { _cvrClearedRange = Nothing- , _cvrSpreadsheetId = Nothing- }---- | The range (in A1 notation) that was cleared. (If the request was for an--- unbounded range or a ranger larger than the bounds of the sheet, this--- will be the actual range that was cleared, bounded to the sheet\'s--- limits.)-cvrClearedRange :: Lens' ClearValuesResponse (Maybe Text)-cvrClearedRange- = lens _cvrClearedRange- (\ s a -> s{_cvrClearedRange = a})---- | The spreadsheet the updates were applied to.-cvrSpreadsheetId :: Lens' ClearValuesResponse (Maybe Text)-cvrSpreadsheetId- = lens _cvrSpreadsheetId- (\ s a -> s{_cvrSpreadsheetId = a})--instance FromJSON ClearValuesResponse where- parseJSON- = withObject "ClearValuesResponse"- (\ o ->- ClearValuesResponse' <$>- (o .:? "clearedRange") <*> (o .:? "spreadsheetId"))--instance ToJSON ClearValuesResponse where- toJSON ClearValuesResponse'{..}- = object- (catMaybes- [("clearedRange" .=) <$> _cvrClearedRange,- ("spreadsheetId" .=) <$> _cvrSpreadsheetId])---- | Clears the basic filter, if any exists on the sheet.------ /See:/ 'clearBasicFilterRequest' smart constructor.-newtype ClearBasicFilterRequest = ClearBasicFilterRequest'- { _cbfrSheetId :: Maybe (Textual Int32)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ClearBasicFilterRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cbfrSheetId'-clearBasicFilterRequest- :: ClearBasicFilterRequest-clearBasicFilterRequest =- ClearBasicFilterRequest'- { _cbfrSheetId = Nothing- }---- | The sheet ID on which the basic filter should be cleared.-cbfrSheetId :: Lens' ClearBasicFilterRequest (Maybe Int32)-cbfrSheetId- = lens _cbfrSheetId (\ s a -> s{_cbfrSheetId = a}) .- mapping _Coerce--instance FromJSON ClearBasicFilterRequest where- parseJSON- = withObject "ClearBasicFilterRequest"- (\ o ->- ClearBasicFilterRequest' <$> (o .:? "sheetId"))--instance ToJSON ClearBasicFilterRequest where- toJSON ClearBasicFilterRequest'{..}- = object- (catMaybes [("sheetId" .=) <$> _cbfrSheetId])---- | Update an embedded object\'s position (such as a moving or resizing a--- chart or image).------ /See:/ 'updateEmbeddedObjectPositionRequest' smart constructor.-data UpdateEmbeddedObjectPositionRequest = UpdateEmbeddedObjectPositionRequest'- { _ueoprNewPosition :: !(Maybe EmbeddedObjectPosition)- , _ueoprObjectId :: !(Maybe (Textual Int32))- , _ueoprFields :: !(Maybe FieldMask)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UpdateEmbeddedObjectPositionRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ueoprNewPosition'------ * 'ueoprObjectId'------ * 'ueoprFields'-updateEmbeddedObjectPositionRequest- :: UpdateEmbeddedObjectPositionRequest-updateEmbeddedObjectPositionRequest =- UpdateEmbeddedObjectPositionRequest'- { _ueoprNewPosition = Nothing- , _ueoprObjectId = Nothing- , _ueoprFields = Nothing- }---- | An explicit position to move the embedded object to. If--- newPosition.sheetId is set, a new sheet with that ID will be created. If--- newPosition.newSheet is set to true, a new sheet will be created with an--- ID that will be chosen for you.-ueoprNewPosition :: Lens' UpdateEmbeddedObjectPositionRequest (Maybe EmbeddedObjectPosition)-ueoprNewPosition- = lens _ueoprNewPosition- (\ s a -> s{_ueoprNewPosition = a})---- | The ID of the object to moved.-ueoprObjectId :: Lens' UpdateEmbeddedObjectPositionRequest (Maybe Int32)-ueoprObjectId- = lens _ueoprObjectId- (\ s a -> s{_ueoprObjectId = a})- . mapping _Coerce---- | The fields of OverlayPosition that should be updated when setting a new--- position. Used only if newPosition.overlayPosition is set, in which case--- at least one field must be specified. The root--- \`newPosition.overlayPosition\` is implied and should not be specified.--- A single \`\"*\"\` can be used as short-hand for listing every field.-ueoprFields :: Lens' UpdateEmbeddedObjectPositionRequest (Maybe FieldMask)-ueoprFields- = lens _ueoprFields (\ s a -> s{_ueoprFields = a})--instance FromJSON UpdateEmbeddedObjectPositionRequest- where- parseJSON- = withObject "UpdateEmbeddedObjectPositionRequest"- (\ o ->- UpdateEmbeddedObjectPositionRequest' <$>- (o .:? "newPosition") <*> (o .:? "objectId") <*>- (o .:? "fields"))--instance ToJSON UpdateEmbeddedObjectPositionRequest- where- toJSON UpdateEmbeddedObjectPositionRequest'{..}- = object- (catMaybes- [("newPosition" .=) <$> _ueoprNewPosition,- ("objectId" .=) <$> _ueoprObjectId,- ("fields" .=) <$> _ueoprFields])---- | A rule that may or may not match, depending on the condition.------ /See:/ 'booleanRule' smart constructor.-data BooleanRule = BooleanRule'- { _brFormat :: !(Maybe CellFormat)- , _brCondition :: !(Maybe BooleanCondition)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'BooleanRule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'brFormat'------ * 'brCondition'-booleanRule- :: BooleanRule-booleanRule =- BooleanRule'- { _brFormat = Nothing- , _brCondition = Nothing- }---- | The format to apply. Conditional formatting can only apply a subset of--- formatting: bold, italic, strikethrough, foreground color & background--- color.-brFormat :: Lens' BooleanRule (Maybe CellFormat)-brFormat = lens _brFormat (\ s a -> s{_brFormat = a})---- | The condition of the rule. If the condition evaluates to true, the--- format will be applied.-brCondition :: Lens' BooleanRule (Maybe BooleanCondition)-brCondition- = lens _brCondition (\ s a -> s{_brCondition = a})--instance FromJSON BooleanRule where- parseJSON- = withObject "BooleanRule"- (\ o ->- BooleanRule' <$>- (o .:? "format") <*> (o .:? "condition"))--instance ToJSON BooleanRule where- toJSON BooleanRule'{..}- = object- (catMaybes- [("format" .=) <$> _brFormat,- ("condition" .=) <$> _brCondition])---- | A combination of a source range and how to extend that source.------ /See:/ 'sourceAndDestination' smart constructor.-data SourceAndDestination = SourceAndDestination'- { _sadDimension :: !(Maybe SourceAndDestinationDimension)- , _sadSource :: !(Maybe GridRange)- , _sadFillLength :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SourceAndDestination' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sadDimension'------ * 'sadSource'------ * 'sadFillLength'-sourceAndDestination- :: SourceAndDestination-sourceAndDestination =- SourceAndDestination'- { _sadDimension = Nothing- , _sadSource = Nothing- , _sadFillLength = Nothing- }---- | The dimension that data should be filled into.-sadDimension :: Lens' SourceAndDestination (Maybe SourceAndDestinationDimension)-sadDimension- = lens _sadDimension (\ s a -> s{_sadDimension = a})---- | The location of the data to use as the source of the autofill.-sadSource :: Lens' SourceAndDestination (Maybe GridRange)-sadSource- = lens _sadSource (\ s a -> s{_sadSource = a})---- | The number of rows or columns that data should be filled into. Positive--- numbers expand beyond the last row or last column of the source.--- Negative numbers expand before the first row or first column of the--- source.-sadFillLength :: Lens' SourceAndDestination (Maybe Int32)-sadFillLength- = lens _sadFillLength- (\ s a -> s{_sadFillLength = a})- . mapping _Coerce--instance FromJSON SourceAndDestination where- parseJSON- = withObject "SourceAndDestination"- (\ o ->- SourceAndDestination' <$>- (o .:? "dimension") <*> (o .:? "source") <*>- (o .:? "fillLength"))--instance ToJSON SourceAndDestination where- toJSON SourceAndDestination'{..}- = object- (catMaybes- [("dimension" .=) <$> _sadDimension,- ("source" .=) <$> _sadSource,- ("fillLength" .=) <$> _sadFillLength])---- | Inserts data into the spreadsheet starting at the specified coordinate.------ /See:/ 'pasteDataRequest' smart constructor.-data PasteDataRequest = PasteDataRequest'- { _pdrData :: !(Maybe Text)- , _pdrCoordinate :: !(Maybe GridCoordinate)- , _pdrHTML :: !(Maybe Bool)- , _pdrType :: !(Maybe PasteDataRequestType)- , _pdrDelimiter :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'PasteDataRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pdrData'------ * 'pdrCoordinate'------ * 'pdrHTML'------ * 'pdrType'------ * 'pdrDelimiter'-pasteDataRequest- :: PasteDataRequest-pasteDataRequest =- PasteDataRequest'- { _pdrData = Nothing- , _pdrCoordinate = Nothing- , _pdrHTML = Nothing- , _pdrType = Nothing- , _pdrDelimiter = Nothing- }---- | The data to insert.-pdrData :: Lens' PasteDataRequest (Maybe Text)-pdrData = lens _pdrData (\ s a -> s{_pdrData = a})---- | The coordinate at which the data should start being inserted.-pdrCoordinate :: Lens' PasteDataRequest (Maybe GridCoordinate)-pdrCoordinate- = lens _pdrCoordinate- (\ s a -> s{_pdrCoordinate = a})---- | True if the data is HTML.-pdrHTML :: Lens' PasteDataRequest (Maybe Bool)-pdrHTML = lens _pdrHTML (\ s a -> s{_pdrHTML = a})---- | How the data should be pasted.-pdrType :: Lens' PasteDataRequest (Maybe PasteDataRequestType)-pdrType = lens _pdrType (\ s a -> s{_pdrType = a})---- | The delimiter in the data.-pdrDelimiter :: Lens' PasteDataRequest (Maybe Text)-pdrDelimiter- = lens _pdrDelimiter (\ s a -> s{_pdrDelimiter = a})--instance FromJSON PasteDataRequest where- parseJSON- = withObject "PasteDataRequest"- (\ o ->- PasteDataRequest' <$>- (o .:? "data") <*> (o .:? "coordinate") <*>- (o .:? "html")- <*> (o .:? "type")- <*> (o .:? "delimiter"))--instance ToJSON PasteDataRequest where- toJSON PasteDataRequest'{..}- = object- (catMaybes- [("data" .=) <$> _pdrData,- ("coordinate" .=) <$> _pdrCoordinate,- ("html" .=) <$> _pdrHTML, ("type" .=) <$> _pdrType,- ("delimiter" .=) <$> _pdrDelimiter])---- | Adds new cells after the last row with data in a sheet, inserting new--- rows into the sheet if necessary.------ /See:/ 'appendCellsRequest' smart constructor.-data AppendCellsRequest = AppendCellsRequest'- { _acrRows :: !(Maybe [RowData])- , _acrSheetId :: !(Maybe (Textual Int32))- , _acrFields :: !(Maybe FieldMask)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AppendCellsRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'acrRows'------ * 'acrSheetId'------ * 'acrFields'-appendCellsRequest- :: AppendCellsRequest-appendCellsRequest =- AppendCellsRequest'- { _acrRows = Nothing- , _acrSheetId = Nothing- , _acrFields = Nothing- }---- | The data to append.-acrRows :: Lens' AppendCellsRequest [RowData]-acrRows- = lens _acrRows (\ s a -> s{_acrRows = a}) . _Default- . _Coerce---- | The sheet ID to append the data to.-acrSheetId :: Lens' AppendCellsRequest (Maybe Int32)-acrSheetId- = lens _acrSheetId (\ s a -> s{_acrSheetId = a}) .- mapping _Coerce---- | The fields of CellData that should be updated. At least one field must--- be specified. The root is the CellData; \'row.values.\' should not be--- specified. A single \`\"*\"\` can be used as short-hand for listing--- every field.-acrFields :: Lens' AppendCellsRequest (Maybe FieldMask)-acrFields- = lens _acrFields (\ s a -> s{_acrFields = a})--instance FromJSON AppendCellsRequest where- parseJSON- = withObject "AppendCellsRequest"- (\ o ->- AppendCellsRequest' <$>- (o .:? "rows" .!= mempty) <*> (o .:? "sheetId") <*>- (o .:? "fields"))--instance ToJSON AppendCellsRequest where- toJSON AppendCellsRequest'{..}- = object- (catMaybes- [("rows" .=) <$> _acrRows,- ("sheetId" .=) <$> _acrSheetId,- ("fields" .=) <$> _acrFields])---- | The result of the find\/replace.------ /See:/ 'findReplaceResponse' smart constructor.-data FindReplaceResponse = FindReplaceResponse'- { _frrValuesChanged :: !(Maybe (Textual Int32))- , _frrFormulasChanged :: !(Maybe (Textual Int32))- , _frrRowsChanged :: !(Maybe (Textual Int32))- , _frrSheetsChanged :: !(Maybe (Textual Int32))- , _frrOccurrencesChanged :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FindReplaceResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'frrValuesChanged'------ * 'frrFormulasChanged'------ * 'frrRowsChanged'------ * 'frrSheetsChanged'------ * 'frrOccurrencesChanged'-findReplaceResponse- :: FindReplaceResponse-findReplaceResponse =- FindReplaceResponse'- { _frrValuesChanged = Nothing- , _frrFormulasChanged = Nothing- , _frrRowsChanged = Nothing- , _frrSheetsChanged = Nothing- , _frrOccurrencesChanged = Nothing- }---- | The number of non-formula cells changed.-frrValuesChanged :: Lens' FindReplaceResponse (Maybe Int32)-frrValuesChanged- = lens _frrValuesChanged- (\ s a -> s{_frrValuesChanged = a})- . mapping _Coerce---- | The number of formula cells changed.-frrFormulasChanged :: Lens' FindReplaceResponse (Maybe Int32)-frrFormulasChanged- = lens _frrFormulasChanged- (\ s a -> s{_frrFormulasChanged = a})- . mapping _Coerce---- | The number of rows changed.-frrRowsChanged :: Lens' FindReplaceResponse (Maybe Int32)-frrRowsChanged- = lens _frrRowsChanged- (\ s a -> s{_frrRowsChanged = a})- . mapping _Coerce---- | The number of sheets changed.-frrSheetsChanged :: Lens' FindReplaceResponse (Maybe Int32)-frrSheetsChanged- = lens _frrSheetsChanged- (\ s a -> s{_frrSheetsChanged = a})- . mapping _Coerce---- | The number of occurrences (possibly multiple within a cell) changed. For--- example, if replacing \`\"e\"\` with \`\"o\"\` in \`\"Google Sheets\"\`,--- this would be \`\"3\"\` because \`\"Google Sheets\"\` -> \`\"Googlo--- Shoots\"\`.-frrOccurrencesChanged :: Lens' FindReplaceResponse (Maybe Int32)-frrOccurrencesChanged- = lens _frrOccurrencesChanged- (\ s a -> s{_frrOccurrencesChanged = a})- . mapping _Coerce--instance FromJSON FindReplaceResponse where- parseJSON- = withObject "FindReplaceResponse"- (\ o ->- FindReplaceResponse' <$>- (o .:? "valuesChanged") <*> (o .:? "formulasChanged")- <*> (o .:? "rowsChanged")- <*> (o .:? "sheetsChanged")- <*> (o .:? "occurrencesChanged"))--instance ToJSON FindReplaceResponse where- toJSON FindReplaceResponse'{..}- = object- (catMaybes- [("valuesChanged" .=) <$> _frrValuesChanged,- ("formulasChanged" .=) <$> _frrFormulasChanged,- ("rowsChanged" .=) <$> _frrRowsChanged,- ("sheetsChanged" .=) <$> _frrSheetsChanged,- ("occurrencesChanged" .=) <$>- _frrOccurrencesChanged])---- | A </chart/interactive/docs/gallery/piechart pie chart>.------ /See:/ 'pieChartSpec' smart constructor.-data PieChartSpec = PieChartSpec'- { _pcsPieHole :: !(Maybe (Textual Double))- , _pcsLegendPosition :: !(Maybe PieChartSpecLegendPosition)- , _pcsDomain :: !(Maybe ChartData)- , _pcsSeries :: !(Maybe ChartData)- , _pcsThreeDimensional :: !(Maybe Bool)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'PieChartSpec' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pcsPieHole'------ * 'pcsLegendPosition'------ * 'pcsDomain'------ * 'pcsSeries'------ * 'pcsThreeDimensional'-pieChartSpec- :: PieChartSpec-pieChartSpec =- PieChartSpec'- { _pcsPieHole = Nothing- , _pcsLegendPosition = Nothing- , _pcsDomain = Nothing- , _pcsSeries = Nothing- , _pcsThreeDimensional = Nothing- }---- | The size of the hole in the pie chart.-pcsPieHole :: Lens' PieChartSpec (Maybe Double)-pcsPieHole- = lens _pcsPieHole (\ s a -> s{_pcsPieHole = a}) .- mapping _Coerce---- | Where the legend of the pie chart should be drawn.-pcsLegendPosition :: Lens' PieChartSpec (Maybe PieChartSpecLegendPosition)-pcsLegendPosition- = lens _pcsLegendPosition- (\ s a -> s{_pcsLegendPosition = a})---- | The data that covers the domain of the pie chart.-pcsDomain :: Lens' PieChartSpec (Maybe ChartData)-pcsDomain- = lens _pcsDomain (\ s a -> s{_pcsDomain = a})---- | The data that covers the one and only series of the pie chart.-pcsSeries :: Lens' PieChartSpec (Maybe ChartData)-pcsSeries- = lens _pcsSeries (\ s a -> s{_pcsSeries = a})---- | True if the pie is three dimensional.-pcsThreeDimensional :: Lens' PieChartSpec (Maybe Bool)-pcsThreeDimensional- = lens _pcsThreeDimensional- (\ s a -> s{_pcsThreeDimensional = a})--instance FromJSON PieChartSpec where- parseJSON- = withObject "PieChartSpec"- (\ o ->- PieChartSpec' <$>- (o .:? "pieHole") <*> (o .:? "legendPosition") <*>- (o .:? "domain")- <*> (o .:? "series")- <*> (o .:? "threeDimensional"))--instance ToJSON PieChartSpec where- toJSON PieChartSpec'{..}- = object- (catMaybes- [("pieHole" .=) <$> _pcsPieHole,- ("legendPosition" .=) <$> _pcsLegendPosition,- ("domain" .=) <$> _pcsDomain,- ("series" .=) <$> _pcsSeries,- ("threeDimensional" .=) <$> _pcsThreeDimensional])---- | The response when updating a range of values in a spreadsheet.------ /See:/ 'appendValuesResponse' smart constructor.-data AppendValuesResponse = AppendValuesResponse'- { _avrSpreadsheetId :: !(Maybe Text)- , _avrUpdates :: !(Maybe UpdateValuesResponse)- , _avrTableRange :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AppendValuesResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'avrSpreadsheetId'------ * 'avrUpdates'------ * 'avrTableRange'-appendValuesResponse- :: AppendValuesResponse-appendValuesResponse =- AppendValuesResponse'- { _avrSpreadsheetId = Nothing- , _avrUpdates = Nothing- , _avrTableRange = Nothing- }---- | The spreadsheet the updates were applied to.-avrSpreadsheetId :: Lens' AppendValuesResponse (Maybe Text)-avrSpreadsheetId- = lens _avrSpreadsheetId- (\ s a -> s{_avrSpreadsheetId = a})---- | Information about the updates that were applied.-avrUpdates :: Lens' AppendValuesResponse (Maybe UpdateValuesResponse)-avrUpdates- = lens _avrUpdates (\ s a -> s{_avrUpdates = a})---- | The range (in A1 notation) of the table that values are being appended--- to (before the values were appended). Empty if no table was found.-avrTableRange :: Lens' AppendValuesResponse (Maybe Text)-avrTableRange- = lens _avrTableRange- (\ s a -> s{_avrTableRange = a})--instance FromJSON AppendValuesResponse where- parseJSON- = withObject "AppendValuesResponse"- (\ o ->- AppendValuesResponse' <$>- (o .:? "spreadsheetId") <*> (o .:? "updates") <*>- (o .:? "tableRange"))--instance ToJSON AppendValuesResponse where- toJSON AppendValuesResponse'{..}- = object- (catMaybes- [("spreadsheetId" .=) <$> _avrSpreadsheetId,- ("updates" .=) <$> _avrUpdates,- ("tableRange" .=) <$> _avrTableRange])---- | A data validation rule.------ /See:/ 'dataValidationRule' smart constructor.-data DataValidationRule = DataValidationRule'- { _dvrShowCustomUi :: !(Maybe Bool)- , _dvrInputMessage :: !(Maybe Text)- , _dvrStrict :: !(Maybe Bool)- , _dvrCondition :: !(Maybe BooleanCondition)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DataValidationRule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dvrShowCustomUi'------ * 'dvrInputMessage'------ * 'dvrStrict'------ * 'dvrCondition'-dataValidationRule- :: DataValidationRule-dataValidationRule =- DataValidationRule'- { _dvrShowCustomUi = Nothing- , _dvrInputMessage = Nothing- , _dvrStrict = Nothing- , _dvrCondition = Nothing- }---- | True if the UI should be customized based on the kind of condition. If--- true, \"List\" conditions will show a dropdown.-dvrShowCustomUi :: Lens' DataValidationRule (Maybe Bool)-dvrShowCustomUi- = lens _dvrShowCustomUi- (\ s a -> s{_dvrShowCustomUi = a})---- | A message to show the user when adding data to the cell.-dvrInputMessage :: Lens' DataValidationRule (Maybe Text)-dvrInputMessage- = lens _dvrInputMessage- (\ s a -> s{_dvrInputMessage = a})---- | True if invalid data should be rejected.-dvrStrict :: Lens' DataValidationRule (Maybe Bool)-dvrStrict- = lens _dvrStrict (\ s a -> s{_dvrStrict = a})---- | The condition that data in the cell must match.-dvrCondition :: Lens' DataValidationRule (Maybe BooleanCondition)-dvrCondition- = lens _dvrCondition (\ s a -> s{_dvrCondition = a})--instance FromJSON DataValidationRule where- parseJSON- = withObject "DataValidationRule"- (\ o ->- DataValidationRule' <$>- (o .:? "showCustomUi") <*> (o .:? "inputMessage") <*>- (o .:? "strict")- <*> (o .:? "condition"))--instance ToJSON DataValidationRule where- toJSON DataValidationRule'{..}- = object- (catMaybes- [("showCustomUi" .=) <$> _dvrShowCustomUi,- ("inputMessage" .=) <$> _dvrInputMessage,- ("strict" .=) <$> _dvrStrict,- ("condition" .=) <$> _dvrCondition])---- | A filter view.------ /See:/ 'filterView' smart constructor.-data FilterView = FilterView'- { _fvSortSpecs :: !(Maybe [SortSpec])- , _fvNamedRangeId :: !(Maybe Text)- , _fvRange :: !(Maybe GridRange)- , _fvFilterViewId :: !(Maybe (Textual Int32))- , _fvTitle :: !(Maybe Text)- , _fvCriteria :: !(Maybe FilterViewCriteria)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FilterView' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fvSortSpecs'------ * 'fvNamedRangeId'------ * 'fvRange'------ * 'fvFilterViewId'------ * 'fvTitle'------ * 'fvCriteria'-filterView- :: FilterView-filterView =- FilterView'- { _fvSortSpecs = Nothing- , _fvNamedRangeId = Nothing- , _fvRange = Nothing- , _fvFilterViewId = Nothing- , _fvTitle = Nothing- , _fvCriteria = Nothing- }---- | The sort order per column. Later specifications are used when values are--- equal in the earlier specifications.-fvSortSpecs :: Lens' FilterView [SortSpec]-fvSortSpecs- = lens _fvSortSpecs (\ s a -> s{_fvSortSpecs = a}) .- _Default- . _Coerce---- | The named range this filter view is backed by, if any. When writing,--- only one of range or named_range_id may be set.-fvNamedRangeId :: Lens' FilterView (Maybe Text)-fvNamedRangeId- = lens _fvNamedRangeId- (\ s a -> s{_fvNamedRangeId = a})---- | The range this filter view covers. When writing, only one of range or--- named_range_id may be set.-fvRange :: Lens' FilterView (Maybe GridRange)-fvRange = lens _fvRange (\ s a -> s{_fvRange = a})---- | The ID of the filter view.-fvFilterViewId :: Lens' FilterView (Maybe Int32)-fvFilterViewId- = lens _fvFilterViewId- (\ s a -> s{_fvFilterViewId = a})- . mapping _Coerce---- | The name of the filter view.-fvTitle :: Lens' FilterView (Maybe Text)-fvTitle = lens _fvTitle (\ s a -> s{_fvTitle = a})---- | The criteria for showing\/hiding values per column. The map\'s key is--- the column index, and the value is the criteria for that column.-fvCriteria :: Lens' FilterView (Maybe FilterViewCriteria)-fvCriteria- = lens _fvCriteria (\ s a -> s{_fvCriteria = a})--instance FromJSON FilterView where- parseJSON- = withObject "FilterView"- (\ o ->- FilterView' <$>- (o .:? "sortSpecs" .!= mempty) <*>- (o .:? "namedRangeId")- <*> (o .:? "range")- <*> (o .:? "filterViewId")- <*> (o .:? "title")- <*> (o .:? "criteria"))--instance ToJSON FilterView where- toJSON FilterView'{..}- = object- (catMaybes- [("sortSpecs" .=) <$> _fvSortSpecs,- ("namedRangeId" .=) <$> _fvNamedRangeId,- ("range" .=) <$> _fvRange,- ("filterViewId" .=) <$> _fvFilterViewId,- ("title" .=) <$> _fvTitle,- ("criteria" .=) <$> _fvCriteria])---- | Represents a color in the RGBA color space. This representation is--- designed for simplicity of conversion to\/from color representations in--- various languages over compactness; for example, the fields of this--- representation can be trivially provided to the constructor of--- \"java.awt.Color\" in Java; it can also be trivially provided to--- UIColor\'s \"+colorWithRed:green:blue:alpha\" method in iOS; and, with--- just a little work, it can be easily formatted into a CSS \"rgba()\"--- string in JavaScript, as well. Here are some examples: Example (Java):--- import com.google.type.Color; \/\/ ... public static java.awt.Color--- fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ?--- protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color(--- protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(),--- alpha); } public static Color toProto(java.awt.Color color) { float red--- = (float) color.getRed(); float green = (float) color.getGreen(); float--- blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder--- resultBuilder = Color .newBuilder() .setRed(red \/ denominator)--- .setGreen(green \/ denominator) .setBlue(blue \/ denominator); int alpha--- = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue--- .newBuilder() .setValue(((float) alpha) \/ denominator) .build()); }--- return resultBuilder.build(); } \/\/ ... Example (iOS \/ Obj-C): \/\/--- ... static UIColor* fromProto(Color* protocolor) { float red =--- [protocolor red]; float green = [protocolor green]; float blue =--- [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float--- alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value];--- } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; }--- static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha;--- if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return--- nil; } Color* result = [Color alloc] init]; [result setRed:red]; [result--- setGreen:green]; [result setBlue:blue]; if (alpha \<= 0.9999) { [result--- setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return--- result; } \/\/ ... Example (JavaScript): \/\/ ... var protoToCssColor =--- function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac--- = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red--- = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255);--- var blue = Math.floor(blueFrac * 255); if (!(\'alpha\' in rgb_color)) {--- return rgbToCssColor_(red, green, blue); } var alphaFrac =--- rgb_color.alpha.value || 0.0; var rgbParams = [red, green,--- blue].join(\',\'); return [\'rgba(\', rgbParams, \',\', alphaFrac,--- \')\'].join(\'\'); }; var rgbToCssColor_ = function(red, green, blue) {--- var rgbNumber = new Number((red \<\< 16) | (green \<\< 8) | blue); var--- hexString = rgbNumber.toString(16); var missingZeros = 6 ---- hexString.length; var resultBuilder = [\'#\']; for (var i = 0; i \<--- missingZeros; i++) { resultBuilder.push(\'0\'); }--- resultBuilder.push(hexString); return resultBuilder.join(\'\'); }; \/\/--- ...------ /See:/ 'color' smart constructor.-data Color = Color'- { _cRed :: !(Maybe (Textual Double))- , _cAlpha :: !(Maybe (Textual Double))- , _cGreen :: !(Maybe (Textual Double))- , _cBlue :: !(Maybe (Textual Double))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Color' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cRed'------ * 'cAlpha'------ * 'cGreen'------ * 'cBlue'-color- :: Color-color =- Color'- { _cRed = Nothing- , _cAlpha = Nothing- , _cGreen = Nothing- , _cBlue = Nothing- }---- | The amount of red in the color as a value in the interval [0, 1].-cRed :: Lens' Color (Maybe Double)-cRed- = lens _cRed (\ s a -> s{_cRed = a}) .- mapping _Coerce---- | The fraction of this color that should be applied to the pixel. That is,--- the final pixel color is defined by the equation: pixel color = alpha *--- (this color) + (1.0 - alpha) * (background color) This means that a--- value of 1.0 corresponds to a solid color, whereas a value of 0.0--- corresponds to a completely transparent color. This uses a wrapper--- message rather than a simple float scalar so that it is possible to--- distinguish between a default value and the value being unset. If--- omitted, this color object is to be rendered as a solid color (as if the--- alpha value had been explicitly given with a value of 1.0).-cAlpha :: Lens' Color (Maybe Double)-cAlpha- = lens _cAlpha (\ s a -> s{_cAlpha = a}) .- mapping _Coerce---- | The amount of green in the color as a value in the interval [0, 1].-cGreen :: Lens' Color (Maybe Double)-cGreen- = lens _cGreen (\ s a -> s{_cGreen = a}) .- mapping _Coerce---- | The amount of blue in the color as a value in the interval [0, 1].-cBlue :: Lens' Color (Maybe Double)-cBlue- = lens _cBlue (\ s a -> s{_cBlue = a}) .- mapping _Coerce--instance FromJSON Color where- parseJSON- = withObject "Color"- (\ o ->- Color' <$>- (o .:? "red") <*> (o .:? "alpha") <*> (o .:? "green")- <*> (o .:? "blue"))--instance ToJSON Color where- toJSON Color'{..}- = object- (catMaybes- [("red" .=) <$> _cRed, ("alpha" .=) <$> _cAlpha,- ("green" .=) <$> _cGreen, ("blue" .=) <$> _cBlue])---- | Deletes a particular filter view.------ /See:/ 'deleteFilterViewRequest' smart constructor.-newtype DeleteFilterViewRequest = DeleteFilterViewRequest'- { _dfvrFilterId :: Maybe (Textual Int32)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DeleteFilterViewRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dfvrFilterId'-deleteFilterViewRequest- :: DeleteFilterViewRequest-deleteFilterViewRequest =- DeleteFilterViewRequest'- { _dfvrFilterId = Nothing- }---- | The ID of the filter to delete.-dfvrFilterId :: Lens' DeleteFilterViewRequest (Maybe Int32)-dfvrFilterId- = lens _dfvrFilterId (\ s a -> s{_dfvrFilterId = a})- . mapping _Coerce--instance FromJSON DeleteFilterViewRequest where- parseJSON- = withObject "DeleteFilterViewRequest"- (\ o ->- DeleteFilterViewRequest' <$> (o .:? "filterId"))--instance ToJSON DeleteFilterViewRequest where- toJSON DeleteFilterViewRequest'{..}- = object- (catMaybes [("filterId" .=) <$> _dfvrFilterId])---- | Updates properties of the filter view.------ /See:/ 'updateFilterViewRequest' smart constructor.-data UpdateFilterViewRequest = UpdateFilterViewRequest'- { _ufvrFilter :: !(Maybe FilterView)- , _ufvrFields :: !(Maybe FieldMask)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UpdateFilterViewRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ufvrFilter'------ * 'ufvrFields'-updateFilterViewRequest- :: UpdateFilterViewRequest-updateFilterViewRequest =- UpdateFilterViewRequest'- { _ufvrFilter = Nothing- , _ufvrFields = Nothing- }---- | The new properties of the filter view.-ufvrFilter :: Lens' UpdateFilterViewRequest (Maybe FilterView)-ufvrFilter- = lens _ufvrFilter (\ s a -> s{_ufvrFilter = a})---- | The fields that should be updated. At least one field must be specified.--- The root \`filter\` is implied and should not be specified. A single--- \`\"*\"\` can be used as short-hand for listing every field.-ufvrFields :: Lens' UpdateFilterViewRequest (Maybe FieldMask)-ufvrFields- = lens _ufvrFields (\ s a -> s{_ufvrFields = a})--instance FromJSON UpdateFilterViewRequest where- parseJSON- = withObject "UpdateFilterViewRequest"- (\ o ->- UpdateFilterViewRequest' <$>- (o .:? "filter") <*> (o .:? "fields"))--instance ToJSON UpdateFilterViewRequest where- toJSON UpdateFilterViewRequest'{..}- = object- (catMaybes- [("filter" .=) <$> _ufvrFilter,- ("fields" .=) <$> _ufvrFields])---- | A single series of data in a chart. For example, if charting stock--- prices over time, multiple series may exist, one for the \"Open Price\",--- \"High Price\", \"Low Price\" and \"Close Price\".------ /See:/ 'basicChartSeries' smart constructor.-data BasicChartSeries = BasicChartSeries'- { _bcsTargetAxis :: !(Maybe BasicChartSeriesTargetAxis)- , _bcsSeries :: !(Maybe ChartData)- , _bcsType :: !(Maybe BasicChartSeriesType)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'BasicChartSeries' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bcsTargetAxis'------ * 'bcsSeries'------ * 'bcsType'-basicChartSeries- :: BasicChartSeries-basicChartSeries =- BasicChartSeries'- { _bcsTargetAxis = Nothing- , _bcsSeries = Nothing- , _bcsType = Nothing- }---- | The minor axis that will specify the range of values for this series.--- For example, if charting stocks over time, the \"Volume\" series may--- want to be pinned to the right with the prices pinned to the left,--- because the scale of trading volume is different than the scale of--- prices. It is an error to specify an axis that isn\'t a valid minor axis--- for the chart\'s type.-bcsTargetAxis :: Lens' BasicChartSeries (Maybe BasicChartSeriesTargetAxis)-bcsTargetAxis- = lens _bcsTargetAxis- (\ s a -> s{_bcsTargetAxis = a})---- | The data being visualized in this chart series.-bcsSeries :: Lens' BasicChartSeries (Maybe ChartData)-bcsSeries- = lens _bcsSeries (\ s a -> s{_bcsSeries = a})---- | The type of this series. Valid only if the chartType is COMBO. Different--- types will change the way the series is visualized. Only LINE, AREA, and--- COLUMN are supported.-bcsType :: Lens' BasicChartSeries (Maybe BasicChartSeriesType)-bcsType = lens _bcsType (\ s a -> s{_bcsType = a})--instance FromJSON BasicChartSeries where- parseJSON- = withObject "BasicChartSeries"- (\ o ->- BasicChartSeries' <$>- (o .:? "targetAxis") <*> (o .:? "series") <*>- (o .:? "type"))--instance ToJSON BasicChartSeries where- toJSON BasicChartSeries'{..}- = object- (catMaybes- [("targetAxis" .=) <$> _bcsTargetAxis,- ("series" .=) <$> _bcsSeries,- ("type" .=) <$> _bcsType])---- | Adds a new protected range.------ /See:/ 'addProtectedRangeRequest' smart constructor.-newtype AddProtectedRangeRequest = AddProtectedRangeRequest'- { _aprrProtectedRange :: Maybe ProtectedRange- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AddProtectedRangeRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aprrProtectedRange'-addProtectedRangeRequest- :: AddProtectedRangeRequest-addProtectedRangeRequest =- AddProtectedRangeRequest'- { _aprrProtectedRange = Nothing- }---- | The protected range to be added. The protectedRangeId field is optional;--- if one is not set, an id will be randomly generated. (It is an error to--- specify the ID of a range that already exists.)-aprrProtectedRange :: Lens' AddProtectedRangeRequest (Maybe ProtectedRange)-aprrProtectedRange- = lens _aprrProtectedRange- (\ s a -> s{_aprrProtectedRange = a})--instance FromJSON AddProtectedRangeRequest where- parseJSON- = withObject "AddProtectedRangeRequest"- (\ o ->- AddProtectedRangeRequest' <$>- (o .:? "protectedRange"))--instance ToJSON AddProtectedRangeRequest where- toJSON AddProtectedRangeRequest'{..}- = object- (catMaybes- [("protectedRange" .=) <$> _aprrProtectedRange])---- | Updates all cells in the range to the values in the given Cell object.--- Only the fields listed in the fields field are updated; others are--- unchanged. If writing a cell with a formula, the formula\'s ranges will--- automatically increment for each field in the range. For example, if--- writing a cell with formula \`=A1\` into range B2:C4, B2 would be--- \`=A1\`, B3 would be \`=A2\`, B4 would be \`=A3\`, C2 would be \`=B1\`,--- C3 would be \`=B2\`, C4 would be \`=B3\`. To keep the formula\'s ranges--- static, use the \`$\` indicator. For example, use the formula \`=$A$1\`--- to prevent both the row and the column from incrementing.------ /See:/ 'repeatCellRequest' smart constructor.-data RepeatCellRequest = RepeatCellRequest'- { _rcrCell :: !(Maybe CellData)- , _rcrRange :: !(Maybe GridRange)- , _rcrFields :: !(Maybe FieldMask)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'RepeatCellRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rcrCell'------ * 'rcrRange'------ * 'rcrFields'-repeatCellRequest- :: RepeatCellRequest-repeatCellRequest =- RepeatCellRequest'- { _rcrCell = Nothing- , _rcrRange = Nothing- , _rcrFields = Nothing- }---- | The data to write.-rcrCell :: Lens' RepeatCellRequest (Maybe CellData)-rcrCell = lens _rcrCell (\ s a -> s{_rcrCell = a})---- | The range to repeat the cell in.-rcrRange :: Lens' RepeatCellRequest (Maybe GridRange)-rcrRange = lens _rcrRange (\ s a -> s{_rcrRange = a})---- | The fields that should be updated. At least one field must be specified.--- The root \`cell\` is implied and should not be specified. A single--- \`\"*\"\` can be used as short-hand for listing every field.-rcrFields :: Lens' RepeatCellRequest (Maybe FieldMask)-rcrFields- = lens _rcrFields (\ s a -> s{_rcrFields = a})--instance FromJSON RepeatCellRequest where- parseJSON- = withObject "RepeatCellRequest"- (\ o ->- RepeatCellRequest' <$>- (o .:? "cell") <*> (o .:? "range") <*>- (o .:? "fields"))--instance ToJSON RepeatCellRequest where- toJSON RepeatCellRequest'{..}- = object- (catMaybes- [("cell" .=) <$> _rcrCell,- ("range" .=) <$> _rcrRange,- ("fields" .=) <$> _rcrFields])---- | The value of the condition.------ /See:/ 'conditionValue' smart constructor.-data ConditionValue = ConditionValue'- { _cvRelativeDate :: !(Maybe ConditionValueRelativeDate)- , _cvUserEnteredValue :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ConditionValue' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cvRelativeDate'------ * 'cvUserEnteredValue'-conditionValue- :: ConditionValue-conditionValue =- ConditionValue'- { _cvRelativeDate = Nothing- , _cvUserEnteredValue = Nothing- }---- | A relative date (based on the current date). Valid only if the type is--- DATE_BEFORE, DATE_AFTER, DATE_ON_OR_BEFORE or DATE_ON_OR_AFTER. Relative--- dates are not supported in data validation. They are supported only in--- conditional formatting and conditional filters.-cvRelativeDate :: Lens' ConditionValue (Maybe ConditionValueRelativeDate)-cvRelativeDate- = lens _cvRelativeDate- (\ s a -> s{_cvRelativeDate = a})---- | A value the condition is based on. The value will be parsed as if the--- user typed into a cell. Formulas are supported (and must begin with an--- \`=\`).-cvUserEnteredValue :: Lens' ConditionValue (Maybe Text)-cvUserEnteredValue- = lens _cvUserEnteredValue- (\ s a -> s{_cvUserEnteredValue = a})--instance FromJSON ConditionValue where- parseJSON- = withObject "ConditionValue"- (\ o ->- ConditionValue' <$>- (o .:? "relativeDate") <*>- (o .:? "userEnteredValue"))--instance ToJSON ConditionValue where- toJSON ConditionValue'{..}- = object- (catMaybes- [("relativeDate" .=) <$> _cvRelativeDate,- ("userEnteredValue" .=) <$> _cvUserEnteredValue])---- | Deletes the dimensions from the sheet.------ /See:/ 'deleteDimensionRequest' smart constructor.-newtype DeleteDimensionRequest = DeleteDimensionRequest'- { _ddrRange :: Maybe DimensionRange- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DeleteDimensionRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ddrRange'-deleteDimensionRequest- :: DeleteDimensionRequest-deleteDimensionRequest =- DeleteDimensionRequest'- { _ddrRange = Nothing- }---- | The dimensions to delete from the sheet.-ddrRange :: Lens' DeleteDimensionRequest (Maybe DimensionRange)-ddrRange = lens _ddrRange (\ s a -> s{_ddrRange = a})--instance FromJSON DeleteDimensionRequest where- parseJSON- = withObject "DeleteDimensionRequest"- (\ o -> DeleteDimensionRequest' <$> (o .:? "range"))--instance ToJSON DeleteDimensionRequest where- toJSON DeleteDimensionRequest'{..}- = object (catMaybes [("range" .=) <$> _ddrRange])---- | The request for clearing a range of values in a spreadsheet.------ /See:/ 'clearValuesRequest' smart constructor.-data ClearValuesRequest =- ClearValuesRequest'- deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ClearValuesRequest' with the minimum fields required to make a request.----clearValuesRequest- :: ClearValuesRequest-clearValuesRequest = ClearValuesRequest'--instance FromJSON ClearValuesRequest where- parseJSON- = withObject "ClearValuesRequest"- (\ o -> pure ClearValuesRequest')--instance ToJSON ClearValuesRequest where- toJSON = const emptyObject---- | Finds and replaces data in cells over a range, sheet, or all sheets.------ /See:/ 'findReplaceRequest' smart constructor.-data FindReplaceRequest = FindReplaceRequest'- { _frrMatchCase :: !(Maybe Bool)- , _frrAllSheets :: !(Maybe Bool)- , _frrIncludeFormulas :: !(Maybe Bool)- , _frrMatchEntireCell :: !(Maybe Bool)- , _frrRange :: !(Maybe GridRange)- , _frrSheetId :: !(Maybe (Textual Int32))- , _frrFind :: !(Maybe Text)- , _frrSearchByRegex :: !(Maybe Bool)- , _frrReplacement :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FindReplaceRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'frrMatchCase'------ * 'frrAllSheets'------ * 'frrIncludeFormulas'------ * 'frrMatchEntireCell'------ * 'frrRange'------ * 'frrSheetId'------ * 'frrFind'------ * 'frrSearchByRegex'------ * 'frrReplacement'-findReplaceRequest- :: FindReplaceRequest-findReplaceRequest =- FindReplaceRequest'- { _frrMatchCase = Nothing- , _frrAllSheets = Nothing- , _frrIncludeFormulas = Nothing- , _frrMatchEntireCell = Nothing- , _frrRange = Nothing- , _frrSheetId = Nothing- , _frrFind = Nothing- , _frrSearchByRegex = Nothing- , _frrReplacement = Nothing- }---- | True if the search is case sensitive.-frrMatchCase :: Lens' FindReplaceRequest (Maybe Bool)-frrMatchCase- = lens _frrMatchCase (\ s a -> s{_frrMatchCase = a})---- | True to find\/replace over all sheets.-frrAllSheets :: Lens' FindReplaceRequest (Maybe Bool)-frrAllSheets- = lens _frrAllSheets (\ s a -> s{_frrAllSheets = a})---- | True if the search should include cells with formulas. False to skip--- cells with formulas.-frrIncludeFormulas :: Lens' FindReplaceRequest (Maybe Bool)-frrIncludeFormulas- = lens _frrIncludeFormulas- (\ s a -> s{_frrIncludeFormulas = a})---- | True if the find value should match the entire cell.-frrMatchEntireCell :: Lens' FindReplaceRequest (Maybe Bool)-frrMatchEntireCell- = lens _frrMatchEntireCell- (\ s a -> s{_frrMatchEntireCell = a})---- | The range to find\/replace over.-frrRange :: Lens' FindReplaceRequest (Maybe GridRange)-frrRange = lens _frrRange (\ s a -> s{_frrRange = a})---- | The sheet to find\/replace over.-frrSheetId :: Lens' FindReplaceRequest (Maybe Int32)-frrSheetId- = lens _frrSheetId (\ s a -> s{_frrSheetId = a}) .- mapping _Coerce---- | The value to search.-frrFind :: Lens' FindReplaceRequest (Maybe Text)-frrFind = lens _frrFind (\ s a -> s{_frrFind = a})---- | True if the find value is a regex. The regular expression and--- replacement should follow Java regex rules at--- https:\/\/docs.oracle.com\/javase\/8\/docs\/api\/java\/util\/regex\/Pattern.html.--- The replacement string is allowed to refer to capturing groups. For--- example, if one cell has the contents \`\"Google Sheets\"\` and another--- has \`\"Google Docs\"\`, then searching for \`\"o.* (.*)\"\` with a--- replacement of \`\"$1 Rocks\"\` would change the contents of the cells--- to \`\"GSheets Rocks\"\` and \`\"GDocs Rocks\"\` respectively.-frrSearchByRegex :: Lens' FindReplaceRequest (Maybe Bool)-frrSearchByRegex- = lens _frrSearchByRegex- (\ s a -> s{_frrSearchByRegex = a})---- | The value to use as the replacement.-frrReplacement :: Lens' FindReplaceRequest (Maybe Text)-frrReplacement- = lens _frrReplacement- (\ s a -> s{_frrReplacement = a})--instance FromJSON FindReplaceRequest where- parseJSON- = withObject "FindReplaceRequest"- (\ o ->- FindReplaceRequest' <$>- (o .:? "matchCase") <*> (o .:? "allSheets") <*>- (o .:? "includeFormulas")- <*> (o .:? "matchEntireCell")- <*> (o .:? "range")- <*> (o .:? "sheetId")- <*> (o .:? "find")- <*> (o .:? "searchByRegex")- <*> (o .:? "replacement"))--instance ToJSON FindReplaceRequest where- toJSON FindReplaceRequest'{..}- = object- (catMaybes- [("matchCase" .=) <$> _frrMatchCase,- ("allSheets" .=) <$> _frrAllSheets,- ("includeFormulas" .=) <$> _frrIncludeFormulas,- ("matchEntireCell" .=) <$> _frrMatchEntireCell,- ("range" .=) <$> _frrRange,- ("sheetId" .=) <$> _frrSheetId,- ("find" .=) <$> _frrFind,- ("searchByRegex" .=) <$> _frrSearchByRegex,- ("replacement" .=) <$> _frrReplacement])---- | Moves one or more rows or columns.------ /See:/ 'moveDimensionRequest' smart constructor.-data MoveDimensionRequest = MoveDimensionRequest'- { _mdrDestinationIndex :: !(Maybe (Textual Int32))- , _mdrSource :: !(Maybe DimensionRange)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'MoveDimensionRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mdrDestinationIndex'------ * 'mdrSource'-moveDimensionRequest- :: MoveDimensionRequest-moveDimensionRequest =- MoveDimensionRequest'- { _mdrDestinationIndex = Nothing- , _mdrSource = Nothing- }---- | The zero-based start index of where to move the source data to, based on--- the coordinates *before* the source data is removed from the grid.--- Existing data will be shifted down or right (depending on the dimension)--- to make room for the moved dimensions. The source dimensions are removed--- from the grid, so the the data may end up in a different index than--- specified. For example, given \`A1..A5\` of \`0, 1, 2, 3, 4\` and--- wanting to move \`\"1\"\` and \`\"2\"\` to between \`\"3\"\` and--- \`\"4\"\`, the source would be \`ROWS [1..3)\`,and the destination index--- would be \`\"4\"\` (the zero-based index of row 5). The end result would--- be \`A1..A5\` of \`0, 3, 1, 2, 4\`.-mdrDestinationIndex :: Lens' MoveDimensionRequest (Maybe Int32)-mdrDestinationIndex- = lens _mdrDestinationIndex- (\ s a -> s{_mdrDestinationIndex = a})- . mapping _Coerce---- | The source dimensions to move.-mdrSource :: Lens' MoveDimensionRequest (Maybe DimensionRange)-mdrSource- = lens _mdrSource (\ s a -> s{_mdrSource = a})--instance FromJSON MoveDimensionRequest where- parseJSON- = withObject "MoveDimensionRequest"- (\ o ->- MoveDimensionRequest' <$>- (o .:? "destinationIndex") <*> (o .:? "source"))--instance ToJSON MoveDimensionRequest where- toJSON MoveDimensionRequest'{..}- = object- (catMaybes- [("destinationIndex" .=) <$> _mdrDestinationIndex,- ("source" .=) <$> _mdrSource])---- | A rule that applies a gradient color scale format, based on the--- interpolation points listed. The format of a cell will vary based on its--- contents as compared to the values of the interpolation points.------ /See:/ 'gradientRule' smart constructor.-data GradientRule = GradientRule'- { _grMidpoint :: !(Maybe InterpolationPoint)- , _grMaxpoint :: !(Maybe InterpolationPoint)- , _grMinpoint :: !(Maybe InterpolationPoint)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GradientRule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'grMidpoint'------ * 'grMaxpoint'------ * 'grMinpoint'-gradientRule- :: GradientRule-gradientRule =- GradientRule'- { _grMidpoint = Nothing- , _grMaxpoint = Nothing- , _grMinpoint = Nothing- }---- | An optional midway interpolation point.-grMidpoint :: Lens' GradientRule (Maybe InterpolationPoint)-grMidpoint- = lens _grMidpoint (\ s a -> s{_grMidpoint = a})---- | The final interpolation point.-grMaxpoint :: Lens' GradientRule (Maybe InterpolationPoint)-grMaxpoint- = lens _grMaxpoint (\ s a -> s{_grMaxpoint = a})---- | The starting interpolation point.-grMinpoint :: Lens' GradientRule (Maybe InterpolationPoint)-grMinpoint- = lens _grMinpoint (\ s a -> s{_grMinpoint = a})--instance FromJSON GradientRule where- parseJSON- = withObject "GradientRule"- (\ o ->- GradientRule' <$>- (o .:? "midpoint") <*> (o .:? "maxpoint") <*>- (o .:? "minpoint"))--instance ToJSON GradientRule where- toJSON GradientRule'{..}- = object- (catMaybes- [("midpoint" .=) <$> _grMidpoint,- ("maxpoint" .=) <$> _grMaxpoint,- ("minpoint" .=) <$> _grMinpoint])---- | Moves data from the source to the destination.------ /See:/ 'cutPasteRequest' smart constructor.-data CutPasteRequest = CutPasteRequest'- { _cDestination :: !(Maybe GridCoordinate)- , _cSource :: !(Maybe GridRange)- , _cPasteType :: !(Maybe CutPasteRequestPasteType)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'CutPasteRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cDestination'------ * 'cSource'------ * 'cPasteType'-cutPasteRequest- :: CutPasteRequest-cutPasteRequest =- CutPasteRequest'- { _cDestination = Nothing- , _cSource = Nothing- , _cPasteType = Nothing- }---- | The top-left coordinate where the data should be pasted.-cDestination :: Lens' CutPasteRequest (Maybe GridCoordinate)-cDestination- = lens _cDestination (\ s a -> s{_cDestination = a})---- | The source data to cut.-cSource :: Lens' CutPasteRequest (Maybe GridRange)-cSource = lens _cSource (\ s a -> s{_cSource = a})---- | What kind of data to paste. All the source data will be cut, regardless--- of what is pasted.-cPasteType :: Lens' CutPasteRequest (Maybe CutPasteRequestPasteType)-cPasteType- = lens _cPasteType (\ s a -> s{_cPasteType = a})--instance FromJSON CutPasteRequest where- parseJSON- = withObject "CutPasteRequest"- (\ o ->- CutPasteRequest' <$>- (o .:? "destination") <*> (o .:? "source") <*>- (o .:? "pasteType"))--instance ToJSON CutPasteRequest where- toJSON CutPasteRequest'{..}- = object- (catMaybes- [("destination" .=) <$> _cDestination,- ("source" .=) <$> _cSource,- ("pasteType" .=) <$> _cPasteType])---- | The result of updating an embedded object\'s position.------ /See:/ 'updateEmbeddedObjectPositionResponse' smart constructor.-newtype UpdateEmbeddedObjectPositionResponse = UpdateEmbeddedObjectPositionResponse'- { _ueoprPosition :: Maybe EmbeddedObjectPosition- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UpdateEmbeddedObjectPositionResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ueoprPosition'-updateEmbeddedObjectPositionResponse- :: UpdateEmbeddedObjectPositionResponse-updateEmbeddedObjectPositionResponse =- UpdateEmbeddedObjectPositionResponse'- { _ueoprPosition = Nothing- }---- | The new position of the embedded object.-ueoprPosition :: Lens' UpdateEmbeddedObjectPositionResponse (Maybe EmbeddedObjectPosition)-ueoprPosition- = lens _ueoprPosition- (\ s a -> s{_ueoprPosition = a})--instance FromJSON- UpdateEmbeddedObjectPositionResponse where- parseJSON- = withObject "UpdateEmbeddedObjectPositionResponse"- (\ o ->- UpdateEmbeddedObjectPositionResponse' <$>- (o .:? "position"))--instance ToJSON UpdateEmbeddedObjectPositionResponse- where- toJSON UpdateEmbeddedObjectPositionResponse'{..}- = object- (catMaybes [("position" .=) <$> _ueoprPosition])---- | A single response from an update.------ /See:/ 'response' smart constructor.-data Response = Response'- { _rAddFilterView :: !(Maybe AddFilterViewResponse)- , _rDuplicateFilterView :: !(Maybe DuplicateFilterViewResponse)- , _rUpdateEmbeddedObjectPosition :: !(Maybe UpdateEmbeddedObjectPositionResponse)- , _rAddSheet :: !(Maybe AddSheetResponse)- , _rFindReplace :: !(Maybe FindReplaceResponse)- , _rAddProtectedRange :: !(Maybe AddProtectedRangeResponse)- , _rDeleteConditionalFormatRule :: !(Maybe DeleteConditionalFormatRuleResponse)- , _rUpdateConditionalFormatRule :: !(Maybe UpdateConditionalFormatRuleResponse)- , _rAddNamedRange :: !(Maybe AddNamedRangeResponse)- , _rAddChart :: !(Maybe AddChartResponse)- , _rAddBanding :: !(Maybe AddBandingResponse)- , _rDuplicateSheet :: !(Maybe DuplicateSheetResponse)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Response' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rAddFilterView'------ * 'rDuplicateFilterView'------ * 'rUpdateEmbeddedObjectPosition'------ * 'rAddSheet'------ * 'rFindReplace'------ * 'rAddProtectedRange'------ * 'rDeleteConditionalFormatRule'------ * 'rUpdateConditionalFormatRule'------ * 'rAddNamedRange'------ * 'rAddChart'------ * 'rAddBanding'------ * 'rDuplicateSheet'-response- :: Response-response =- Response'- { _rAddFilterView = Nothing- , _rDuplicateFilterView = Nothing- , _rUpdateEmbeddedObjectPosition = Nothing- , _rAddSheet = Nothing- , _rFindReplace = Nothing- , _rAddProtectedRange = Nothing- , _rDeleteConditionalFormatRule = Nothing- , _rUpdateConditionalFormatRule = Nothing- , _rAddNamedRange = Nothing- , _rAddChart = Nothing- , _rAddBanding = Nothing- , _rDuplicateSheet = Nothing- }---- | A reply from adding a filter view.-rAddFilterView :: Lens' Response (Maybe AddFilterViewResponse)-rAddFilterView- = lens _rAddFilterView- (\ s a -> s{_rAddFilterView = a})---- | A reply from duplicating a filter view.-rDuplicateFilterView :: Lens' Response (Maybe DuplicateFilterViewResponse)-rDuplicateFilterView- = lens _rDuplicateFilterView- (\ s a -> s{_rDuplicateFilterView = a})---- | A reply from updating an embedded object\'s position.-rUpdateEmbeddedObjectPosition :: Lens' Response (Maybe UpdateEmbeddedObjectPositionResponse)-rUpdateEmbeddedObjectPosition- = lens _rUpdateEmbeddedObjectPosition- (\ s a -> s{_rUpdateEmbeddedObjectPosition = a})---- | A reply from adding a sheet.-rAddSheet :: Lens' Response (Maybe AddSheetResponse)-rAddSheet- = lens _rAddSheet (\ s a -> s{_rAddSheet = a})---- | A reply from doing a find\/replace.-rFindReplace :: Lens' Response (Maybe FindReplaceResponse)-rFindReplace- = lens _rFindReplace (\ s a -> s{_rFindReplace = a})---- | A reply from adding a protected range.-rAddProtectedRange :: Lens' Response (Maybe AddProtectedRangeResponse)-rAddProtectedRange- = lens _rAddProtectedRange- (\ s a -> s{_rAddProtectedRange = a})---- | A reply from deleting a conditional format rule.-rDeleteConditionalFormatRule :: Lens' Response (Maybe DeleteConditionalFormatRuleResponse)-rDeleteConditionalFormatRule- = lens _rDeleteConditionalFormatRule- (\ s a -> s{_rDeleteConditionalFormatRule = a})---- | A reply from updating a conditional format rule.-rUpdateConditionalFormatRule :: Lens' Response (Maybe UpdateConditionalFormatRuleResponse)-rUpdateConditionalFormatRule- = lens _rUpdateConditionalFormatRule- (\ s a -> s{_rUpdateConditionalFormatRule = a})---- | A reply from adding a named range.-rAddNamedRange :: Lens' Response (Maybe AddNamedRangeResponse)-rAddNamedRange- = lens _rAddNamedRange- (\ s a -> s{_rAddNamedRange = a})---- | A reply from adding a chart.-rAddChart :: Lens' Response (Maybe AddChartResponse)-rAddChart- = lens _rAddChart (\ s a -> s{_rAddChart = a})---- | A reply from adding a banded range.-rAddBanding :: Lens' Response (Maybe AddBandingResponse)-rAddBanding- = lens _rAddBanding (\ s a -> s{_rAddBanding = a})---- | A reply from duplicating a sheet.-rDuplicateSheet :: Lens' Response (Maybe DuplicateSheetResponse)-rDuplicateSheet- = lens _rDuplicateSheet- (\ s a -> s{_rDuplicateSheet = a})--instance FromJSON Response where- parseJSON- = withObject "Response"- (\ o ->- Response' <$>- (o .:? "addFilterView") <*>- (o .:? "duplicateFilterView")- <*> (o .:? "updateEmbeddedObjectPosition")- <*> (o .:? "addSheet")- <*> (o .:? "findReplace")- <*> (o .:? "addProtectedRange")- <*> (o .:? "deleteConditionalFormatRule")- <*> (o .:? "updateConditionalFormatRule")- <*> (o .:? "addNamedRange")- <*> (o .:? "addChart")- <*> (o .:? "addBanding")- <*> (o .:? "duplicateSheet"))--instance ToJSON Response where- toJSON Response'{..}- = object- (catMaybes- [("addFilterView" .=) <$> _rAddFilterView,- ("duplicateFilterView" .=) <$> _rDuplicateFilterView,- ("updateEmbeddedObjectPosition" .=) <$>- _rUpdateEmbeddedObjectPosition,- ("addSheet" .=) <$> _rAddSheet,- ("findReplace" .=) <$> _rFindReplace,- ("addProtectedRange" .=) <$> _rAddProtectedRange,- ("deleteConditionalFormatRule" .=) <$>- _rDeleteConditionalFormatRule,- ("updateConditionalFormatRule" .=) <$>- _rUpdateConditionalFormatRule,- ("addNamedRange" .=) <$> _rAddNamedRange,- ("addChart" .=) <$> _rAddChart,- ("addBanding" .=) <$> _rAddBanding,- ("duplicateSheet" .=) <$> _rDuplicateSheet])---- | Criteria for showing\/hiding rows in a filter or filter view.------ /See:/ 'filterCriteria' smart constructor.-data FilterCriteria = FilterCriteria'- { _fcHiddenValues :: !(Maybe [Text])- , _fcCondition :: !(Maybe BooleanCondition)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FilterCriteria' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fcHiddenValues'------ * 'fcCondition'-filterCriteria- :: FilterCriteria-filterCriteria =- FilterCriteria'- { _fcHiddenValues = Nothing- , _fcCondition = Nothing- }---- | Values that should be hidden.-fcHiddenValues :: Lens' FilterCriteria [Text]-fcHiddenValues- = lens _fcHiddenValues- (\ s a -> s{_fcHiddenValues = a})- . _Default- . _Coerce---- | A condition that must be true for values to be shown. (This does not--- override hiddenValues -- if a value is listed there, it will still be--- hidden.)-fcCondition :: Lens' FilterCriteria (Maybe BooleanCondition)-fcCondition- = lens _fcCondition (\ s a -> s{_fcCondition = a})--instance FromJSON FilterCriteria where- parseJSON- = withObject "FilterCriteria"- (\ o ->- FilterCriteria' <$>- (o .:? "hiddenValues" .!= mempty) <*>- (o .:? "condition"))--instance ToJSON FilterCriteria where- toJSON FilterCriteria'{..}- = object- (catMaybes- [("hiddenValues" .=) <$> _fcHiddenValues,- ("condition" .=) <$> _fcCondition])---- | An error in a cell.------ /See:/ 'errorValue' smart constructor.-data ErrorValue = ErrorValue'- { _evType :: !(Maybe ErrorValueType)- , _evMessage :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ErrorValue' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'evType'------ * 'evMessage'-errorValue- :: ErrorValue-errorValue =- ErrorValue'- { _evType = Nothing- , _evMessage = Nothing- }---- | The type of error.-evType :: Lens' ErrorValue (Maybe ErrorValueType)-evType = lens _evType (\ s a -> s{_evType = a})---- | A message with more information about the error (in the spreadsheet\'s--- locale).-evMessage :: Lens' ErrorValue (Maybe Text)-evMessage- = lens _evMessage (\ s a -> s{_evMessage = a})--instance FromJSON ErrorValue where- parseJSON- = withObject "ErrorValue"- (\ o ->- ErrorValue' <$> (o .:? "type") <*> (o .:? "message"))--instance ToJSON ErrorValue where- toJSON ErrorValue'{..}- = object- (catMaybes- [("type" .=) <$> _evType,- ("message" .=) <$> _evMessage])---- | Updates a conditional format rule at the given index, or moves a--- conditional format rule to another index.------ /See:/ 'updateConditionalFormatRuleRequest' smart constructor.-data UpdateConditionalFormatRuleRequest = UpdateConditionalFormatRuleRequest'- { _ucfrrRule :: !(Maybe ConditionalFormatRule)- , _ucfrrNewIndex :: !(Maybe (Textual Int32))- , _ucfrrSheetId :: !(Maybe (Textual Int32))- , _ucfrrIndex :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UpdateConditionalFormatRuleRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ucfrrRule'------ * 'ucfrrNewIndex'------ * 'ucfrrSheetId'------ * 'ucfrrIndex'-updateConditionalFormatRuleRequest- :: UpdateConditionalFormatRuleRequest-updateConditionalFormatRuleRequest =- UpdateConditionalFormatRuleRequest'- { _ucfrrRule = Nothing- , _ucfrrNewIndex = Nothing- , _ucfrrSheetId = Nothing- , _ucfrrIndex = Nothing- }---- | The rule that should replace the rule at the given index.-ucfrrRule :: Lens' UpdateConditionalFormatRuleRequest (Maybe ConditionalFormatRule)-ucfrrRule- = lens _ucfrrRule (\ s a -> s{_ucfrrRule = a})---- | The zero-based new index the rule should end up at.-ucfrrNewIndex :: Lens' UpdateConditionalFormatRuleRequest (Maybe Int32)-ucfrrNewIndex- = lens _ucfrrNewIndex- (\ s a -> s{_ucfrrNewIndex = a})- . mapping _Coerce---- | The sheet of the rule to move. Required if new_index is set, unused--- otherwise.-ucfrrSheetId :: Lens' UpdateConditionalFormatRuleRequest (Maybe Int32)-ucfrrSheetId- = lens _ucfrrSheetId (\ s a -> s{_ucfrrSheetId = a})- . mapping _Coerce---- | The zero-based index of the rule that should be replaced or moved.-ucfrrIndex :: Lens' UpdateConditionalFormatRuleRequest (Maybe Int32)-ucfrrIndex- = lens _ucfrrIndex (\ s a -> s{_ucfrrIndex = a}) .- mapping _Coerce--instance FromJSON UpdateConditionalFormatRuleRequest- where- parseJSON- = withObject "UpdateConditionalFormatRuleRequest"- (\ o ->- UpdateConditionalFormatRuleRequest' <$>- (o .:? "rule") <*> (o .:? "newIndex") <*>- (o .:? "sheetId")- <*> (o .:? "index"))--instance ToJSON UpdateConditionalFormatRuleRequest- where- toJSON UpdateConditionalFormatRuleRequest'{..}- = object- (catMaybes- [("rule" .=) <$> _ucfrrRule,- ("newIndex" .=) <$> _ucfrrNewIndex,- ("sheetId" .=) <$> _ucfrrSheetId,- ("index" .=) <$> _ucfrrIndex])---- | Deletes a conditional format rule at the given index. All subsequent--- rules\' indexes are decremented.------ /See:/ 'deleteConditionalFormatRuleRequest' smart constructor.-data DeleteConditionalFormatRuleRequest = DeleteConditionalFormatRuleRequest'- { _dcfrrSheetId :: !(Maybe (Textual Int32))- , _dcfrrIndex :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DeleteConditionalFormatRuleRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dcfrrSheetId'------ * 'dcfrrIndex'-deleteConditionalFormatRuleRequest- :: DeleteConditionalFormatRuleRequest-deleteConditionalFormatRuleRequest =- DeleteConditionalFormatRuleRequest'- { _dcfrrSheetId = Nothing- , _dcfrrIndex = Nothing- }---- | The sheet the rule is being deleted from.-dcfrrSheetId :: Lens' DeleteConditionalFormatRuleRequest (Maybe Int32)-dcfrrSheetId- = lens _dcfrrSheetId (\ s a -> s{_dcfrrSheetId = a})- . mapping _Coerce---- | The zero-based index of the rule to be deleted.-dcfrrIndex :: Lens' DeleteConditionalFormatRuleRequest (Maybe Int32)-dcfrrIndex- = lens _dcfrrIndex (\ s a -> s{_dcfrrIndex = a}) .- mapping _Coerce--instance FromJSON DeleteConditionalFormatRuleRequest- where- parseJSON- = withObject "DeleteConditionalFormatRuleRequest"- (\ o ->- DeleteConditionalFormatRuleRequest' <$>- (o .:? "sheetId") <*> (o .:? "index"))--instance ToJSON DeleteConditionalFormatRuleRequest- where- toJSON DeleteConditionalFormatRuleRequest'{..}- = object- (catMaybes- [("sheetId" .=) <$> _dcfrrSheetId,- ("index" .=) <$> _dcfrrIndex])---- | The location an object is overlaid on top of a grid.------ /See:/ 'overlayPosition' smart constructor.-data OverlayPosition = OverlayPosition'- { _opHeightPixels :: !(Maybe (Textual Int32))- , _opOffSetYPixels :: !(Maybe (Textual Int32))- , _opAnchorCell :: !(Maybe GridCoordinate)- , _opWidthPixels :: !(Maybe (Textual Int32))- , _opOffSetXPixels :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'OverlayPosition' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'opHeightPixels'------ * 'opOffSetYPixels'------ * 'opAnchorCell'------ * 'opWidthPixels'------ * 'opOffSetXPixels'-overlayPosition- :: OverlayPosition-overlayPosition =- OverlayPosition'- { _opHeightPixels = Nothing- , _opOffSetYPixels = Nothing- , _opAnchorCell = Nothing- , _opWidthPixels = Nothing- , _opOffSetXPixels = Nothing- }---- | The height of the object, in pixels. Defaults to 371.-opHeightPixels :: Lens' OverlayPosition (Maybe Int32)-opHeightPixels- = lens _opHeightPixels- (\ s a -> s{_opHeightPixels = a})- . mapping _Coerce---- | The vertical offset, in pixels, that the object is offset from the--- anchor cell.-opOffSetYPixels :: Lens' OverlayPosition (Maybe Int32)-opOffSetYPixels- = lens _opOffSetYPixels- (\ s a -> s{_opOffSetYPixels = a})- . mapping _Coerce---- | The cell the object is anchored to.-opAnchorCell :: Lens' OverlayPosition (Maybe GridCoordinate)-opAnchorCell- = lens _opAnchorCell (\ s a -> s{_opAnchorCell = a})---- | The width of the object, in pixels. Defaults to 600.-opWidthPixels :: Lens' OverlayPosition (Maybe Int32)-opWidthPixels- = lens _opWidthPixels- (\ s a -> s{_opWidthPixels = a})- . mapping _Coerce---- | The horizontal offset, in pixels, that the object is offset from the--- anchor cell.-opOffSetXPixels :: Lens' OverlayPosition (Maybe Int32)-opOffSetXPixels- = lens _opOffSetXPixels- (\ s a -> s{_opOffSetXPixels = a})- . mapping _Coerce--instance FromJSON OverlayPosition where- parseJSON- = withObject "OverlayPosition"- (\ o ->- OverlayPosition' <$>- (o .:? "heightPixels") <*> (o .:? "offsetYPixels")- <*> (o .:? "anchorCell")- <*> (o .:? "widthPixels")- <*> (o .:? "offsetXPixels"))--instance ToJSON OverlayPosition where- toJSON OverlayPosition'{..}- = object- (catMaybes- [("heightPixels" .=) <$> _opHeightPixels,- ("offsetYPixels" .=) <$> _opOffSetYPixels,- ("anchorCell" .=) <$> _opAnchorCell,- ("widthPixels" .=) <$> _opWidthPixels,- ("offsetXPixels" .=) <$> _opOffSetXPixels])---- | Deletes the embedded object with the given ID.------ /See:/ 'deleteEmbeddedObjectRequest' smart constructor.-newtype DeleteEmbeddedObjectRequest = DeleteEmbeddedObjectRequest'- { _deorObjectId :: Maybe (Textual Int32)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DeleteEmbeddedObjectRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'deorObjectId'-deleteEmbeddedObjectRequest- :: DeleteEmbeddedObjectRequest-deleteEmbeddedObjectRequest =- DeleteEmbeddedObjectRequest'- { _deorObjectId = Nothing- }---- | The ID of the embedded object to delete.-deorObjectId :: Lens' DeleteEmbeddedObjectRequest (Maybe Int32)-deorObjectId- = lens _deorObjectId (\ s a -> s{_deorObjectId = a})- . mapping _Coerce--instance FromJSON DeleteEmbeddedObjectRequest where- parseJSON- = withObject "DeleteEmbeddedObjectRequest"- (\ o ->- DeleteEmbeddedObjectRequest' <$> (o .:? "objectId"))--instance ToJSON DeleteEmbeddedObjectRequest where- toJSON DeleteEmbeddedObjectRequest'{..}- = object- (catMaybes [("objectId" .=) <$> _deorObjectId])---- | Properties of a sheet.------ /See:/ 'sheetProperties' smart constructor.-data SheetProperties = SheetProperties'- { _sTabColor :: !(Maybe Color)- , _sGridProperties :: !(Maybe GridProperties)- , _sSheetType :: !(Maybe SheetPropertiesSheetType)- , _sHidden :: !(Maybe Bool)- , _sSheetId :: !(Maybe (Textual Int32))- , _sTitle :: !(Maybe Text)- , _sRightToLeft :: !(Maybe Bool)- , _sIndex :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SheetProperties' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sTabColor'------ * 'sGridProperties'------ * 'sSheetType'------ * 'sHidden'------ * 'sSheetId'------ * 'sTitle'------ * 'sRightToLeft'------ * 'sIndex'-sheetProperties- :: SheetProperties-sheetProperties =- SheetProperties'- { _sTabColor = Nothing- , _sGridProperties = Nothing- , _sSheetType = Nothing- , _sHidden = Nothing- , _sSheetId = Nothing- , _sTitle = Nothing- , _sRightToLeft = Nothing- , _sIndex = Nothing- }---- | The color of the tab in the UI.-sTabColor :: Lens' SheetProperties (Maybe Color)-sTabColor- = lens _sTabColor (\ s a -> s{_sTabColor = a})---- | Additional properties of the sheet if this sheet is a grid. (If the--- sheet is an object sheet, containing a chart or image, then this field--- will be absent.) When writing it is an error to set any grid properties--- on non-grid sheets.-sGridProperties :: Lens' SheetProperties (Maybe GridProperties)-sGridProperties- = lens _sGridProperties- (\ s a -> s{_sGridProperties = a})---- | The type of sheet. Defaults to GRID. This field cannot be changed once--- set.-sSheetType :: Lens' SheetProperties (Maybe SheetPropertiesSheetType)-sSheetType- = lens _sSheetType (\ s a -> s{_sSheetType = a})---- | True if the sheet is hidden in the UI, false if it\'s visible.-sHidden :: Lens' SheetProperties (Maybe Bool)-sHidden = lens _sHidden (\ s a -> s{_sHidden = a})---- | The ID of the sheet. Must be non-negative. This field cannot be changed--- once set.-sSheetId :: Lens' SheetProperties (Maybe Int32)-sSheetId- = lens _sSheetId (\ s a -> s{_sSheetId = a}) .- mapping _Coerce---- | The name of the sheet.-sTitle :: Lens' SheetProperties (Maybe Text)-sTitle = lens _sTitle (\ s a -> s{_sTitle = a})---- | True if the sheet is an RTL sheet instead of an LTR sheet.-sRightToLeft :: Lens' SheetProperties (Maybe Bool)-sRightToLeft- = lens _sRightToLeft (\ s a -> s{_sRightToLeft = a})---- | The index of the sheet within the spreadsheet. When adding or updating--- sheet properties, if this field is excluded then the sheet will be added--- or moved to the end of the sheet list. When updating sheet indices or--- inserting sheets, movement is considered in \"before the move\" indexes.--- For example, if there were 3 sheets (S1, S2, S3) in order to move S1--- ahead of S2 the index would have to be set to 2. A sheet index update--- request will be ignored if the requested index is identical to the--- sheets current index or if the requested new index is equal to the--- current sheet index + 1.-sIndex :: Lens' SheetProperties (Maybe Int32)-sIndex- = lens _sIndex (\ s a -> s{_sIndex = a}) .- mapping _Coerce--instance FromJSON SheetProperties where- parseJSON- = withObject "SheetProperties"- (\ o ->- SheetProperties' <$>- (o .:? "tabColor") <*> (o .:? "gridProperties") <*>- (o .:? "sheetType")- <*> (o .:? "hidden")- <*> (o .:? "sheetId")- <*> (o .:? "title")- <*> (o .:? "rightToLeft")- <*> (o .:? "index"))--instance ToJSON SheetProperties where- toJSON SheetProperties'{..}- = object- (catMaybes- [("tabColor" .=) <$> _sTabColor,- ("gridProperties" .=) <$> _sGridProperties,- ("sheetType" .=) <$> _sSheetType,- ("hidden" .=) <$> _sHidden,- ("sheetId" .=) <$> _sSheetId,- ("title" .=) <$> _sTitle,- ("rightToLeft" .=) <$> _sRightToLeft,- ("index" .=) <$> _sIndex])---- | The criteria for showing\/hiding values per column. The map\'s key is--- the column index, and the value is the criteria for that column.------ /See:/ 'filterViewCriteria' smart constructor.-newtype FilterViewCriteria = FilterViewCriteria'- { _fvcAddtional :: HashMap Text FilterCriteria- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'FilterViewCriteria' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'fvcAddtional'-filterViewCriteria- :: HashMap Text FilterCriteria -- ^ 'fvcAddtional'- -> FilterViewCriteria-filterViewCriteria pFvcAddtional_ =- FilterViewCriteria'- { _fvcAddtional = _Coerce # pFvcAddtional_- }--fvcAddtional :: Lens' FilterViewCriteria (HashMap Text FilterCriteria)-fvcAddtional- = lens _fvcAddtional (\ s a -> s{_fvcAddtional = a})- . _Coerce--instance FromJSON FilterViewCriteria where- parseJSON- = withObject "FilterViewCriteria"- (\ o -> FilterViewCriteria' <$> (parseJSONObject o))--instance ToJSON FilterViewCriteria where- toJSON = toJSON . _fvcAddtional---- | The response when updating a range of values in a spreadsheet.------ /See:/ 'batchUpdateValuesResponse' smart constructor.-data BatchUpdateValuesResponse = BatchUpdateValuesResponse'- { _buvrTotalUpdatedColumns :: !(Maybe (Textual Int32))- , _buvrResponses :: !(Maybe [UpdateValuesResponse])- , _buvrSpreadsheetId :: !(Maybe Text)- , _buvrTotalUpdatedSheets :: !(Maybe (Textual Int32))- , _buvrTotalUpdatedCells :: !(Maybe (Textual Int32))- , _buvrTotalUpdatedRows :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'BatchUpdateValuesResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'buvrTotalUpdatedColumns'------ * 'buvrResponses'------ * 'buvrSpreadsheetId'------ * 'buvrTotalUpdatedSheets'------ * 'buvrTotalUpdatedCells'------ * 'buvrTotalUpdatedRows'-batchUpdateValuesResponse- :: BatchUpdateValuesResponse-batchUpdateValuesResponse =- BatchUpdateValuesResponse'- { _buvrTotalUpdatedColumns = Nothing- , _buvrResponses = Nothing- , _buvrSpreadsheetId = Nothing- , _buvrTotalUpdatedSheets = Nothing- , _buvrTotalUpdatedCells = Nothing- , _buvrTotalUpdatedRows = Nothing- }---- | The total number of columns where at least one cell in the column was--- updated.-buvrTotalUpdatedColumns :: Lens' BatchUpdateValuesResponse (Maybe Int32)-buvrTotalUpdatedColumns- = lens _buvrTotalUpdatedColumns- (\ s a -> s{_buvrTotalUpdatedColumns = a})- . mapping _Coerce---- | One UpdateValuesResponse per requested range, in the same order as the--- requests appeared.-buvrResponses :: Lens' BatchUpdateValuesResponse [UpdateValuesResponse]-buvrResponses- = lens _buvrResponses- (\ s a -> s{_buvrResponses = a})- . _Default- . _Coerce---- | The spreadsheet the updates were applied to.-buvrSpreadsheetId :: Lens' BatchUpdateValuesResponse (Maybe Text)-buvrSpreadsheetId- = lens _buvrSpreadsheetId- (\ s a -> s{_buvrSpreadsheetId = a})---- | The total number of sheets where at least one cell in the sheet was--- updated.-buvrTotalUpdatedSheets :: Lens' BatchUpdateValuesResponse (Maybe Int32)-buvrTotalUpdatedSheets- = lens _buvrTotalUpdatedSheets- (\ s a -> s{_buvrTotalUpdatedSheets = a})- . mapping _Coerce---- | The total number of cells updated.-buvrTotalUpdatedCells :: Lens' BatchUpdateValuesResponse (Maybe Int32)-buvrTotalUpdatedCells- = lens _buvrTotalUpdatedCells- (\ s a -> s{_buvrTotalUpdatedCells = a})- . mapping _Coerce---- | The total number of rows where at least one cell in the row was updated.-buvrTotalUpdatedRows :: Lens' BatchUpdateValuesResponse (Maybe Int32)-buvrTotalUpdatedRows- = lens _buvrTotalUpdatedRows- (\ s a -> s{_buvrTotalUpdatedRows = a})- . mapping _Coerce--instance FromJSON BatchUpdateValuesResponse where- parseJSON- = withObject "BatchUpdateValuesResponse"- (\ o ->- BatchUpdateValuesResponse' <$>- (o .:? "totalUpdatedColumns") <*>- (o .:? "responses" .!= mempty)- <*> (o .:? "spreadsheetId")- <*> (o .:? "totalUpdatedSheets")- <*> (o .:? "totalUpdatedCells")- <*> (o .:? "totalUpdatedRows"))--instance ToJSON BatchUpdateValuesResponse where- toJSON BatchUpdateValuesResponse'{..}- = object- (catMaybes- [("totalUpdatedColumns" .=) <$>- _buvrTotalUpdatedColumns,- ("responses" .=) <$> _buvrResponses,- ("spreadsheetId" .=) <$> _buvrSpreadsheetId,- ("totalUpdatedSheets" .=) <$>- _buvrTotalUpdatedSheets,- ("totalUpdatedCells" .=) <$> _buvrTotalUpdatedCells,- ("totalUpdatedRows" .=) <$> _buvrTotalUpdatedRows])---- | Updates properties of the sheet with the specified sheetId.------ /See:/ 'updateSheetPropertiesRequest' smart constructor.-data UpdateSheetPropertiesRequest = UpdateSheetPropertiesRequest'- { _usprFields :: !(Maybe FieldMask)- , _usprProperties :: !(Maybe SheetProperties)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UpdateSheetPropertiesRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'usprFields'------ * 'usprProperties'-updateSheetPropertiesRequest- :: UpdateSheetPropertiesRequest-updateSheetPropertiesRequest =- UpdateSheetPropertiesRequest'- { _usprFields = Nothing- , _usprProperties = Nothing- }---- | The fields that should be updated. At least one field must be specified.--- The root \`properties\` is implied and should not be specified. A single--- \`\"*\"\` can be used as short-hand for listing every field.-usprFields :: Lens' UpdateSheetPropertiesRequest (Maybe FieldMask)-usprFields- = lens _usprFields (\ s a -> s{_usprFields = a})---- | The properties to update.-usprProperties :: Lens' UpdateSheetPropertiesRequest (Maybe SheetProperties)-usprProperties- = lens _usprProperties- (\ s a -> s{_usprProperties = a})--instance FromJSON UpdateSheetPropertiesRequest where- parseJSON- = withObject "UpdateSheetPropertiesRequest"- (\ o ->- UpdateSheetPropertiesRequest' <$>- (o .:? "fields") <*> (o .:? "properties"))--instance ToJSON UpdateSheetPropertiesRequest where- toJSON UpdateSheetPropertiesRequest'{..}- = object- (catMaybes- [("fields" .=) <$> _usprFields,- ("properties" .=) <$> _usprProperties])---- | Resource that represents a spreadsheet.------ /See:/ 'spreadsheet' smart constructor.-data Spreadsheet = Spreadsheet'- { _sprSheets :: !(Maybe [Sheet])- , _sprNamedRanges :: !(Maybe [NamedRange])- , _sprSpreadsheetId :: !(Maybe Text)- , _sprSpreadsheetURL :: !(Maybe Text)- , _sprProperties :: !(Maybe SpreadsheetProperties)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Spreadsheet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sprSheets'------ * 'sprNamedRanges'------ * 'sprSpreadsheetId'------ * 'sprSpreadsheetURL'------ * 'sprProperties'-spreadsheet- :: Spreadsheet-spreadsheet =- Spreadsheet'- { _sprSheets = Nothing- , _sprNamedRanges = Nothing- , _sprSpreadsheetId = Nothing- , _sprSpreadsheetURL = Nothing- , _sprProperties = Nothing- }---- | The sheets that are part of a spreadsheet.-sprSheets :: Lens' Spreadsheet [Sheet]-sprSheets- = lens _sprSheets (\ s a -> s{_sprSheets = a}) .- _Default- . _Coerce---- | The named ranges defined in a spreadsheet.-sprNamedRanges :: Lens' Spreadsheet [NamedRange]-sprNamedRanges- = lens _sprNamedRanges- (\ s a -> s{_sprNamedRanges = a})- . _Default- . _Coerce---- | The ID of the spreadsheet. This field is read-only.-sprSpreadsheetId :: Lens' Spreadsheet (Maybe Text)-sprSpreadsheetId- = lens _sprSpreadsheetId- (\ s a -> s{_sprSpreadsheetId = a})---- | The url of the spreadsheet. This field is read-only.-sprSpreadsheetURL :: Lens' Spreadsheet (Maybe Text)-sprSpreadsheetURL- = lens _sprSpreadsheetURL- (\ s a -> s{_sprSpreadsheetURL = a})---- | Overall properties of a spreadsheet.-sprProperties :: Lens' Spreadsheet (Maybe SpreadsheetProperties)-sprProperties- = lens _sprProperties- (\ s a -> s{_sprProperties = a})--instance FromJSON Spreadsheet where- parseJSON- = withObject "Spreadsheet"- (\ o ->- Spreadsheet' <$>- (o .:? "sheets" .!= mempty) <*>- (o .:? "namedRanges" .!= mempty)- <*> (o .:? "spreadsheetId")- <*> (o .:? "spreadsheetUrl")- <*> (o .:? "properties"))--instance ToJSON Spreadsheet where- toJSON Spreadsheet'{..}- = object- (catMaybes- [("sheets" .=) <$> _sprSheets,- ("namedRanges" .=) <$> _sprNamedRanges,- ("spreadsheetId" .=) <$> _sprSpreadsheetId,- ("spreadsheetUrl" .=) <$> _sprSpreadsheetURL,- ("properties" .=) <$> _sprProperties])---- | Inserts rows or columns in a sheet at a particular index.------ /See:/ 'insertDimensionRequest' smart constructor.-data InsertDimensionRequest = InsertDimensionRequest'- { _idrRange :: !(Maybe DimensionRange)- , _idrInheritFromBefore :: !(Maybe Bool)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InsertDimensionRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'idrRange'------ * 'idrInheritFromBefore'-insertDimensionRequest- :: InsertDimensionRequest-insertDimensionRequest =- InsertDimensionRequest'- { _idrRange = Nothing- , _idrInheritFromBefore = Nothing- }---- | The dimensions to insert. Both the start and end indexes must be--- bounded.-idrRange :: Lens' InsertDimensionRequest (Maybe DimensionRange)-idrRange = lens _idrRange (\ s a -> s{_idrRange = a})---- | Whether dimension properties should be extended from the dimensions--- before or after the newly inserted dimensions. True to inherit from the--- dimensions before (in which case the start index must be greater than--- 0), and false to inherit from the dimensions after. For example, if row--- index 0 has red background and row index 1 has a green background, then--- inserting 2 rows at index 1 can inherit either the green or red--- background. If \`inheritFromBefore\` is true, the two new rows will be--- red (because the row before the insertion point was red), whereas if--- \`inheritFromBefore\` is false, the two new rows will be green (because--- the row after the insertion point was green).-idrInheritFromBefore :: Lens' InsertDimensionRequest (Maybe Bool)-idrInheritFromBefore- = lens _idrInheritFromBefore- (\ s a -> s{_idrInheritFromBefore = a})--instance FromJSON InsertDimensionRequest where- parseJSON- = withObject "InsertDimensionRequest"- (\ o ->- InsertDimensionRequest' <$>- (o .:? "range") <*> (o .:? "inheritFromBefore"))--instance ToJSON InsertDimensionRequest where- toJSON InsertDimensionRequest'{..}- = object- (catMaybes- [("range" .=) <$> _idrRange,- ("inheritFromBefore" .=) <$> _idrInheritFromBefore])---- | A single interpolation point on a gradient conditional format. These pin--- the gradient color scale according to the color, type and value chosen.------ /See:/ 'interpolationPoint' smart constructor.-data InterpolationPoint = InterpolationPoint'- { _ipColor :: !(Maybe Color)- , _ipValue :: !(Maybe Text)- , _ipType :: !(Maybe InterpolationPointType)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InterpolationPoint' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ipColor'------ * 'ipValue'------ * 'ipType'-interpolationPoint- :: InterpolationPoint-interpolationPoint =- InterpolationPoint'- { _ipColor = Nothing- , _ipValue = Nothing- , _ipType = Nothing- }---- | The color this interpolation point should use.-ipColor :: Lens' InterpolationPoint (Maybe Color)-ipColor = lens _ipColor (\ s a -> s{_ipColor = a})---- | The value this interpolation point uses. May be a formula. Unused if--- type is MIN or MAX.-ipValue :: Lens' InterpolationPoint (Maybe Text)-ipValue = lens _ipValue (\ s a -> s{_ipValue = a})---- | How the value should be interpreted.-ipType :: Lens' InterpolationPoint (Maybe InterpolationPointType)-ipType = lens _ipType (\ s a -> s{_ipType = a})--instance FromJSON InterpolationPoint where- parseJSON- = withObject "InterpolationPoint"- (\ o ->- InterpolationPoint' <$>- (o .:? "color") <*> (o .:? "value") <*>- (o .:? "type"))--instance ToJSON InterpolationPoint where- toJSON InterpolationPoint'{..}- = object- (catMaybes- [("color" .=) <$> _ipColor,- ("value" .=) <$> _ipValue, ("type" .=) <$> _ipType])---- | Data about a specific cell.------ /See:/ 'cellData' smart constructor.-data CellData = CellData'- { _cdTextFormatRuns :: !(Maybe [TextFormatRun])- , _cdNote :: !(Maybe Text)- , _cdUserEnteredValue :: !(Maybe ExtendedValue)- , _cdUserEnteredFormat :: !(Maybe CellFormat)- , _cdEffectiveFormat :: !(Maybe CellFormat)- , _cdPivotTable :: !(Maybe PivotTable)- , _cdFormattedValue :: !(Maybe Text)- , _cdDataValidation :: !(Maybe DataValidationRule)- , _cdHyperlink :: !(Maybe Text)- , _cdEffectiveValue :: !(Maybe ExtendedValue)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'CellData' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cdTextFormatRuns'------ * 'cdNote'------ * 'cdUserEnteredValue'------ * 'cdUserEnteredFormat'------ * 'cdEffectiveFormat'------ * 'cdPivotTable'------ * 'cdFormattedValue'------ * 'cdDataValidation'------ * 'cdHyperlink'------ * 'cdEffectiveValue'-cellData- :: CellData-cellData =- CellData'- { _cdTextFormatRuns = Nothing- , _cdNote = Nothing- , _cdUserEnteredValue = Nothing- , _cdUserEnteredFormat = Nothing- , _cdEffectiveFormat = Nothing- , _cdPivotTable = Nothing- , _cdFormattedValue = Nothing- , _cdDataValidation = Nothing- , _cdHyperlink = Nothing- , _cdEffectiveValue = Nothing- }---- | Runs of rich text applied to subsections of the cell. Runs are only--- valid on user entered strings, not formulas, bools, or numbers. Runs--- start at specific indexes in the text and continue until the next run.--- Properties of a run will continue unless explicitly changed in a--- subsequent run (and properties of the first run will continue the--- properties of the cell unless explicitly changed). When writing, the new--- runs will overwrite any prior runs. When writing a new--- user_entered_value, previous runs will be erased.-cdTextFormatRuns :: Lens' CellData [TextFormatRun]-cdTextFormatRuns- = lens _cdTextFormatRuns- (\ s a -> s{_cdTextFormatRuns = a})- . _Default- . _Coerce---- | Any note on the cell.-cdNote :: Lens' CellData (Maybe Text)-cdNote = lens _cdNote (\ s a -> s{_cdNote = a})---- | The value the user entered in the cell. e.g, \`1234\`, \`\'Hello\'\`, or--- \`=NOW()\` Note: Dates, Times and DateTimes are represented as doubles--- in serial number format.-cdUserEnteredValue :: Lens' CellData (Maybe ExtendedValue)-cdUserEnteredValue- = lens _cdUserEnteredValue- (\ s a -> s{_cdUserEnteredValue = a})---- | The format the user entered for the cell. When writing, the new format--- will be merged with the existing format.-cdUserEnteredFormat :: Lens' CellData (Maybe CellFormat)-cdUserEnteredFormat- = lens _cdUserEnteredFormat- (\ s a -> s{_cdUserEnteredFormat = a})---- | The effective format being used by the cell. This includes the results--- of applying any conditional formatting and, if the cell contains a--- formula, the computed number format. If the effective format is the--- default format, effective format will not be written. This field is--- read-only.-cdEffectiveFormat :: Lens' CellData (Maybe CellFormat)-cdEffectiveFormat- = lens _cdEffectiveFormat- (\ s a -> s{_cdEffectiveFormat = a})---- | A pivot table anchored at this cell. The size of pivot table itself is--- computed dynamically based on its data, grouping, filters, values, etc.--- Only the top-left cell of the pivot table contains the pivot table--- definition. The other cells will contain the calculated values of the--- results of the pivot in their effective_value fields.-cdPivotTable :: Lens' CellData (Maybe PivotTable)-cdPivotTable- = lens _cdPivotTable (\ s a -> s{_cdPivotTable = a})---- | The formatted value of the cell. This is the value as it\'s shown to the--- user. This field is read-only.-cdFormattedValue :: Lens' CellData (Maybe Text)-cdFormattedValue- = lens _cdFormattedValue- (\ s a -> s{_cdFormattedValue = a})---- | A data validation rule on the cell, if any. When writing, the new data--- validation rule will overwrite any prior rule.-cdDataValidation :: Lens' CellData (Maybe DataValidationRule)-cdDataValidation- = lens _cdDataValidation- (\ s a -> s{_cdDataValidation = a})---- | A hyperlink this cell points to, if any. This field is read-only. (To--- set it, use a \`=HYPERLINK\` formula.)-cdHyperlink :: Lens' CellData (Maybe Text)-cdHyperlink- = lens _cdHyperlink (\ s a -> s{_cdHyperlink = a})---- | The effective value of the cell. For cells with formulas, this will be--- the calculated value. For cells with literals, this will be the same as--- the user_entered_value. This field is read-only.-cdEffectiveValue :: Lens' CellData (Maybe ExtendedValue)-cdEffectiveValue- = lens _cdEffectiveValue- (\ s a -> s{_cdEffectiveValue = a})--instance FromJSON CellData where- parseJSON- = withObject "CellData"- (\ o ->- CellData' <$>- (o .:? "textFormatRuns" .!= mempty) <*>- (o .:? "note")- <*> (o .:? "userEnteredValue")- <*> (o .:? "userEnteredFormat")- <*> (o .:? "effectiveFormat")- <*> (o .:? "pivotTable")- <*> (o .:? "formattedValue")- <*> (o .:? "dataValidation")- <*> (o .:? "hyperlink")- <*> (o .:? "effectiveValue"))--instance ToJSON CellData where- toJSON CellData'{..}- = object- (catMaybes- [("textFormatRuns" .=) <$> _cdTextFormatRuns,- ("note" .=) <$> _cdNote,- ("userEnteredValue" .=) <$> _cdUserEnteredValue,- ("userEnteredFormat" .=) <$> _cdUserEnteredFormat,- ("effectiveFormat" .=) <$> _cdEffectiveFormat,- ("pivotTable" .=) <$> _cdPivotTable,- ("formattedValue" .=) <$> _cdFormattedValue,- ("dataValidation" .=) <$> _cdDataValidation,- ("hyperlink" .=) <$> _cdHyperlink,- ("effectiveValue" .=) <$> _cdEffectiveValue])---- | Source ranges for a chart.------ /See:/ 'chartSourceRange' smart constructor.-newtype ChartSourceRange = ChartSourceRange'- { _csrSources :: Maybe [GridRange]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ChartSourceRange' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'csrSources'-chartSourceRange- :: ChartSourceRange-chartSourceRange =- ChartSourceRange'- { _csrSources = Nothing- }---- | The ranges of data for a series or domain. Exactly one dimension must--- have a length of 1, and all sources in the list must have the same--- dimension with length 1. The domain (if it exists) & all series must--- have the same number of source ranges. If using more than one source--- range, then the source range at a given offset must be contiguous across--- the domain and series. For example, these are valid configurations:--- domain sources: A1:A5 series1 sources: B1:B5 series2 sources: D6:D10--- domain sources: A1:A5, C10:C12 series1 sources: B1:B5, D10:D12 series2--- sources: C1:C5, E10:E12-csrSources :: Lens' ChartSourceRange [GridRange]-csrSources- = lens _csrSources (\ s a -> s{_csrSources = a}) .- _Default- . _Coerce--instance FromJSON ChartSourceRange where- parseJSON- = withObject "ChartSourceRange"- (\ o ->- ChartSourceRange' <$> (o .:? "sources" .!= mempty))--instance ToJSON ChartSourceRange where- toJSON ChartSourceRange'{..}- = object (catMaybes [("sources" .=) <$> _csrSources])---- | The result of adding a named range.------ /See:/ 'addNamedRangeResponse' smart constructor.-newtype AddNamedRangeResponse = AddNamedRangeResponse'- { _anrrNamedRange :: Maybe NamedRange- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AddNamedRangeResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'anrrNamedRange'-addNamedRangeResponse- :: AddNamedRangeResponse-addNamedRangeResponse =- AddNamedRangeResponse'- { _anrrNamedRange = Nothing- }---- | The named range to add.-anrrNamedRange :: Lens' AddNamedRangeResponse (Maybe NamedRange)-anrrNamedRange- = lens _anrrNamedRange- (\ s a -> s{_anrrNamedRange = a})--instance FromJSON AddNamedRangeResponse where- parseJSON- = withObject "AddNamedRangeResponse"- (\ o ->- AddNamedRangeResponse' <$> (o .:? "namedRange"))--instance ToJSON AddNamedRangeResponse where- toJSON AddNamedRangeResponse'{..}- = object- (catMaybes [("namedRange" .=) <$> _anrrNamedRange])---- | The result of adding a chart to a spreadsheet.------ /See:/ 'addChartResponse' smart constructor.-newtype AddChartResponse = AddChartResponse'- { _acrChart :: Maybe EmbeddedChart- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AddChartResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'acrChart'-addChartResponse- :: AddChartResponse-addChartResponse =- AddChartResponse'- { _acrChart = Nothing- }---- | The newly added chart.-acrChart :: Lens' AddChartResponse (Maybe EmbeddedChart)-acrChart = lens _acrChart (\ s a -> s{_acrChart = a})--instance FromJSON AddChartResponse where- parseJSON- = withObject "AddChartResponse"- (\ o -> AddChartResponse' <$> (o .:? "chart"))--instance ToJSON AddChartResponse where- toJSON AddChartResponse'{..}- = object (catMaybes [("chart" .=) <$> _acrChart])---- | Updates a chart\'s specifications. (This does not move or resize a--- chart. To move or resize a chart, use--- UpdateEmbeddedObjectPositionRequest.)------ /See:/ 'updateChartSpecRequest' smart constructor.-data UpdateChartSpecRequest = UpdateChartSpecRequest'- { _ucsrSpec :: !(Maybe ChartSpec)- , _ucsrChartId :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UpdateChartSpecRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ucsrSpec'------ * 'ucsrChartId'-updateChartSpecRequest- :: UpdateChartSpecRequest-updateChartSpecRequest =- UpdateChartSpecRequest'- { _ucsrSpec = Nothing- , _ucsrChartId = Nothing- }---- | The specification to apply to the chart.-ucsrSpec :: Lens' UpdateChartSpecRequest (Maybe ChartSpec)-ucsrSpec = lens _ucsrSpec (\ s a -> s{_ucsrSpec = a})---- | The ID of the chart to update.-ucsrChartId :: Lens' UpdateChartSpecRequest (Maybe Int32)-ucsrChartId- = lens _ucsrChartId (\ s a -> s{_ucsrChartId = a}) .- mapping _Coerce--instance FromJSON UpdateChartSpecRequest where- parseJSON- = withObject "UpdateChartSpecRequest"- (\ o ->- UpdateChartSpecRequest' <$>- (o .:? "spec") <*> (o .:? "chartId"))--instance ToJSON UpdateChartSpecRequest where- toJSON UpdateChartSpecRequest'{..}- = object- (catMaybes- [("spec" .=) <$> _ucsrSpec,- ("chartId" .=) <$> _ucsrChartId])---- | Sets the basic filter associated with a sheet.------ /See:/ 'setBasicFilterRequest' smart constructor.-newtype SetBasicFilterRequest = SetBasicFilterRequest'- { _sbfrFilter :: Maybe BasicFilter- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SetBasicFilterRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sbfrFilter'-setBasicFilterRequest- :: SetBasicFilterRequest-setBasicFilterRequest =- SetBasicFilterRequest'- { _sbfrFilter = Nothing- }---- | The filter to set.-sbfrFilter :: Lens' SetBasicFilterRequest (Maybe BasicFilter)-sbfrFilter- = lens _sbfrFilter (\ s a -> s{_sbfrFilter = a})--instance FromJSON SetBasicFilterRequest where- parseJSON- = withObject "SetBasicFilterRequest"- (\ o -> SetBasicFilterRequest' <$> (o .:? "filter"))--instance ToJSON SetBasicFilterRequest where- toJSON SetBasicFilterRequest'{..}- = object (catMaybes [("filter" .=) <$> _sbfrFilter])---- | Properties of a grid.------ /See:/ 'gridProperties' smart constructor.-data GridProperties = GridProperties'- { _gpFrozenColumnCount :: !(Maybe (Textual Int32))- , _gpColumnCount :: !(Maybe (Textual Int32))- , _gpHideGridlines :: !(Maybe Bool)- , _gpFrozenRowCount :: !(Maybe (Textual Int32))- , _gpRowCount :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GridProperties' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpFrozenColumnCount'------ * 'gpColumnCount'------ * 'gpHideGridlines'------ * 'gpFrozenRowCount'------ * 'gpRowCount'-gridProperties- :: GridProperties-gridProperties =- GridProperties'- { _gpFrozenColumnCount = Nothing- , _gpColumnCount = Nothing- , _gpHideGridlines = Nothing- , _gpFrozenRowCount = Nothing- , _gpRowCount = Nothing- }---- | The number of columns that are frozen in the grid.-gpFrozenColumnCount :: Lens' GridProperties (Maybe Int32)-gpFrozenColumnCount- = lens _gpFrozenColumnCount- (\ s a -> s{_gpFrozenColumnCount = a})- . mapping _Coerce---- | The number of columns in the grid.-gpColumnCount :: Lens' GridProperties (Maybe Int32)-gpColumnCount- = lens _gpColumnCount- (\ s a -> s{_gpColumnCount = a})- . mapping _Coerce---- | True if the grid isn\'t showing gridlines in the UI.-gpHideGridlines :: Lens' GridProperties (Maybe Bool)-gpHideGridlines- = lens _gpHideGridlines- (\ s a -> s{_gpHideGridlines = a})---- | The number of rows that are frozen in the grid.-gpFrozenRowCount :: Lens' GridProperties (Maybe Int32)-gpFrozenRowCount- = lens _gpFrozenRowCount- (\ s a -> s{_gpFrozenRowCount = a})- . mapping _Coerce---- | The number of rows in the grid.-gpRowCount :: Lens' GridProperties (Maybe Int32)-gpRowCount- = lens _gpRowCount (\ s a -> s{_gpRowCount = a}) .- mapping _Coerce--instance FromJSON GridProperties where- parseJSON- = withObject "GridProperties"- (\ o ->- GridProperties' <$>- (o .:? "frozenColumnCount") <*> (o .:? "columnCount")- <*> (o .:? "hideGridlines")- <*> (o .:? "frozenRowCount")- <*> (o .:? "rowCount"))--instance ToJSON GridProperties where- toJSON GridProperties'{..}- = object- (catMaybes- [("frozenColumnCount" .=) <$> _gpFrozenColumnCount,- ("columnCount" .=) <$> _gpColumnCount,- ("hideGridlines" .=) <$> _gpHideGridlines,- ("frozenRowCount" .=) <$> _gpFrozenRowCount,- ("rowCount" .=) <$> _gpRowCount])---- | The criteria for showing\/hiding values per column. The map\'s key is--- the column index, and the value is the criteria for that column.------ /See:/ 'basicFilterCriteria' smart constructor.-newtype BasicFilterCriteria = BasicFilterCriteria'- { _bfcAddtional :: HashMap Text FilterCriteria- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'BasicFilterCriteria' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bfcAddtional'-basicFilterCriteria- :: HashMap Text FilterCriteria -- ^ 'bfcAddtional'- -> BasicFilterCriteria-basicFilterCriteria pBfcAddtional_ =- BasicFilterCriteria'- { _bfcAddtional = _Coerce # pBfcAddtional_- }--bfcAddtional :: Lens' BasicFilterCriteria (HashMap Text FilterCriteria)-bfcAddtional- = lens _bfcAddtional (\ s a -> s{_bfcAddtional = a})- . _Coerce--instance FromJSON BasicFilterCriteria where- parseJSON- = withObject "BasicFilterCriteria"- (\ o -> BasicFilterCriteria' <$> (parseJSONObject o))--instance ToJSON BasicFilterCriteria where- toJSON = toJSON . _bfcAddtional---- | Adds a new banded range to the spreadsheet.------ /See:/ 'addBandingRequest' smart constructor.-newtype AddBandingRequest = AddBandingRequest'- { _abrBandedRange :: Maybe BandedRange- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AddBandingRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'abrBandedRange'-addBandingRequest- :: AddBandingRequest-addBandingRequest =- AddBandingRequest'- { _abrBandedRange = Nothing- }---- | The banded range to add. The bandedRangeId field is optional; if one is--- not set, an id will be randomly generated. (It is an error to specify--- the ID of a range that already exists.)-abrBandedRange :: Lens' AddBandingRequest (Maybe BandedRange)-abrBandedRange- = lens _abrBandedRange- (\ s a -> s{_abrBandedRange = a})--instance FromJSON AddBandingRequest where- parseJSON- = withObject "AddBandingRequest"- (\ o -> AddBandingRequest' <$> (o .:? "bandedRange"))--instance ToJSON AddBandingRequest where- toJSON AddBandingRequest'{..}- = object- (catMaybes [("bandedRange" .=) <$> _abrBandedRange])---- | Updates properties of dimensions within the specified range.------ /See:/ 'updateDimensionPropertiesRequest' smart constructor.-data UpdateDimensionPropertiesRequest = UpdateDimensionPropertiesRequest'- { _udprRange :: !(Maybe DimensionRange)- , _udprFields :: !(Maybe FieldMask)- , _udprProperties :: !(Maybe DimensionProperties)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UpdateDimensionPropertiesRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'udprRange'------ * 'udprFields'------ * 'udprProperties'-updateDimensionPropertiesRequest- :: UpdateDimensionPropertiesRequest-updateDimensionPropertiesRequest =- UpdateDimensionPropertiesRequest'- { _udprRange = Nothing- , _udprFields = Nothing- , _udprProperties = Nothing- }---- | The rows or columns to update.-udprRange :: Lens' UpdateDimensionPropertiesRequest (Maybe DimensionRange)-udprRange- = lens _udprRange (\ s a -> s{_udprRange = a})---- | The fields that should be updated. At least one field must be specified.--- The root \`properties\` is implied and should not be specified. A single--- \`\"*\"\` can be used as short-hand for listing every field.-udprFields :: Lens' UpdateDimensionPropertiesRequest (Maybe FieldMask)-udprFields- = lens _udprFields (\ s a -> s{_udprFields = a})---- | Properties to update.-udprProperties :: Lens' UpdateDimensionPropertiesRequest (Maybe DimensionProperties)-udprProperties- = lens _udprProperties- (\ s a -> s{_udprProperties = a})--instance FromJSON UpdateDimensionPropertiesRequest- where- parseJSON- = withObject "UpdateDimensionPropertiesRequest"- (\ o ->- UpdateDimensionPropertiesRequest' <$>- (o .:? "range") <*> (o .:? "fields") <*>- (o .:? "properties"))--instance ToJSON UpdateDimensionPropertiesRequest- where- toJSON UpdateDimensionPropertiesRequest'{..}- = object- (catMaybes- [("range" .=) <$> _udprRange,- ("fields" .=) <$> _udprFields,- ("properties" .=) <$> _udprProperties])---- | An optional mapping of filters per source column offset. The filters--- will be applied before aggregating data into the pivot table. The map\'s--- key is the column offset of the source range that you want to filter,--- and the value is the criteria for that column. For example, if the--- source was \`C10:E15\`, a key of \`0\` will have the filter for column--- \`C\`, whereas the key \`1\` is for column \`D\`.------ /See:/ 'pivotTableCriteria' smart constructor.-newtype PivotTableCriteria = PivotTableCriteria'- { _ptcAddtional :: HashMap Text PivotFilterCriteria- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'PivotTableCriteria' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ptcAddtional'-pivotTableCriteria- :: HashMap Text PivotFilterCriteria -- ^ 'ptcAddtional'- -> PivotTableCriteria-pivotTableCriteria pPtcAddtional_ =- PivotTableCriteria'- { _ptcAddtional = _Coerce # pPtcAddtional_- }--ptcAddtional :: Lens' PivotTableCriteria (HashMap Text PivotFilterCriteria)-ptcAddtional- = lens _ptcAddtional (\ s a -> s{_ptcAddtional = a})- . _Coerce--instance FromJSON PivotTableCriteria where- parseJSON- = withObject "PivotTableCriteria"- (\ o -> PivotTableCriteria' <$> (parseJSONObject o))--instance ToJSON PivotTableCriteria where- toJSON = toJSON . _ptcAddtional---- | Fills in more data based on existing data.------ /See:/ 'autoFillRequest' smart constructor.-data AutoFillRequest = AutoFillRequest'- { _afrSourceAndDestination :: !(Maybe SourceAndDestination)- , _afrUseAlternateSeries :: !(Maybe Bool)- , _afrRange :: !(Maybe GridRange)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AutoFillRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'afrSourceAndDestination'------ * 'afrUseAlternateSeries'------ * 'afrRange'-autoFillRequest- :: AutoFillRequest-autoFillRequest =- AutoFillRequest'- { _afrSourceAndDestination = Nothing- , _afrUseAlternateSeries = Nothing- , _afrRange = Nothing- }---- | The source and destination areas to autofill. This explicitly lists the--- source of the autofill and where to extend that data.-afrSourceAndDestination :: Lens' AutoFillRequest (Maybe SourceAndDestination)-afrSourceAndDestination- = lens _afrSourceAndDestination- (\ s a -> s{_afrSourceAndDestination = a})---- | True if we should generate data with the \"alternate\" series. This--- differs based on the type and amount of source data.-afrUseAlternateSeries :: Lens' AutoFillRequest (Maybe Bool)-afrUseAlternateSeries- = lens _afrUseAlternateSeries- (\ s a -> s{_afrUseAlternateSeries = a})---- | The range to autofill. This will examine the range and detect the--- location that has data and automatically fill that data in to the rest--- of the range.-afrRange :: Lens' AutoFillRequest (Maybe GridRange)-afrRange = lens _afrRange (\ s a -> s{_afrRange = a})--instance FromJSON AutoFillRequest where- parseJSON- = withObject "AutoFillRequest"- (\ o ->- AutoFillRequest' <$>- (o .:? "sourceAndDestination") <*>- (o .:? "useAlternateSeries")- <*> (o .:? "range"))--instance ToJSON AutoFillRequest where- toJSON AutoFillRequest'{..}- = object- (catMaybes- [("sourceAndDestination" .=) <$>- _afrSourceAndDestination,- ("useAlternateSeries" .=) <$> _afrUseAlternateSeries,- ("range" .=) <$> _afrRange])---- | Duplicates the contents of a sheet.------ /See:/ 'duplicateSheetRequest' smart constructor.-data DuplicateSheetRequest = DuplicateSheetRequest'- { _dsrNewSheetName :: !(Maybe Text)- , _dsrInsertSheetIndex :: !(Maybe (Textual Int32))- , _dsrSourceSheetId :: !(Maybe (Textual Int32))- , _dsrNewSheetId :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DuplicateSheetRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dsrNewSheetName'------ * 'dsrInsertSheetIndex'------ * 'dsrSourceSheetId'------ * 'dsrNewSheetId'-duplicateSheetRequest- :: DuplicateSheetRequest-duplicateSheetRequest =- DuplicateSheetRequest'- { _dsrNewSheetName = Nothing- , _dsrInsertSheetIndex = Nothing- , _dsrSourceSheetId = Nothing- , _dsrNewSheetId = Nothing- }---- | The name of the new sheet. If empty, a new name is chosen for you.-dsrNewSheetName :: Lens' DuplicateSheetRequest (Maybe Text)-dsrNewSheetName- = lens _dsrNewSheetName- (\ s a -> s{_dsrNewSheetName = a})---- | The zero-based index where the new sheet should be inserted. The index--- of all sheets after this are incremented.-dsrInsertSheetIndex :: Lens' DuplicateSheetRequest (Maybe Int32)-dsrInsertSheetIndex- = lens _dsrInsertSheetIndex- (\ s a -> s{_dsrInsertSheetIndex = a})- . mapping _Coerce---- | The sheet to duplicate.-dsrSourceSheetId :: Lens' DuplicateSheetRequest (Maybe Int32)-dsrSourceSheetId- = lens _dsrSourceSheetId- (\ s a -> s{_dsrSourceSheetId = a})- . mapping _Coerce---- | If set, the ID of the new sheet. If not set, an ID is chosen. If set,--- the ID must not conflict with any existing sheet ID. If set, it must be--- non-negative.-dsrNewSheetId :: Lens' DuplicateSheetRequest (Maybe Int32)-dsrNewSheetId- = lens _dsrNewSheetId- (\ s a -> s{_dsrNewSheetId = a})- . mapping _Coerce--instance FromJSON DuplicateSheetRequest where- parseJSON- = withObject "DuplicateSheetRequest"- (\ o ->- DuplicateSheetRequest' <$>- (o .:? "newSheetName") <*> (o .:? "insertSheetIndex")- <*> (o .:? "sourceSheetId")- <*> (o .:? "newSheetId"))--instance ToJSON DuplicateSheetRequest where- toJSON DuplicateSheetRequest'{..}- = object- (catMaybes- [("newSheetName" .=) <$> _dsrNewSheetName,- ("insertSheetIndex" .=) <$> _dsrInsertSheetIndex,- ("sourceSheetId" .=) <$> _dsrSourceSheetId,- ("newSheetId" .=) <$> _dsrNewSheetId])---- | The result of a filter view being duplicated.------ /See:/ 'duplicateFilterViewResponse' smart constructor.-newtype DuplicateFilterViewResponse = DuplicateFilterViewResponse'- { _dfvrFilter :: Maybe FilterView- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DuplicateFilterViewResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dfvrFilter'-duplicateFilterViewResponse- :: DuplicateFilterViewResponse-duplicateFilterViewResponse =- DuplicateFilterViewResponse'- { _dfvrFilter = Nothing- }---- | The newly created filter.-dfvrFilter :: Lens' DuplicateFilterViewResponse (Maybe FilterView)-dfvrFilter- = lens _dfvrFilter (\ s a -> s{_dfvrFilter = a})--instance FromJSON DuplicateFilterViewResponse where- parseJSON- = withObject "DuplicateFilterViewResponse"- (\ o ->- DuplicateFilterViewResponse' <$> (o .:? "filter"))--instance ToJSON DuplicateFilterViewResponse where- toJSON DuplicateFilterViewResponse'{..}- = object (catMaybes [("filter" .=) <$> _dfvrFilter])---- | The request for updating more than one range of values in a spreadsheet.------ /See:/ 'batchUpdateValuesRequest' smart constructor.-data BatchUpdateValuesRequest = BatchUpdateValuesRequest'- { _buvrData :: !(Maybe [ValueRange])- , _buvrValueInputOption :: !(Maybe BatchUpdateValuesRequestValueInputOption)- , _buvrIncludeValuesInResponse :: !(Maybe Bool)- , _buvrResponseDateTimeRenderOption :: !(Maybe BatchUpdateValuesRequestResponseDateTimeRenderOption)- , _buvrResponseValueRenderOption :: !(Maybe BatchUpdateValuesRequestResponseValueRenderOption)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'BatchUpdateValuesRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'buvrData'------ * 'buvrValueInputOption'------ * 'buvrIncludeValuesInResponse'------ * 'buvrResponseDateTimeRenderOption'------ * 'buvrResponseValueRenderOption'-batchUpdateValuesRequest- :: BatchUpdateValuesRequest-batchUpdateValuesRequest =- BatchUpdateValuesRequest'- { _buvrData = Nothing- , _buvrValueInputOption = Nothing- , _buvrIncludeValuesInResponse = Nothing- , _buvrResponseDateTimeRenderOption = Nothing- , _buvrResponseValueRenderOption = Nothing- }---- | The new values to apply to the spreadsheet.-buvrData :: Lens' BatchUpdateValuesRequest [ValueRange]-buvrData- = lens _buvrData (\ s a -> s{_buvrData = a}) .- _Default- . _Coerce---- | How the input data should be interpreted.-buvrValueInputOption :: Lens' BatchUpdateValuesRequest (Maybe BatchUpdateValuesRequestValueInputOption)-buvrValueInputOption- = lens _buvrValueInputOption- (\ s a -> s{_buvrValueInputOption = a})---- | Determines if the update response should include the values of the cells--- that were updated. By default, responses do not include the updated--- values. The \`updatedData\` field within each of the--- BatchUpdateValuesResponse.responses will contain the updated values. If--- the range to write was larger than than the range actually written, the--- response will include all values in the requested range (excluding--- trailing empty rows and columns).-buvrIncludeValuesInResponse :: Lens' BatchUpdateValuesRequest (Maybe Bool)-buvrIncludeValuesInResponse- = lens _buvrIncludeValuesInResponse- (\ s a -> s{_buvrIncludeValuesInResponse = a})---- | Determines how dates, times, and durations in the response should be--- rendered. This is ignored if response_value_render_option is--- FORMATTED_VALUE. The default dateTime render option is--- [DateTimeRenderOption.SERIAL_NUMBER].-buvrResponseDateTimeRenderOption :: Lens' BatchUpdateValuesRequest (Maybe BatchUpdateValuesRequestResponseDateTimeRenderOption)-buvrResponseDateTimeRenderOption- = lens _buvrResponseDateTimeRenderOption- (\ s a -> s{_buvrResponseDateTimeRenderOption = a})---- | Determines how values in the response should be rendered. The default--- render option is ValueRenderOption.FORMATTED_VALUE.-buvrResponseValueRenderOption :: Lens' BatchUpdateValuesRequest (Maybe BatchUpdateValuesRequestResponseValueRenderOption)-buvrResponseValueRenderOption- = lens _buvrResponseValueRenderOption- (\ s a -> s{_buvrResponseValueRenderOption = a})--instance FromJSON BatchUpdateValuesRequest where- parseJSON- = withObject "BatchUpdateValuesRequest"- (\ o ->- BatchUpdateValuesRequest' <$>- (o .:? "data" .!= mempty) <*>- (o .:? "valueInputOption")- <*> (o .:? "includeValuesInResponse")- <*> (o .:? "responseDateTimeRenderOption")- <*> (o .:? "responseValueRenderOption"))--instance ToJSON BatchUpdateValuesRequest where- toJSON BatchUpdateValuesRequest'{..}- = object- (catMaybes- [("data" .=) <$> _buvrData,- ("valueInputOption" .=) <$> _buvrValueInputOption,- ("includeValuesInResponse" .=) <$>- _buvrIncludeValuesInResponse,- ("responseDateTimeRenderOption" .=) <$>- _buvrResponseDateTimeRenderOption,- ("responseValueRenderOption" .=) <$>- _buvrResponseValueRenderOption])---- | Adds a chart to a sheet in the spreadsheet.------ /See:/ 'addChartRequest' smart constructor.-newtype AddChartRequest = AddChartRequest'- { _aChart :: Maybe EmbeddedChart- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AddChartRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aChart'-addChartRequest- :: AddChartRequest-addChartRequest =- AddChartRequest'- { _aChart = Nothing- }---- | The chart that should be added to the spreadsheet, including the--- position where it should be placed. The chartId field is optional; if--- one is not set, an id will be randomly generated. (It is an error to--- specify the ID of a chart that already exists.)-aChart :: Lens' AddChartRequest (Maybe EmbeddedChart)-aChart = lens _aChart (\ s a -> s{_aChart = a})--instance FromJSON AddChartRequest where- parseJSON- = withObject "AddChartRequest"- (\ o -> AddChartRequest' <$> (o .:? "chart"))--instance ToJSON AddChartRequest where- toJSON AddChartRequest'{..}- = object (catMaybes [("chart" .=) <$> _aChart])---- | A named range.------ /See:/ 'namedRange' smart constructor.-data NamedRange = NamedRange'- { _nrNamedRangeId :: !(Maybe Text)- , _nrName :: !(Maybe Text)- , _nrRange :: !(Maybe GridRange)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'NamedRange' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'nrNamedRangeId'------ * 'nrName'------ * 'nrRange'-namedRange- :: NamedRange-namedRange =- NamedRange'- { _nrNamedRangeId = Nothing- , _nrName = Nothing- , _nrRange = Nothing- }---- | The ID of the named range.-nrNamedRangeId :: Lens' NamedRange (Maybe Text)-nrNamedRangeId- = lens _nrNamedRangeId- (\ s a -> s{_nrNamedRangeId = a})---- | The name of the named range.-nrName :: Lens' NamedRange (Maybe Text)-nrName = lens _nrName (\ s a -> s{_nrName = a})---- | The range this represents.-nrRange :: Lens' NamedRange (Maybe GridRange)-nrRange = lens _nrRange (\ s a -> s{_nrRange = a})--instance FromJSON NamedRange where- parseJSON- = withObject "NamedRange"- (\ o ->- NamedRange' <$>- (o .:? "namedRangeId") <*> (o .:? "name") <*>- (o .:? "range"))--instance ToJSON NamedRange where- toJSON NamedRange'{..}- = object- (catMaybes- [("namedRangeId" .=) <$> _nrNamedRangeId,- ("name" .=) <$> _nrName, ("range" .=) <$> _nrRange])---- | Merges all cells in the range.------ /See:/ 'mergeCellsRequest' smart constructor.-data MergeCellsRequest = MergeCellsRequest'- { _mcrMergeType :: !(Maybe MergeCellsRequestMergeType)- , _mcrRange :: !(Maybe GridRange)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'MergeCellsRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mcrMergeType'------ * 'mcrRange'-mergeCellsRequest- :: MergeCellsRequest-mergeCellsRequest =- MergeCellsRequest'- { _mcrMergeType = Nothing- , _mcrRange = Nothing- }---- | How the cells should be merged.-mcrMergeType :: Lens' MergeCellsRequest (Maybe MergeCellsRequestMergeType)-mcrMergeType- = lens _mcrMergeType (\ s a -> s{_mcrMergeType = a})---- | The range of cells to merge.-mcrRange :: Lens' MergeCellsRequest (Maybe GridRange)-mcrRange = lens _mcrRange (\ s a -> s{_mcrRange = a})--instance FromJSON MergeCellsRequest where- parseJSON- = withObject "MergeCellsRequest"- (\ o ->- MergeCellsRequest' <$>- (o .:? "mergeType") <*> (o .:? "range"))--instance ToJSON MergeCellsRequest where- toJSON MergeCellsRequest'{..}- = object- (catMaybes- [("mergeType" .=) <$> _mcrMergeType,- ("range" .=) <$> _mcrRange])---- | A border along a cell.------ /See:/ 'bOrder' smart constructor.-data BOrder = BOrder'- { _boStyle :: !(Maybe BOrderStyle)- , _boColor :: !(Maybe Color)- , _boWidth :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'BOrder' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'boStyle'------ * 'boColor'------ * 'boWidth'-bOrder- :: BOrder-bOrder =- BOrder'- { _boStyle = Nothing- , _boColor = Nothing- , _boWidth = Nothing- }---- | The style of the border.-boStyle :: Lens' BOrder (Maybe BOrderStyle)-boStyle = lens _boStyle (\ s a -> s{_boStyle = a})---- | The color of the border.-boColor :: Lens' BOrder (Maybe Color)-boColor = lens _boColor (\ s a -> s{_boColor = a})---- | The width of the border, in pixels. Deprecated; the width is determined--- by the \"style\" field.-boWidth :: Lens' BOrder (Maybe Int32)-boWidth- = lens _boWidth (\ s a -> s{_boWidth = a}) .- mapping _Coerce--instance FromJSON BOrder where- parseJSON- = withObject "BOrder"- (\ o ->- BOrder' <$>- (o .:? "style") <*> (o .:? "color") <*>- (o .:? "width"))--instance ToJSON BOrder where- toJSON BOrder'{..}- = object- (catMaybes- [("style" .=) <$> _boStyle,- ("color" .=) <$> _boColor,- ("width" .=) <$> _boWidth])---- | The kinds of value that a cell in a spreadsheet can have.------ /See:/ 'extendedValue' smart constructor.-data ExtendedValue = ExtendedValue'- { _evBoolValue :: !(Maybe Bool)- , _evNumberValue :: !(Maybe (Textual Double))- , _evErrorValue :: !(Maybe ErrorValue)- , _evStringValue :: !(Maybe Text)- , _evFormulaValue :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ExtendedValue' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'evBoolValue'------ * 'evNumberValue'------ * 'evErrorValue'------ * 'evStringValue'------ * 'evFormulaValue'-extendedValue- :: ExtendedValue-extendedValue =- ExtendedValue'- { _evBoolValue = Nothing- , _evNumberValue = Nothing- , _evErrorValue = Nothing- , _evStringValue = Nothing- , _evFormulaValue = Nothing- }---- | Represents a boolean value.-evBoolValue :: Lens' ExtendedValue (Maybe Bool)-evBoolValue- = lens _evBoolValue (\ s a -> s{_evBoolValue = a})---- | Represents a double value. Note: Dates, Times and DateTimes are--- represented as doubles in \"serial number\" format.-evNumberValue :: Lens' ExtendedValue (Maybe Double)-evNumberValue- = lens _evNumberValue- (\ s a -> s{_evNumberValue = a})- . mapping _Coerce---- | Represents an error. This field is read-only.-evErrorValue :: Lens' ExtendedValue (Maybe ErrorValue)-evErrorValue- = lens _evErrorValue (\ s a -> s{_evErrorValue = a})---- | Represents a string value. Leading single quotes are not included. For--- example, if the user typed \`\'123\` into the UI, this would be--- represented as a \`stringValue\` of \`\"123\"\`.-evStringValue :: Lens' ExtendedValue (Maybe Text)-evStringValue- = lens _evStringValue- (\ s a -> s{_evStringValue = a})---- | Represents a formula.-evFormulaValue :: Lens' ExtendedValue (Maybe Text)-evFormulaValue- = lens _evFormulaValue- (\ s a -> s{_evFormulaValue = a})--instance FromJSON ExtendedValue where- parseJSON- = withObject "ExtendedValue"- (\ o ->- ExtendedValue' <$>- (o .:? "boolValue") <*> (o .:? "numberValue") <*>- (o .:? "errorValue")- <*> (o .:? "stringValue")- <*> (o .:? "formulaValue"))--instance ToJSON ExtendedValue where- toJSON ExtendedValue'{..}- = object- (catMaybes- [("boolValue" .=) <$> _evBoolValue,- ("numberValue" .=) <$> _evNumberValue,- ("errorValue" .=) <$> _evErrorValue,- ("stringValue" .=) <$> _evStringValue,- ("formulaValue" .=) <$> _evFormulaValue])---- | Adds a named range to the spreadsheet.------ /See:/ 'addNamedRangeRequest' smart constructor.-newtype AddNamedRangeRequest = AddNamedRangeRequest'- { _aNamedRange :: Maybe NamedRange- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AddNamedRangeRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aNamedRange'-addNamedRangeRequest- :: AddNamedRangeRequest-addNamedRangeRequest =- AddNamedRangeRequest'- { _aNamedRange = Nothing- }---- | The named range to add. The namedRangeId field is optional; if one is--- not set, an id will be randomly generated. (It is an error to specify--- the ID of a range that already exists.)-aNamedRange :: Lens' AddNamedRangeRequest (Maybe NamedRange)-aNamedRange- = lens _aNamedRange (\ s a -> s{_aNamedRange = a})--instance FromJSON AddNamedRangeRequest where- parseJSON- = withObject "AddNamedRangeRequest"- (\ o ->- AddNamedRangeRequest' <$> (o .:? "namedRange"))--instance ToJSON AddNamedRangeRequest where- toJSON AddNamedRangeRequest'{..}- = object- (catMaybes [("namedRange" .=) <$> _aNamedRange])---- | Criteria for showing\/hiding rows in a pivot table.------ /See:/ 'pivotFilterCriteria' smart constructor.-newtype PivotFilterCriteria = PivotFilterCriteria'- { _pfcVisibleValues :: Maybe [Text]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'PivotFilterCriteria' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pfcVisibleValues'-pivotFilterCriteria- :: PivotFilterCriteria-pivotFilterCriteria =- PivotFilterCriteria'- { _pfcVisibleValues = Nothing- }---- | Values that should be included. Values not listed here are excluded.-pfcVisibleValues :: Lens' PivotFilterCriteria [Text]-pfcVisibleValues- = lens _pfcVisibleValues- (\ s a -> s{_pfcVisibleValues = a})- . _Default- . _Coerce--instance FromJSON PivotFilterCriteria where- parseJSON- = withObject "PivotFilterCriteria"- (\ o ->- PivotFilterCriteria' <$>- (o .:? "visibleValues" .!= mempty))--instance ToJSON PivotFilterCriteria where- toJSON PivotFilterCriteria'{..}- = object- (catMaybes- [("visibleValues" .=) <$> _pfcVisibleValues])---- | A range along a single dimension on a sheet. All indexes are zero-based.--- Indexes are half open: the start index is inclusive and the end index is--- exclusive. Missing indexes indicate the range is unbounded on that side.------ /See:/ 'dimensionRange' smart constructor.-data DimensionRange = DimensionRange'- { _drDimension :: !(Maybe DimensionRangeDimension)- , _drEndIndex :: !(Maybe (Textual Int32))- , _drSheetId :: !(Maybe (Textual Int32))- , _drStartIndex :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DimensionRange' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'drDimension'------ * 'drEndIndex'------ * 'drSheetId'------ * 'drStartIndex'-dimensionRange- :: DimensionRange-dimensionRange =- DimensionRange'- { _drDimension = Nothing- , _drEndIndex = Nothing- , _drSheetId = Nothing- , _drStartIndex = Nothing- }---- | The dimension of the span.-drDimension :: Lens' DimensionRange (Maybe DimensionRangeDimension)-drDimension- = lens _drDimension (\ s a -> s{_drDimension = a})---- | The end (exclusive) of the span, or not set if unbounded.-drEndIndex :: Lens' DimensionRange (Maybe Int32)-drEndIndex- = lens _drEndIndex (\ s a -> s{_drEndIndex = a}) .- mapping _Coerce---- | The sheet this span is on.-drSheetId :: Lens' DimensionRange (Maybe Int32)-drSheetId- = lens _drSheetId (\ s a -> s{_drSheetId = a}) .- mapping _Coerce---- | The start (inclusive) of the span, or not set if unbounded.-drStartIndex :: Lens' DimensionRange (Maybe Int32)-drStartIndex- = lens _drStartIndex (\ s a -> s{_drStartIndex = a})- . mapping _Coerce--instance FromJSON DimensionRange where- parseJSON- = withObject "DimensionRange"- (\ o ->- DimensionRange' <$>- (o .:? "dimension") <*> (o .:? "endIndex") <*>- (o .:? "sheetId")- <*> (o .:? "startIndex"))--instance ToJSON DimensionRange where- toJSON DimensionRange'{..}- = object- (catMaybes- [("dimension" .=) <$> _drDimension,- ("endIndex" .=) <$> _drEndIndex,- ("sheetId" .=) <$> _drSheetId,- ("startIndex" .=) <$> _drStartIndex])---- | Updates properties of a spreadsheet.------ /See:/ 'updateSpreadsheetPropertiesRequest' smart constructor.-data UpdateSpreadsheetPropertiesRequest = UpdateSpreadsheetPropertiesRequest'- { _uFields :: !(Maybe FieldMask)- , _uProperties :: !(Maybe SpreadsheetProperties)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UpdateSpreadsheetPropertiesRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uFields'------ * 'uProperties'-updateSpreadsheetPropertiesRequest- :: UpdateSpreadsheetPropertiesRequest-updateSpreadsheetPropertiesRequest =- UpdateSpreadsheetPropertiesRequest'- { _uFields = Nothing- , _uProperties = Nothing- }---- | The fields that should be updated. At least one field must be specified.--- The root \'properties\' is implied and should not be specified. A single--- \`\"*\"\` can be used as short-hand for listing every field.-uFields :: Lens' UpdateSpreadsheetPropertiesRequest (Maybe FieldMask)-uFields = lens _uFields (\ s a -> s{_uFields = a})---- | The properties to update.-uProperties :: Lens' UpdateSpreadsheetPropertiesRequest (Maybe SpreadsheetProperties)-uProperties- = lens _uProperties (\ s a -> s{_uProperties = a})--instance FromJSON UpdateSpreadsheetPropertiesRequest- where- parseJSON- = withObject "UpdateSpreadsheetPropertiesRequest"- (\ o ->- UpdateSpreadsheetPropertiesRequest' <$>- (o .:? "fields") <*> (o .:? "properties"))--instance ToJSON UpdateSpreadsheetPropertiesRequest- where- toJSON UpdateSpreadsheetPropertiesRequest'{..}- = object- (catMaybes- [("fields" .=) <$> _uFields,- ("properties" .=) <$> _uProperties])---- | The result of adding a new protected range.------ /See:/ 'addProtectedRangeResponse' smart constructor.-newtype AddProtectedRangeResponse = AddProtectedRangeResponse'- { _aProtectedRange :: Maybe ProtectedRange- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AddProtectedRangeResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aProtectedRange'-addProtectedRangeResponse- :: AddProtectedRangeResponse-addProtectedRangeResponse =- AddProtectedRangeResponse'- { _aProtectedRange = Nothing- }---- | The newly added protected range.-aProtectedRange :: Lens' AddProtectedRangeResponse (Maybe ProtectedRange)-aProtectedRange- = lens _aProtectedRange- (\ s a -> s{_aProtectedRange = a})--instance FromJSON AddProtectedRangeResponse where- parseJSON- = withObject "AddProtectedRangeResponse"- (\ o ->- AddProtectedRangeResponse' <$>- (o .:? "protectedRange"))--instance ToJSON AddProtectedRangeResponse where- toJSON AddProtectedRangeResponse'{..}- = object- (catMaybes- [("protectedRange" .=) <$> _aProtectedRange])---- | Appends rows or columns to the end of a sheet.------ /See:/ 'appendDimensionRequest' smart constructor.-data AppendDimensionRequest = AppendDimensionRequest'- { _adrLength :: !(Maybe (Textual Int32))- , _adrDimension :: !(Maybe AppendDimensionRequestDimension)- , _adrSheetId :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AppendDimensionRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'adrLength'------ * 'adrDimension'------ * 'adrSheetId'-appendDimensionRequest- :: AppendDimensionRequest-appendDimensionRequest =- AppendDimensionRequest'- { _adrLength = Nothing- , _adrDimension = Nothing- , _adrSheetId = Nothing- }---- | The number of rows or columns to append.-adrLength :: Lens' AppendDimensionRequest (Maybe Int32)-adrLength- = lens _adrLength (\ s a -> s{_adrLength = a}) .- mapping _Coerce---- | Whether rows or columns should be appended.-adrDimension :: Lens' AppendDimensionRequest (Maybe AppendDimensionRequestDimension)-adrDimension- = lens _adrDimension (\ s a -> s{_adrDimension = a})---- | The sheet to append rows or columns to.-adrSheetId :: Lens' AppendDimensionRequest (Maybe Int32)-adrSheetId- = lens _adrSheetId (\ s a -> s{_adrSheetId = a}) .- mapping _Coerce--instance FromJSON AppendDimensionRequest where- parseJSON- = withObject "AppendDimensionRequest"- (\ o ->- AppendDimensionRequest' <$>- (o .:? "length") <*> (o .:? "dimension") <*>- (o .:? "sheetId"))--instance ToJSON AppendDimensionRequest where- toJSON AppendDimensionRequest'{..}- = object- (catMaybes- [("length" .=) <$> _adrLength,- ("dimension" .=) <$> _adrDimension,- ("sheetId" .=) <$> _adrSheetId])---- | The definition of how a value in a pivot table should be calculated.------ /See:/ 'pivotValue' smart constructor.-data PivotValue = PivotValue'- { _pvSourceColumnOffSet :: !(Maybe (Textual Int32))- , _pvFormula :: !(Maybe Text)- , _pvName :: !(Maybe Text)- , _pvSummarizeFunction :: !(Maybe PivotValueSummarizeFunction)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'PivotValue' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pvSourceColumnOffSet'------ * 'pvFormula'------ * 'pvName'------ * 'pvSummarizeFunction'-pivotValue- :: PivotValue-pivotValue =- PivotValue'- { _pvSourceColumnOffSet = Nothing- , _pvFormula = Nothing- , _pvName = Nothing- , _pvSummarizeFunction = Nothing- }---- | The column offset of the source range that this value reads from. For--- example, if the source was \`C10:E15\`, a \`sourceColumnOffset\` of--- \`0\` means this value refers to column \`C\`, whereas the offset \`1\`--- would refer to column \`D\`.-pvSourceColumnOffSet :: Lens' PivotValue (Maybe Int32)-pvSourceColumnOffSet- = lens _pvSourceColumnOffSet- (\ s a -> s{_pvSourceColumnOffSet = a})- . mapping _Coerce---- | A custom formula to calculate the value. The formula must start with an--- \`=\` character.-pvFormula :: Lens' PivotValue (Maybe Text)-pvFormula- = lens _pvFormula (\ s a -> s{_pvFormula = a})---- | A name to use for the value. This is only used if formula was set.--- Otherwise, the column name is used.-pvName :: Lens' PivotValue (Maybe Text)-pvName = lens _pvName (\ s a -> s{_pvName = a})---- | A function to summarize the value. If formula is set, the only supported--- values are SUM and CUSTOM. If sourceColumnOffset is set, then \`CUSTOM\`--- is not supported.-pvSummarizeFunction :: Lens' PivotValue (Maybe PivotValueSummarizeFunction)-pvSummarizeFunction- = lens _pvSummarizeFunction- (\ s a -> s{_pvSummarizeFunction = a})--instance FromJSON PivotValue where- parseJSON- = withObject "PivotValue"- (\ o ->- PivotValue' <$>- (o .:? "sourceColumnOffset") <*> (o .:? "formula")- <*> (o .:? "name")- <*> (o .:? "summarizeFunction"))--instance ToJSON PivotValue where- toJSON PivotValue'{..}- = object- (catMaybes- [("sourceColumnOffset" .=) <$> _pvSourceColumnOffSet,- ("formula" .=) <$> _pvFormula,- ("name" .=) <$> _pvName,- ("summarizeFunction" .=) <$> _pvSummarizeFunction])---- | Unmerges cells in the given range.------ /See:/ 'unmergeCellsRequest' smart constructor.-newtype UnmergeCellsRequest = UnmergeCellsRequest'- { _ucrRange :: Maybe GridRange- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UnmergeCellsRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ucrRange'-unmergeCellsRequest- :: UnmergeCellsRequest-unmergeCellsRequest =- UnmergeCellsRequest'- { _ucrRange = Nothing- }---- | The range within which all cells should be unmerged. If the range spans--- multiple merges, all will be unmerged. The range must not partially span--- any merge.-ucrRange :: Lens' UnmergeCellsRequest (Maybe GridRange)-ucrRange = lens _ucrRange (\ s a -> s{_ucrRange = a})--instance FromJSON UnmergeCellsRequest where- parseJSON- = withObject "UnmergeCellsRequest"- (\ o -> UnmergeCellsRequest' <$> (o .:? "range"))--instance ToJSON UnmergeCellsRequest where- toJSON UnmergeCellsRequest'{..}- = object (catMaybes [("range" .=) <$> _ucrRange])---- | Deletes the requested sheet.------ /See:/ 'deleteSheetRequest' smart constructor.-newtype DeleteSheetRequest = DeleteSheetRequest'- { _dsrSheetId :: Maybe (Textual Int32)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DeleteSheetRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dsrSheetId'-deleteSheetRequest- :: DeleteSheetRequest-deleteSheetRequest =- DeleteSheetRequest'- { _dsrSheetId = Nothing- }---- | The ID of the sheet to delete.-dsrSheetId :: Lens' DeleteSheetRequest (Maybe Int32)-dsrSheetId- = lens _dsrSheetId (\ s a -> s{_dsrSheetId = a}) .- mapping _Coerce--instance FromJSON DeleteSheetRequest where- parseJSON- = withObject "DeleteSheetRequest"- (\ o -> DeleteSheetRequest' <$> (o .:? "sheetId"))--instance ToJSON DeleteSheetRequest where- toJSON DeleteSheetRequest'{..}- = object (catMaybes [("sheetId" .=) <$> _dsrSheetId])---- | A banded (alternating colors) range in a sheet.------ /See:/ 'bandedRange' smart constructor.-data BandedRange = BandedRange'- { _brBandedRangeId :: !(Maybe (Textual Int32))- , _brRowProperties :: !(Maybe BandingProperties)- , _brRange :: !(Maybe GridRange)- , _brColumnProperties :: !(Maybe BandingProperties)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'BandedRange' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'brBandedRangeId'------ * 'brRowProperties'------ * 'brRange'------ * 'brColumnProperties'-bandedRange- :: BandedRange-bandedRange =- BandedRange'- { _brBandedRangeId = Nothing- , _brRowProperties = Nothing- , _brRange = Nothing- , _brColumnProperties = Nothing- }---- | The id of the banded range.-brBandedRangeId :: Lens' BandedRange (Maybe Int32)-brBandedRangeId- = lens _brBandedRangeId- (\ s a -> s{_brBandedRangeId = a})- . mapping _Coerce---- | Properties for row bands. These properties will be applied on a--- row-by-row basis throughout all the rows in the range. At least one of--- row_properties or column_properties must be specified.-brRowProperties :: Lens' BandedRange (Maybe BandingProperties)-brRowProperties- = lens _brRowProperties- (\ s a -> s{_brRowProperties = a})---- | The range over which these properties are applied.-brRange :: Lens' BandedRange (Maybe GridRange)-brRange = lens _brRange (\ s a -> s{_brRange = a})---- | Properties for column bands. These properties will be applied on a--- column- by-column basis throughout all the columns in the range. At--- least one of row_properties or column_properties must be specified.-brColumnProperties :: Lens' BandedRange (Maybe BandingProperties)-brColumnProperties- = lens _brColumnProperties- (\ s a -> s{_brColumnProperties = a})--instance FromJSON BandedRange where- parseJSON- = withObject "BandedRange"- (\ o ->- BandedRange' <$>- (o .:? "bandedRangeId") <*> (o .:? "rowProperties")- <*> (o .:? "range")- <*> (o .:? "columnProperties"))--instance ToJSON BandedRange where- toJSON BandedRange'{..}- = object- (catMaybes- [("bandedRangeId" .=) <$> _brBandedRangeId,- ("rowProperties" .=) <$> _brRowProperties,- ("range" .=) <$> _brRange,- ("columnProperties" .=) <$> _brColumnProperties])---- | Updates the borders of a range. If a field is not set in the request,--- that means the border remains as-is. For example, with two subsequent--- UpdateBordersRequest: 1. range: A1:A5 \`{ top: RED, bottom: WHITE }\` 2.--- range: A1:A5 \`{ left: BLUE }\` That would result in A1:A5 having a--- borders of \`{ top: RED, bottom: WHITE, left: BLUE }\`. If you want to--- clear a border, explicitly set the style to NONE.------ /See:/ 'updateBOrdersRequest' smart constructor.-data UpdateBOrdersRequest = UpdateBOrdersRequest'- { _uborBottom :: !(Maybe BOrder)- , _uborInnerHorizontal :: !(Maybe BOrder)- , _uborLeft :: !(Maybe BOrder)- , _uborInnerVertical :: !(Maybe BOrder)- , _uborRange :: !(Maybe GridRange)- , _uborRight :: !(Maybe BOrder)- , _uborTop :: !(Maybe BOrder)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UpdateBOrdersRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uborBottom'------ * 'uborInnerHorizontal'------ * 'uborLeft'------ * 'uborInnerVertical'------ * 'uborRange'------ * 'uborRight'------ * 'uborTop'-updateBOrdersRequest- :: UpdateBOrdersRequest-updateBOrdersRequest =- UpdateBOrdersRequest'- { _uborBottom = Nothing- , _uborInnerHorizontal = Nothing- , _uborLeft = Nothing- , _uborInnerVertical = Nothing- , _uborRange = Nothing- , _uborRight = Nothing- , _uborTop = Nothing- }---- | The border to put at the bottom of the range.-uborBottom :: Lens' UpdateBOrdersRequest (Maybe BOrder)-uborBottom- = lens _uborBottom (\ s a -> s{_uborBottom = a})---- | The horizontal border to put within the range.-uborInnerHorizontal :: Lens' UpdateBOrdersRequest (Maybe BOrder)-uborInnerHorizontal- = lens _uborInnerHorizontal- (\ s a -> s{_uborInnerHorizontal = a})---- | The border to put at the left of the range.-uborLeft :: Lens' UpdateBOrdersRequest (Maybe BOrder)-uborLeft = lens _uborLeft (\ s a -> s{_uborLeft = a})---- | The vertical border to put within the range.-uborInnerVertical :: Lens' UpdateBOrdersRequest (Maybe BOrder)-uborInnerVertical- = lens _uborInnerVertical- (\ s a -> s{_uborInnerVertical = a})---- | The range whose borders should be updated.-uborRange :: Lens' UpdateBOrdersRequest (Maybe GridRange)-uborRange- = lens _uborRange (\ s a -> s{_uborRange = a})---- | The border to put at the right of the range.-uborRight :: Lens' UpdateBOrdersRequest (Maybe BOrder)-uborRight- = lens _uborRight (\ s a -> s{_uborRight = a})---- | The border to put at the top of the range.-uborTop :: Lens' UpdateBOrdersRequest (Maybe BOrder)-uborTop = lens _uborTop (\ s a -> s{_uborTop = a})--instance FromJSON UpdateBOrdersRequest where- parseJSON- = withObject "UpdateBOrdersRequest"- (\ o ->- UpdateBOrdersRequest' <$>- (o .:? "bottom") <*> (o .:? "innerHorizontal") <*>- (o .:? "left")- <*> (o .:? "innerVertical")- <*> (o .:? "range")- <*> (o .:? "right")- <*> (o .:? "top"))--instance ToJSON UpdateBOrdersRequest where- toJSON UpdateBOrdersRequest'{..}- = object- (catMaybes- [("bottom" .=) <$> _uborBottom,- ("innerHorizontal" .=) <$> _uborInnerHorizontal,- ("left" .=) <$> _uborLeft,- ("innerVertical" .=) <$> _uborInnerVertical,- ("range" .=) <$> _uborRange,- ("right" .=) <$> _uborRight,- ("top" .=) <$> _uborTop])---- | A chart embedded in a sheet.------ /See:/ 'embeddedChart' smart constructor.-data EmbeddedChart = EmbeddedChart'- { _ecSpec :: !(Maybe ChartSpec)- , _ecPosition :: !(Maybe EmbeddedObjectPosition)- , _ecChartId :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'EmbeddedChart' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ecSpec'------ * 'ecPosition'------ * 'ecChartId'-embeddedChart- :: EmbeddedChart-embeddedChart =- EmbeddedChart'- { _ecSpec = Nothing- , _ecPosition = Nothing- , _ecChartId = Nothing- }---- | The specification of the chart.-ecSpec :: Lens' EmbeddedChart (Maybe ChartSpec)-ecSpec = lens _ecSpec (\ s a -> s{_ecSpec = a})---- | The position of the chart.-ecPosition :: Lens' EmbeddedChart (Maybe EmbeddedObjectPosition)-ecPosition- = lens _ecPosition (\ s a -> s{_ecPosition = a})---- | The ID of the chart.-ecChartId :: Lens' EmbeddedChart (Maybe Int32)-ecChartId- = lens _ecChartId (\ s a -> s{_ecChartId = a}) .- mapping _Coerce--instance FromJSON EmbeddedChart where- parseJSON- = withObject "EmbeddedChart"- (\ o ->- EmbeddedChart' <$>- (o .:? "spec") <*> (o .:? "position") <*>- (o .:? "chartId"))--instance ToJSON EmbeddedChart where- toJSON EmbeddedChart'{..}- = object- (catMaybes- [("spec" .=) <$> _ecSpec,- ("position" .=) <$> _ecPosition,- ("chartId" .=) <$> _ecChartId])---- | Data about each cell in a row.------ /See:/ 'rowData' smart constructor.-newtype RowData = RowData'- { _rdValues :: Maybe [CellData]- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'RowData' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rdValues'-rowData- :: RowData-rowData =- RowData'- { _rdValues = Nothing- }---- | The values in the row, one per column.-rdValues :: Lens' RowData [CellData]-rdValues- = lens _rdValues (\ s a -> s{_rdValues = a}) .- _Default- . _Coerce--instance FromJSON RowData where- parseJSON- = withObject "RowData"- (\ o -> RowData' <$> (o .:? "values" .!= mempty))--instance ToJSON RowData where- toJSON RowData'{..}- = object (catMaybes [("values" .=) <$> _rdValues])---- | The editors of a protected range.------ /See:/ 'editors' smart constructor.-data Editors = Editors'- { _eGroups :: !(Maybe [Text])- , _eUsers :: !(Maybe [Text])- , _eDomainUsersCanEdit :: !(Maybe Bool)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Editors' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'eGroups'------ * 'eUsers'------ * 'eDomainUsersCanEdit'-editors- :: Editors-editors =- Editors'- { _eGroups = Nothing- , _eUsers = Nothing- , _eDomainUsersCanEdit = Nothing- }---- | The email addresses of groups with edit access to the protected range.-eGroups :: Lens' Editors [Text]-eGroups- = lens _eGroups (\ s a -> s{_eGroups = a}) . _Default- . _Coerce---- | The email addresses of users with edit access to the protected range.-eUsers :: Lens' Editors [Text]-eUsers- = lens _eUsers (\ s a -> s{_eUsers = a}) . _Default .- _Coerce---- | True if anyone in the document\'s domain has edit access to the--- protected range. Domain protection is only supported on documents within--- a domain.-eDomainUsersCanEdit :: Lens' Editors (Maybe Bool)-eDomainUsersCanEdit- = lens _eDomainUsersCanEdit- (\ s a -> s{_eDomainUsersCanEdit = a})--instance FromJSON Editors where- parseJSON- = withObject "Editors"- (\ o ->- Editors' <$>- (o .:? "groups" .!= mempty) <*>- (o .:? "users" .!= mempty)- <*> (o .:? "domainUsersCanEdit"))--instance ToJSON Editors where- toJSON Editors'{..}- = object- (catMaybes- [("groups" .=) <$> _eGroups,- ("users" .=) <$> _eUsers,- ("domainUsersCanEdit" .=) <$> _eDomainUsersCanEdit])---- | A pivot table.------ /See:/ 'pivotTable' smart constructor.-data PivotTable = PivotTable'- { _ptValues :: !(Maybe [PivotValue])- , _ptValueLayout :: !(Maybe PivotTableValueLayout)- , _ptRows :: !(Maybe [PivotGroup])- , _ptSource :: !(Maybe GridRange)- , _ptColumns :: !(Maybe [PivotGroup])- , _ptCriteria :: !(Maybe PivotTableCriteria)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'PivotTable' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ptValues'------ * 'ptValueLayout'------ * 'ptRows'------ * 'ptSource'------ * 'ptColumns'------ * 'ptCriteria'-pivotTable- :: PivotTable-pivotTable =- PivotTable'- { _ptValues = Nothing- , _ptValueLayout = Nothing- , _ptRows = Nothing- , _ptSource = Nothing- , _ptColumns = Nothing- , _ptCriteria = Nothing- }---- | A list of values to include in the pivot table.-ptValues :: Lens' PivotTable [PivotValue]-ptValues- = lens _ptValues (\ s a -> s{_ptValues = a}) .- _Default- . _Coerce---- | Whether values should be listed horizontally (as columns) or vertically--- (as rows).-ptValueLayout :: Lens' PivotTable (Maybe PivotTableValueLayout)-ptValueLayout- = lens _ptValueLayout- (\ s a -> s{_ptValueLayout = a})---- | Each row grouping in the pivot table.-ptRows :: Lens' PivotTable [PivotGroup]-ptRows- = lens _ptRows (\ s a -> s{_ptRows = a}) . _Default .- _Coerce---- | The range the pivot table is reading data from.-ptSource :: Lens' PivotTable (Maybe GridRange)-ptSource = lens _ptSource (\ s a -> s{_ptSource = a})---- | Each column grouping in the pivot table.-ptColumns :: Lens' PivotTable [PivotGroup]-ptColumns- = lens _ptColumns (\ s a -> s{_ptColumns = a}) .- _Default- . _Coerce---- | An optional mapping of filters per source column offset. The filters--- will be applied before aggregating data into the pivot table. The map\'s--- key is the column offset of the source range that you want to filter,--- and the value is the criteria for that column. For example, if the--- source was \`C10:E15\`, a key of \`0\` will have the filter for column--- \`C\`, whereas the key \`1\` is for column \`D\`.-ptCriteria :: Lens' PivotTable (Maybe PivotTableCriteria)-ptCriteria- = lens _ptCriteria (\ s a -> s{_ptCriteria = a})--instance FromJSON PivotTable where- parseJSON- = withObject "PivotTable"- (\ o ->- PivotTable' <$>- (o .:? "values" .!= mempty) <*> (o .:? "valueLayout")- <*> (o .:? "rows" .!= mempty)- <*> (o .:? "source")- <*> (o .:? "columns" .!= mempty)- <*> (o .:? "criteria"))--instance ToJSON PivotTable where- toJSON PivotTable'{..}- = object- (catMaybes- [("values" .=) <$> _ptValues,- ("valueLayout" .=) <$> _ptValueLayout,- ("rows" .=) <$> _ptRows, ("source" .=) <$> _ptSource,- ("columns" .=) <$> _ptColumns,- ("criteria" .=) <$> _ptCriteria])---- | The position of an embedded object such as a chart.------ /See:/ 'embeddedObjectPosition' smart constructor.-data EmbeddedObjectPosition = EmbeddedObjectPosition'- { _eopOverlayPosition :: !(Maybe OverlayPosition)- , _eopSheetId :: !(Maybe (Textual Int32))- , _eopNewSheet :: !(Maybe Bool)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'EmbeddedObjectPosition' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'eopOverlayPosition'------ * 'eopSheetId'------ * 'eopNewSheet'-embeddedObjectPosition- :: EmbeddedObjectPosition-embeddedObjectPosition =- EmbeddedObjectPosition'- { _eopOverlayPosition = Nothing- , _eopSheetId = Nothing- , _eopNewSheet = Nothing- }---- | The position at which the object is overlaid on top of a grid.-eopOverlayPosition :: Lens' EmbeddedObjectPosition (Maybe OverlayPosition)-eopOverlayPosition- = lens _eopOverlayPosition- (\ s a -> s{_eopOverlayPosition = a})---- | The sheet this is on. Set only if the embedded object is on its own--- sheet. Must be non-negative.-eopSheetId :: Lens' EmbeddedObjectPosition (Maybe Int32)-eopSheetId- = lens _eopSheetId (\ s a -> s{_eopSheetId = a}) .- mapping _Coerce---- | If true, the embedded object will be put on a new sheet whose ID is--- chosen for you. Used only when writing.-eopNewSheet :: Lens' EmbeddedObjectPosition (Maybe Bool)-eopNewSheet- = lens _eopNewSheet (\ s a -> s{_eopNewSheet = a})--instance FromJSON EmbeddedObjectPosition where- parseJSON- = withObject "EmbeddedObjectPosition"- (\ o ->- EmbeddedObjectPosition' <$>- (o .:? "overlayPosition") <*> (o .:? "sheetId") <*>- (o .:? "newSheet"))--instance ToJSON EmbeddedObjectPosition where- toJSON EmbeddedObjectPosition'{..}- = object- (catMaybes- [("overlayPosition" .=) <$> _eopOverlayPosition,- ("sheetId" .=) <$> _eopSheetId,- ("newSheet" .=) <$> _eopNewSheet])---- | The default filter associated with a sheet.------ /See:/ 'basicFilter' smart constructor.-data BasicFilter = BasicFilter'- { _bfSortSpecs :: !(Maybe [SortSpec])- , _bfRange :: !(Maybe GridRange)- , _bfCriteria :: !(Maybe BasicFilterCriteria)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'BasicFilter' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bfSortSpecs'------ * 'bfRange'------ * 'bfCriteria'-basicFilter- :: BasicFilter-basicFilter =- BasicFilter'- { _bfSortSpecs = Nothing- , _bfRange = Nothing- , _bfCriteria = Nothing- }---- | The sort order per column. Later specifications are used when values are--- equal in the earlier specifications.-bfSortSpecs :: Lens' BasicFilter [SortSpec]-bfSortSpecs- = lens _bfSortSpecs (\ s a -> s{_bfSortSpecs = a}) .- _Default- . _Coerce---- | The range the filter covers.-bfRange :: Lens' BasicFilter (Maybe GridRange)-bfRange = lens _bfRange (\ s a -> s{_bfRange = a})---- | The criteria for showing\/hiding values per column. The map\'s key is--- the column index, and the value is the criteria for that column.-bfCriteria :: Lens' BasicFilter (Maybe BasicFilterCriteria)-bfCriteria- = lens _bfCriteria (\ s a -> s{_bfCriteria = a})--instance FromJSON BasicFilter where- parseJSON- = withObject "BasicFilter"- (\ o ->- BasicFilter' <$>- (o .:? "sortSpecs" .!= mempty) <*> (o .:? "range")- <*> (o .:? "criteria"))--instance ToJSON BasicFilter where- toJSON BasicFilter'{..}- = object- (catMaybes- [("sortSpecs" .=) <$> _bfSortSpecs,- ("range" .=) <$> _bfRange,- ("criteria" .=) <$> _bfCriteria])---- | Splits a column of text into multiple columns, based on a delimiter in--- each cell.------ /See:/ 'textToColumnsRequest' smart constructor.-data TextToColumnsRequest = TextToColumnsRequest'- { _ttcrDelimiterType :: !(Maybe TextToColumnsRequestDelimiterType)- , _ttcrSource :: !(Maybe GridRange)- , _ttcrDelimiter :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TextToColumnsRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ttcrDelimiterType'------ * 'ttcrSource'------ * 'ttcrDelimiter'-textToColumnsRequest- :: TextToColumnsRequest-textToColumnsRequest =- TextToColumnsRequest'- { _ttcrDelimiterType = Nothing- , _ttcrSource = Nothing- , _ttcrDelimiter = Nothing- }---- | The delimiter type to use.-ttcrDelimiterType :: Lens' TextToColumnsRequest (Maybe TextToColumnsRequestDelimiterType)-ttcrDelimiterType- = lens _ttcrDelimiterType- (\ s a -> s{_ttcrDelimiterType = a})---- | The source data range. This must span exactly one column.-ttcrSource :: Lens' TextToColumnsRequest (Maybe GridRange)-ttcrSource- = lens _ttcrSource (\ s a -> s{_ttcrSource = a})---- | The delimiter to use. Used only if delimiterType is CUSTOM.-ttcrDelimiter :: Lens' TextToColumnsRequest (Maybe Text)-ttcrDelimiter- = lens _ttcrDelimiter- (\ s a -> s{_ttcrDelimiter = a})--instance FromJSON TextToColumnsRequest where- parseJSON- = withObject "TextToColumnsRequest"- (\ o ->- TextToColumnsRequest' <$>- (o .:? "delimiterType") <*> (o .:? "source") <*>- (o .:? "delimiter"))--instance ToJSON TextToColumnsRequest where- toJSON TextToColumnsRequest'{..}- = object- (catMaybes- [("delimiterType" .=) <$> _ttcrDelimiterType,- ("source" .=) <$> _ttcrSource,- ("delimiter" .=) <$> _ttcrDelimiter])---- | The request for updating any aspect of a spreadsheet.------ /See:/ 'batchUpdateSpreadsheetRequest' smart constructor.-data BatchUpdateSpreadsheetRequest = BatchUpdateSpreadsheetRequest'- { _busrResponseIncludeGridData :: !(Maybe Bool)- , _busrResponseRanges :: !(Maybe [Text])- , _busrRequests :: !(Maybe [Request'])- , _busrIncludeSpreadsheetInResponse :: !(Maybe Bool)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'BatchUpdateSpreadsheetRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'busrResponseIncludeGridData'------ * 'busrResponseRanges'------ * 'busrRequests'------ * 'busrIncludeSpreadsheetInResponse'-batchUpdateSpreadsheetRequest- :: BatchUpdateSpreadsheetRequest-batchUpdateSpreadsheetRequest =- BatchUpdateSpreadsheetRequest'- { _busrResponseIncludeGridData = Nothing- , _busrResponseRanges = Nothing- , _busrRequests = Nothing- , _busrIncludeSpreadsheetInResponse = Nothing- }---- | True if grid data should be returned. Meaningful only if if--- include_spreadsheet_response is \'true\'. This parameter is ignored if a--- field mask was set in the request.-busrResponseIncludeGridData :: Lens' BatchUpdateSpreadsheetRequest (Maybe Bool)-busrResponseIncludeGridData- = lens _busrResponseIncludeGridData- (\ s a -> s{_busrResponseIncludeGridData = a})---- | Limits the ranges included in the response spreadsheet. Meaningful only--- if include_spreadsheet_response is \'true\'.-busrResponseRanges :: Lens' BatchUpdateSpreadsheetRequest [Text]-busrResponseRanges- = lens _busrResponseRanges- (\ s a -> s{_busrResponseRanges = a})- . _Default- . _Coerce---- | A list of updates to apply to the spreadsheet.-busrRequests :: Lens' BatchUpdateSpreadsheetRequest [Request']-busrRequests- = lens _busrRequests (\ s a -> s{_busrRequests = a})- . _Default- . _Coerce---- | Determines if the update response should include the spreadsheet--- resource.-busrIncludeSpreadsheetInResponse :: Lens' BatchUpdateSpreadsheetRequest (Maybe Bool)-busrIncludeSpreadsheetInResponse- = lens _busrIncludeSpreadsheetInResponse- (\ s a -> s{_busrIncludeSpreadsheetInResponse = a})--instance FromJSON BatchUpdateSpreadsheetRequest where- parseJSON- = withObject "BatchUpdateSpreadsheetRequest"- (\ o ->- BatchUpdateSpreadsheetRequest' <$>- (o .:? "responseIncludeGridData") <*>- (o .:? "responseRanges" .!= mempty)- <*> (o .:? "requests" .!= mempty)- <*> (o .:? "includeSpreadsheetInResponse"))--instance ToJSON BatchUpdateSpreadsheetRequest where- toJSON BatchUpdateSpreadsheetRequest'{..}- = object- (catMaybes- [("responseIncludeGridData" .=) <$>- _busrResponseIncludeGridData,- ("responseRanges" .=) <$> _busrResponseRanges,- ("requests" .=) <$> _busrRequests,- ("includeSpreadsheetInResponse" .=) <$>- _busrIncludeSpreadsheetInResponse])---- | The response when updating a range of values in a spreadsheet.------ /See:/ 'updateValuesResponse' smart constructor.-data UpdateValuesResponse = UpdateValuesResponse'- { _uvrUpdatedCells :: !(Maybe (Textual Int32))- , _uvrSpreadsheetId :: !(Maybe Text)- , _uvrUpdatedRows :: !(Maybe (Textual Int32))- , _uvrUpdatedRange :: !(Maybe Text)- , _uvrUpdatedData :: !(Maybe ValueRange)- , _uvrUpdatedColumns :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UpdateValuesResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uvrUpdatedCells'------ * 'uvrSpreadsheetId'------ * 'uvrUpdatedRows'------ * 'uvrUpdatedRange'------ * 'uvrUpdatedData'------ * 'uvrUpdatedColumns'-updateValuesResponse- :: UpdateValuesResponse-updateValuesResponse =- UpdateValuesResponse'- { _uvrUpdatedCells = Nothing- , _uvrSpreadsheetId = Nothing- , _uvrUpdatedRows = Nothing- , _uvrUpdatedRange = Nothing- , _uvrUpdatedData = Nothing- , _uvrUpdatedColumns = Nothing- }---- | The number of cells updated.-uvrUpdatedCells :: Lens' UpdateValuesResponse (Maybe Int32)-uvrUpdatedCells- = lens _uvrUpdatedCells- (\ s a -> s{_uvrUpdatedCells = a})- . mapping _Coerce---- | The spreadsheet the updates were applied to.-uvrSpreadsheetId :: Lens' UpdateValuesResponse (Maybe Text)-uvrSpreadsheetId- = lens _uvrSpreadsheetId- (\ s a -> s{_uvrSpreadsheetId = a})---- | The number of rows where at least one cell in the row was updated.-uvrUpdatedRows :: Lens' UpdateValuesResponse (Maybe Int32)-uvrUpdatedRows- = lens _uvrUpdatedRows- (\ s a -> s{_uvrUpdatedRows = a})- . mapping _Coerce---- | The range (in A1 notation) that updates were applied to.-uvrUpdatedRange :: Lens' UpdateValuesResponse (Maybe Text)-uvrUpdatedRange- = lens _uvrUpdatedRange- (\ s a -> s{_uvrUpdatedRange = a})---- | The values of the cells after updates were applied. This is only--- included if the request\'s \`includeValuesInResponse\` field was--- \`true\`.-uvrUpdatedData :: Lens' UpdateValuesResponse (Maybe ValueRange)-uvrUpdatedData- = lens _uvrUpdatedData- (\ s a -> s{_uvrUpdatedData = a})---- | The number of columns where at least one cell in the column was updated.-uvrUpdatedColumns :: Lens' UpdateValuesResponse (Maybe Int32)-uvrUpdatedColumns- = lens _uvrUpdatedColumns- (\ s a -> s{_uvrUpdatedColumns = a})- . mapping _Coerce--instance FromJSON UpdateValuesResponse where- parseJSON- = withObject "UpdateValuesResponse"- (\ o ->- UpdateValuesResponse' <$>- (o .:? "updatedCells") <*> (o .:? "spreadsheetId")- <*> (o .:? "updatedRows")- <*> (o .:? "updatedRange")- <*> (o .:? "updatedData")- <*> (o .:? "updatedColumns"))--instance ToJSON UpdateValuesResponse where- toJSON UpdateValuesResponse'{..}- = object- (catMaybes- [("updatedCells" .=) <$> _uvrUpdatedCells,- ("spreadsheetId" .=) <$> _uvrSpreadsheetId,- ("updatedRows" .=) <$> _uvrUpdatedRows,- ("updatedRange" .=) <$> _uvrUpdatedRange,- ("updatedData" .=) <$> _uvrUpdatedData,- ("updatedColumns" .=) <$> _uvrUpdatedColumns])---- | The request to copy a sheet across spreadsheets.------ /See:/ 'copySheetToAnotherSpreadsheetRequest' smart constructor.-newtype CopySheetToAnotherSpreadsheetRequest = CopySheetToAnotherSpreadsheetRequest'- { _cstasrDestinationSpreadsheetId :: Maybe Text- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'CopySheetToAnotherSpreadsheetRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cstasrDestinationSpreadsheetId'-copySheetToAnotherSpreadsheetRequest- :: CopySheetToAnotherSpreadsheetRequest-copySheetToAnotherSpreadsheetRequest =- CopySheetToAnotherSpreadsheetRequest'- { _cstasrDestinationSpreadsheetId = Nothing- }---- | The ID of the spreadsheet to copy the sheet to.-cstasrDestinationSpreadsheetId :: Lens' CopySheetToAnotherSpreadsheetRequest (Maybe Text)-cstasrDestinationSpreadsheetId- = lens _cstasrDestinationSpreadsheetId- (\ s a -> s{_cstasrDestinationSpreadsheetId = a})--instance FromJSON- CopySheetToAnotherSpreadsheetRequest where- parseJSON- = withObject "CopySheetToAnotherSpreadsheetRequest"- (\ o ->- CopySheetToAnotherSpreadsheetRequest' <$>- (o .:? "destinationSpreadsheetId"))--instance ToJSON CopySheetToAnotherSpreadsheetRequest- where- toJSON CopySheetToAnotherSpreadsheetRequest'{..}- = object- (catMaybes- [("destinationSpreadsheetId" .=) <$>- _cstasrDestinationSpreadsheetId])---- | Adds a filter view.------ /See:/ 'addFilterViewRequest' smart constructor.-newtype AddFilterViewRequest = AddFilterViewRequest'- { _aFilter :: Maybe FilterView- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AddFilterViewRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aFilter'-addFilterViewRequest- :: AddFilterViewRequest-addFilterViewRequest =- AddFilterViewRequest'- { _aFilter = Nothing- }---- | The filter to add. The filterViewId field is optional; if one is not--- set, an id will be randomly generated. (It is an error to specify the ID--- of a filter that already exists.)-aFilter :: Lens' AddFilterViewRequest (Maybe FilterView)-aFilter = lens _aFilter (\ s a -> s{_aFilter = a})--instance FromJSON AddFilterViewRequest where- parseJSON- = withObject "AddFilterViewRequest"- (\ o -> AddFilterViewRequest' <$> (o .:? "filter"))--instance ToJSON AddFilterViewRequest where- toJSON AddFilterViewRequest'{..}- = object (catMaybes [("filter" .=) <$> _aFilter])---- | Metadata about a value in a pivot grouping.------ /See:/ 'pivotGroupValueMetadata' smart constructor.-data PivotGroupValueMetadata = PivotGroupValueMetadata'- { _pgvmValue :: !(Maybe ExtendedValue)- , _pgvmCollapsed :: !(Maybe Bool)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'PivotGroupValueMetadata' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pgvmValue'------ * 'pgvmCollapsed'-pivotGroupValueMetadata- :: PivotGroupValueMetadata-pivotGroupValueMetadata =- PivotGroupValueMetadata'- { _pgvmValue = Nothing- , _pgvmCollapsed = Nothing- }---- | The calculated value the metadata corresponds to. (Note that--- formulaValue is not valid, because the values will be calculated.)-pgvmValue :: Lens' PivotGroupValueMetadata (Maybe ExtendedValue)-pgvmValue- = lens _pgvmValue (\ s a -> s{_pgvmValue = a})---- | True if the data corresponding to the value is collapsed.-pgvmCollapsed :: Lens' PivotGroupValueMetadata (Maybe Bool)-pgvmCollapsed- = lens _pgvmCollapsed- (\ s a -> s{_pgvmCollapsed = a})--instance FromJSON PivotGroupValueMetadata where- parseJSON- = withObject "PivotGroupValueMetadata"- (\ o ->- PivotGroupValueMetadata' <$>- (o .:? "value") <*> (o .:? "collapsed"))--instance ToJSON PivotGroupValueMetadata where- toJSON PivotGroupValueMetadata'{..}- = object- (catMaybes- [("value" .=) <$> _pgvmValue,- ("collapsed" .=) <$> _pgvmCollapsed])---- | Updates all cells in a range with new data.------ /See:/ 'updateCellsRequest' smart constructor.-data UpdateCellsRequest = UpdateCellsRequest'- { _updStart :: !(Maybe GridCoordinate)- , _updRows :: !(Maybe [RowData])- , _updRange :: !(Maybe GridRange)- , _updFields :: !(Maybe FieldMask)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UpdateCellsRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'updStart'------ * 'updRows'------ * 'updRange'------ * 'updFields'-updateCellsRequest- :: UpdateCellsRequest-updateCellsRequest =- UpdateCellsRequest'- { _updStart = Nothing- , _updRows = Nothing- , _updRange = Nothing- , _updFields = Nothing- }---- | The coordinate to start writing data at. Any number of rows and columns--- (including a different number of columns per row) may be written.-updStart :: Lens' UpdateCellsRequest (Maybe GridCoordinate)-updStart = lens _updStart (\ s a -> s{_updStart = a})---- | The data to write.-updRows :: Lens' UpdateCellsRequest [RowData]-updRows- = lens _updRows (\ s a -> s{_updRows = a}) . _Default- . _Coerce---- | The range to write data to. If the data in rows does not cover the--- entire requested range, the fields matching those set in fields will be--- cleared.-updRange :: Lens' UpdateCellsRequest (Maybe GridRange)-updRange = lens _updRange (\ s a -> s{_updRange = a})---- | The fields of CellData that should be updated. At least one field must--- be specified. The root is the CellData; \'row.values.\' should not be--- specified. A single \`\"*\"\` can be used as short-hand for listing--- every field.-updFields :: Lens' UpdateCellsRequest (Maybe FieldMask)-updFields- = lens _updFields (\ s a -> s{_updFields = a})--instance FromJSON UpdateCellsRequest where- parseJSON- = withObject "UpdateCellsRequest"- (\ o ->- UpdateCellsRequest' <$>- (o .:? "start") <*> (o .:? "rows" .!= mempty) <*>- (o .:? "range")- <*> (o .:? "fields"))--instance ToJSON UpdateCellsRequest where- toJSON UpdateCellsRequest'{..}- = object- (catMaybes- [("start" .=) <$> _updStart,- ("rows" .=) <$> _updRows, ("range" .=) <$> _updRange,- ("fields" .=) <$> _updFields])---- | The format of a cell.------ /See:/ 'cellFormat' smart constructor.-data CellFormat = CellFormat'- { _cfBOrders :: !(Maybe BOrders)- , _cfVerticalAlignment :: !(Maybe CellFormatVerticalAlignment)- , _cfBackgRoundColor :: !(Maybe Color)- , _cfHyperlinkDisplayType :: !(Maybe CellFormatHyperlinkDisplayType)- , _cfWrapStrategy :: !(Maybe CellFormatWrapStrategy)- , _cfNumberFormat :: !(Maybe NumberFormat)- , _cfTextDirection :: !(Maybe CellFormatTextDirection)- , _cfTextFormat :: !(Maybe TextFormat)- , _cfHorizontalAlignment :: !(Maybe CellFormatHorizontalAlignment)- , _cfPadding :: !(Maybe Padding)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'CellFormat' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cfBOrders'------ * 'cfVerticalAlignment'------ * 'cfBackgRoundColor'------ * 'cfHyperlinkDisplayType'------ * 'cfWrapStrategy'------ * 'cfNumberFormat'------ * 'cfTextDirection'------ * 'cfTextFormat'------ * 'cfHorizontalAlignment'------ * 'cfPadding'-cellFormat- :: CellFormat-cellFormat =- CellFormat'- { _cfBOrders = Nothing- , _cfVerticalAlignment = Nothing- , _cfBackgRoundColor = Nothing- , _cfHyperlinkDisplayType = Nothing- , _cfWrapStrategy = Nothing- , _cfNumberFormat = Nothing- , _cfTextDirection = Nothing- , _cfTextFormat = Nothing- , _cfHorizontalAlignment = Nothing- , _cfPadding = Nothing- }---- | The borders of the cell.-cfBOrders :: Lens' CellFormat (Maybe BOrders)-cfBOrders- = lens _cfBOrders (\ s a -> s{_cfBOrders = a})---- | The vertical alignment of the value in the cell.-cfVerticalAlignment :: Lens' CellFormat (Maybe CellFormatVerticalAlignment)-cfVerticalAlignment- = lens _cfVerticalAlignment- (\ s a -> s{_cfVerticalAlignment = a})---- | The background color of the cell.-cfBackgRoundColor :: Lens' CellFormat (Maybe Color)-cfBackgRoundColor- = lens _cfBackgRoundColor- (\ s a -> s{_cfBackgRoundColor = a})---- | How a hyperlink, if it exists, should be displayed in the cell.-cfHyperlinkDisplayType :: Lens' CellFormat (Maybe CellFormatHyperlinkDisplayType)-cfHyperlinkDisplayType- = lens _cfHyperlinkDisplayType- (\ s a -> s{_cfHyperlinkDisplayType = a})---- | The wrap strategy for the value in the cell.-cfWrapStrategy :: Lens' CellFormat (Maybe CellFormatWrapStrategy)-cfWrapStrategy- = lens _cfWrapStrategy- (\ s a -> s{_cfWrapStrategy = a})---- | A format describing how number values should be represented to the user.-cfNumberFormat :: Lens' CellFormat (Maybe NumberFormat)-cfNumberFormat- = lens _cfNumberFormat- (\ s a -> s{_cfNumberFormat = a})---- | The direction of the text in the cell.-cfTextDirection :: Lens' CellFormat (Maybe CellFormatTextDirection)-cfTextDirection- = lens _cfTextDirection- (\ s a -> s{_cfTextDirection = a})---- | The format of the text in the cell (unless overridden by a format run).-cfTextFormat :: Lens' CellFormat (Maybe TextFormat)-cfTextFormat- = lens _cfTextFormat (\ s a -> s{_cfTextFormat = a})---- | The horizontal alignment of the value in the cell.-cfHorizontalAlignment :: Lens' CellFormat (Maybe CellFormatHorizontalAlignment)-cfHorizontalAlignment- = lens _cfHorizontalAlignment- (\ s a -> s{_cfHorizontalAlignment = a})---- | The padding of the cell.-cfPadding :: Lens' CellFormat (Maybe Padding)-cfPadding- = lens _cfPadding (\ s a -> s{_cfPadding = a})--instance FromJSON CellFormat where- parseJSON- = withObject "CellFormat"- (\ o ->- CellFormat' <$>- (o .:? "borders") <*> (o .:? "verticalAlignment") <*>- (o .:? "backgroundColor")- <*> (o .:? "hyperlinkDisplayType")- <*> (o .:? "wrapStrategy")- <*> (o .:? "numberFormat")- <*> (o .:? "textDirection")- <*> (o .:? "textFormat")- <*> (o .:? "horizontalAlignment")- <*> (o .:? "padding"))--instance ToJSON CellFormat where- toJSON CellFormat'{..}- = object- (catMaybes- [("borders" .=) <$> _cfBOrders,- ("verticalAlignment" .=) <$> _cfVerticalAlignment,- ("backgroundColor" .=) <$> _cfBackgRoundColor,- ("hyperlinkDisplayType" .=) <$>- _cfHyperlinkDisplayType,- ("wrapStrategy" .=) <$> _cfWrapStrategy,- ("numberFormat" .=) <$> _cfNumberFormat,- ("textDirection" .=) <$> _cfTextDirection,- ("textFormat" .=) <$> _cfTextFormat,- ("horizontalAlignment" .=) <$>- _cfHorizontalAlignment,- ("padding" .=) <$> _cfPadding])---- | Deletes the protected range with the given ID.------ /See:/ 'deleteProtectedRangeRequest' smart constructor.-newtype DeleteProtectedRangeRequest = DeleteProtectedRangeRequest'- { _dprrProtectedRangeId :: Maybe (Textual Int32)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DeleteProtectedRangeRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dprrProtectedRangeId'-deleteProtectedRangeRequest- :: DeleteProtectedRangeRequest-deleteProtectedRangeRequest =- DeleteProtectedRangeRequest'- { _dprrProtectedRangeId = Nothing- }---- | The ID of the protected range to delete.-dprrProtectedRangeId :: Lens' DeleteProtectedRangeRequest (Maybe Int32)-dprrProtectedRangeId- = lens _dprrProtectedRangeId- (\ s a -> s{_dprrProtectedRangeId = a})- . mapping _Coerce--instance FromJSON DeleteProtectedRangeRequest where- parseJSON- = withObject "DeleteProtectedRangeRequest"- (\ o ->- DeleteProtectedRangeRequest' <$>- (o .:? "protectedRangeId"))--instance ToJSON DeleteProtectedRangeRequest where- toJSON DeleteProtectedRangeRequest'{..}- = object- (catMaybes- [("protectedRangeId" .=) <$> _dprrProtectedRangeId])---- | Updates an existing protected range with the specified protectedRangeId.------ /See:/ 'updateProtectedRangeRequest' smart constructor.-data UpdateProtectedRangeRequest = UpdateProtectedRangeRequest'- { _uprrProtectedRange :: !(Maybe ProtectedRange)- , _uprrFields :: !(Maybe FieldMask)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UpdateProtectedRangeRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uprrProtectedRange'------ * 'uprrFields'-updateProtectedRangeRequest- :: UpdateProtectedRangeRequest-updateProtectedRangeRequest =- UpdateProtectedRangeRequest'- { _uprrProtectedRange = Nothing- , _uprrFields = Nothing- }---- | The protected range to update with the new properties.-uprrProtectedRange :: Lens' UpdateProtectedRangeRequest (Maybe ProtectedRange)-uprrProtectedRange- = lens _uprrProtectedRange- (\ s a -> s{_uprrProtectedRange = a})---- | The fields that should be updated. At least one field must be specified.--- The root \`protectedRange\` is implied and should not be specified. A--- single \`\"*\"\` can be used as short-hand for listing every field.-uprrFields :: Lens' UpdateProtectedRangeRequest (Maybe FieldMask)-uprrFields- = lens _uprrFields (\ s a -> s{_uprrFields = a})--instance FromJSON UpdateProtectedRangeRequest where- parseJSON- = withObject "UpdateProtectedRangeRequest"- (\ o ->- UpdateProtectedRangeRequest' <$>- (o .:? "protectedRange") <*> (o .:? "fields"))--instance ToJSON UpdateProtectedRangeRequest where- toJSON UpdateProtectedRangeRequest'{..}- = object- (catMaybes- [("protectedRange" .=) <$> _uprrProtectedRange,- ("fields" .=) <$> _uprrFields])---- | The result of adding a sheet.------ /See:/ 'addSheetResponse' smart constructor.-newtype AddSheetResponse = AddSheetResponse'- { _aProperties :: Maybe SheetProperties- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AddSheetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aProperties'-addSheetResponse- :: AddSheetResponse-addSheetResponse =- AddSheetResponse'- { _aProperties = Nothing- }---- | The properties of the newly added sheet.-aProperties :: Lens' AddSheetResponse (Maybe SheetProperties)-aProperties- = lens _aProperties (\ s a -> s{_aProperties = a})--instance FromJSON AddSheetResponse where- parseJSON- = withObject "AddSheetResponse"- (\ o -> AddSheetResponse' <$> (o .:? "properties"))--instance ToJSON AddSheetResponse where- toJSON AddSheetResponse'{..}- = object- (catMaybes [("properties" .=) <$> _aProperties])---- | A protected range.------ /See:/ 'protectedRange' smart constructor.-data ProtectedRange = ProtectedRange'- { _prProtectedRangeId :: !(Maybe (Textual Int32))- , _prWarningOnly :: !(Maybe Bool)- , _prNamedRangeId :: !(Maybe Text)- , _prRange :: !(Maybe GridRange)- , _prEditors :: !(Maybe Editors)- , _prUnprotectedRanges :: !(Maybe [GridRange])- , _prRequestingUserCanEdit :: !(Maybe Bool)- , _prDescription :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ProtectedRange' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'prProtectedRangeId'------ * 'prWarningOnly'------ * 'prNamedRangeId'------ * 'prRange'------ * 'prEditors'------ * 'prUnprotectedRanges'------ * 'prRequestingUserCanEdit'------ * 'prDescription'-protectedRange- :: ProtectedRange-protectedRange =- ProtectedRange'- { _prProtectedRangeId = Nothing- , _prWarningOnly = Nothing- , _prNamedRangeId = Nothing- , _prRange = Nothing- , _prEditors = Nothing- , _prUnprotectedRanges = Nothing- , _prRequestingUserCanEdit = Nothing- , _prDescription = Nothing- }---- | The ID of the protected range. This field is read-only.-prProtectedRangeId :: Lens' ProtectedRange (Maybe Int32)-prProtectedRangeId- = lens _prProtectedRangeId- (\ s a -> s{_prProtectedRangeId = a})- . mapping _Coerce---- | True if this protected range will show a warning when editing.--- Warning-based protection means that every user can edit data in the--- protected range, except editing will prompt a warning asking the user to--- confirm the edit. When writing: if this field is true, then editors is--- ignored. Additionally, if this field is changed from true to false and--- the \`editors\` field is not set (nor included in the field mask), then--- the editors will be set to all the editors in the document.-prWarningOnly :: Lens' ProtectedRange (Maybe Bool)-prWarningOnly- = lens _prWarningOnly- (\ s a -> s{_prWarningOnly = a})---- | The named range this protected range is backed by, if any. When writing,--- only one of range or named_range_id may be set.-prNamedRangeId :: Lens' ProtectedRange (Maybe Text)-prNamedRangeId- = lens _prNamedRangeId- (\ s a -> s{_prNamedRangeId = a})---- | The range that is being protected. The range may be fully unbounded, in--- which case this is considered a protected sheet. When writing, only one--- of range or named_range_id may be set.-prRange :: Lens' ProtectedRange (Maybe GridRange)-prRange = lens _prRange (\ s a -> s{_prRange = a})---- | The users and groups with edit access to the protected range. This field--- is only visible to users with edit access to the protected range and the--- document. Editors are not supported with warning_only protection.-prEditors :: Lens' ProtectedRange (Maybe Editors)-prEditors- = lens _prEditors (\ s a -> s{_prEditors = a})---- | The list of unprotected ranges within a protected sheet. Unprotected--- ranges are only supported on protected sheets.-prUnprotectedRanges :: Lens' ProtectedRange [GridRange]-prUnprotectedRanges- = lens _prUnprotectedRanges- (\ s a -> s{_prUnprotectedRanges = a})- . _Default- . _Coerce---- | True if the user who requested this protected range can edit the--- protected area. This field is read-only.-prRequestingUserCanEdit :: Lens' ProtectedRange (Maybe Bool)-prRequestingUserCanEdit- = lens _prRequestingUserCanEdit- (\ s a -> s{_prRequestingUserCanEdit = a})---- | The description of this protected range.-prDescription :: Lens' ProtectedRange (Maybe Text)-prDescription- = lens _prDescription- (\ s a -> s{_prDescription = a})--instance FromJSON ProtectedRange where- parseJSON- = withObject "ProtectedRange"- (\ o ->- ProtectedRange' <$>- (o .:? "protectedRangeId") <*> (o .:? "warningOnly")- <*> (o .:? "namedRangeId")- <*> (o .:? "range")- <*> (o .:? "editors")- <*> (o .:? "unprotectedRanges" .!= mempty)- <*> (o .:? "requestingUserCanEdit")- <*> (o .:? "description"))--instance ToJSON ProtectedRange where- toJSON ProtectedRange'{..}- = object- (catMaybes- [("protectedRangeId" .=) <$> _prProtectedRangeId,- ("warningOnly" .=) <$> _prWarningOnly,- ("namedRangeId" .=) <$> _prNamedRangeId,- ("range" .=) <$> _prRange,- ("editors" .=) <$> _prEditors,- ("unprotectedRanges" .=) <$> _prUnprotectedRanges,- ("requestingUserCanEdit" .=) <$>- _prRequestingUserCanEdit,- ("description" .=) <$> _prDescription])---- | An axis of the chart. A chart may not have more than one axis per axis--- position.------ /See:/ 'basicChartAxis' smart constructor.-data BasicChartAxis = BasicChartAxis'- { _bcaFormat :: !(Maybe TextFormat)- , _bcaTitle :: !(Maybe Text)- , _bcaPosition :: !(Maybe BasicChartAxisPosition)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'BasicChartAxis' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bcaFormat'------ * 'bcaTitle'------ * 'bcaPosition'-basicChartAxis- :: BasicChartAxis-basicChartAxis =- BasicChartAxis'- { _bcaFormat = Nothing- , _bcaTitle = Nothing- , _bcaPosition = Nothing- }---- | The format of the title. Only valid if the axis is not associated with--- the domain.-bcaFormat :: Lens' BasicChartAxis (Maybe TextFormat)-bcaFormat- = lens _bcaFormat (\ s a -> s{_bcaFormat = a})---- | The title of this axis. If set, this overrides any title inferred from--- headers of the data.-bcaTitle :: Lens' BasicChartAxis (Maybe Text)-bcaTitle = lens _bcaTitle (\ s a -> s{_bcaTitle = a})---- | The position of this axis.-bcaPosition :: Lens' BasicChartAxis (Maybe BasicChartAxisPosition)-bcaPosition- = lens _bcaPosition (\ s a -> s{_bcaPosition = a})--instance FromJSON BasicChartAxis where- parseJSON- = withObject "BasicChartAxis"- (\ o ->- BasicChartAxis' <$>- (o .:? "format") <*> (o .:? "title") <*>- (o .:? "position"))--instance ToJSON BasicChartAxis where- toJSON BasicChartAxis'{..}- = object- (catMaybes- [("format" .=) <$> _bcaFormat,- ("title" .=) <$> _bcaTitle,- ("position" .=) <$> _bcaPosition])---- | Data in the grid, as well as metadata about the dimensions.------ /See:/ 'gridData' smart constructor.-data GridData = GridData'- { _gdRowMetadata :: !(Maybe [DimensionProperties])- , _gdStartRow :: !(Maybe (Textual Int32))- , _gdRowData :: !(Maybe [RowData])- , _gdColumnMetadata :: !(Maybe [DimensionProperties])- , _gdStartColumn :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'GridData' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gdRowMetadata'------ * 'gdStartRow'------ * 'gdRowData'------ * 'gdColumnMetadata'------ * 'gdStartColumn'-gridData- :: GridData-gridData =- GridData'- { _gdRowMetadata = Nothing- , _gdStartRow = Nothing- , _gdRowData = Nothing- , _gdColumnMetadata = Nothing- , _gdStartColumn = Nothing- }---- | Metadata about the requested rows in the grid, starting with the row in--- start_row.-gdRowMetadata :: Lens' GridData [DimensionProperties]-gdRowMetadata- = lens _gdRowMetadata- (\ s a -> s{_gdRowMetadata = a})- . _Default- . _Coerce---- | The first row this GridData refers to, zero-based.-gdStartRow :: Lens' GridData (Maybe Int32)-gdStartRow- = lens _gdStartRow (\ s a -> s{_gdStartRow = a}) .- mapping _Coerce---- | The data in the grid, one entry per row, starting with the row in--- startRow. The values in RowData will correspond to columns starting at--- start_column.-gdRowData :: Lens' GridData [RowData]-gdRowData- = lens _gdRowData (\ s a -> s{_gdRowData = a}) .- _Default- . _Coerce---- | Metadata about the requested columns in the grid, starting with the--- column in start_column.-gdColumnMetadata :: Lens' GridData [DimensionProperties]-gdColumnMetadata- = lens _gdColumnMetadata- (\ s a -> s{_gdColumnMetadata = a})- . _Default- . _Coerce---- | The first column this GridData refers to, zero-based.-gdStartColumn :: Lens' GridData (Maybe Int32)-gdStartColumn- = lens _gdStartColumn- (\ s a -> s{_gdStartColumn = a})- . mapping _Coerce--instance FromJSON GridData where- parseJSON- = withObject "GridData"- (\ o ->- GridData' <$>- (o .:? "rowMetadata" .!= mempty) <*>- (o .:? "startRow")- <*> (o .:? "rowData" .!= mempty)- <*> (o .:? "columnMetadata" .!= mempty)- <*> (o .:? "startColumn"))--instance ToJSON GridData where- toJSON GridData'{..}- = object- (catMaybes- [("rowMetadata" .=) <$> _gdRowMetadata,- ("startRow" .=) <$> _gdStartRow,- ("rowData" .=) <$> _gdRowData,- ("columnMetadata" .=) <$> _gdColumnMetadata,- ("startColumn" .=) <$> _gdStartColumn])---- | The number format of a cell.------ /See:/ 'numberFormat' smart constructor.-data NumberFormat = NumberFormat'- { _nfPattern :: !(Maybe Text)- , _nfType :: !(Maybe NumberFormatType)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'NumberFormat' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'nfPattern'------ * 'nfType'-numberFormat- :: NumberFormat-numberFormat =- NumberFormat'- { _nfPattern = Nothing- , _nfType = Nothing- }---- | Pattern string used for formatting. If not set, a default pattern based--- on the user\'s locale will be used if necessary for the given type. See--- the [Date and Number Formats guide](\/sheets\/guides\/formats) for more--- information about the supported patterns.-nfPattern :: Lens' NumberFormat (Maybe Text)-nfPattern- = lens _nfPattern (\ s a -> s{_nfPattern = a})---- | The type of the number format. When writing, this field must be set.-nfType :: Lens' NumberFormat (Maybe NumberFormatType)-nfType = lens _nfType (\ s a -> s{_nfType = a})--instance FromJSON NumberFormat where- parseJSON- = withObject "NumberFormat"- (\ o ->- NumberFormat' <$>- (o .:? "pattern") <*> (o .:? "type"))--instance ToJSON NumberFormat where- toJSON NumberFormat'{..}- = object- (catMaybes- [("pattern" .=) <$> _nfPattern,- ("type" .=) <$> _nfType])---- | The reply for batch updating a spreadsheet.------ /See:/ 'batchUpdateSpreadsheetResponse' smart constructor.-data BatchUpdateSpreadsheetResponse = BatchUpdateSpreadsheetResponse'- { _busrSpreadsheetId :: !(Maybe Text)- , _busrReplies :: !(Maybe [Response])- , _busrUpdatedSpreadsheet :: !(Maybe Spreadsheet)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'BatchUpdateSpreadsheetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'busrSpreadsheetId'------ * 'busrReplies'------ * 'busrUpdatedSpreadsheet'-batchUpdateSpreadsheetResponse- :: BatchUpdateSpreadsheetResponse-batchUpdateSpreadsheetResponse =- BatchUpdateSpreadsheetResponse'- { _busrSpreadsheetId = Nothing- , _busrReplies = Nothing- , _busrUpdatedSpreadsheet = Nothing- }---- | The spreadsheet the updates were applied to.-busrSpreadsheetId :: Lens' BatchUpdateSpreadsheetResponse (Maybe Text)-busrSpreadsheetId- = lens _busrSpreadsheetId- (\ s a -> s{_busrSpreadsheetId = a})---- | The reply of the updates. This maps 1:1 with the updates, although--- replies to some requests may be empty.-busrReplies :: Lens' BatchUpdateSpreadsheetResponse [Response]-busrReplies- = lens _busrReplies (\ s a -> s{_busrReplies = a}) .- _Default- . _Coerce---- | The spreadsheet after updates were applied. This is only set if--- [BatchUpdateSpreadsheetRequest.include_spreadsheet_in_response] is--- \`true\`.-busrUpdatedSpreadsheet :: Lens' BatchUpdateSpreadsheetResponse (Maybe Spreadsheet)-busrUpdatedSpreadsheet- = lens _busrUpdatedSpreadsheet- (\ s a -> s{_busrUpdatedSpreadsheet = a})--instance FromJSON BatchUpdateSpreadsheetResponse- where- parseJSON- = withObject "BatchUpdateSpreadsheetResponse"- (\ o ->- BatchUpdateSpreadsheetResponse' <$>- (o .:? "spreadsheetId") <*>- (o .:? "replies" .!= mempty)- <*> (o .:? "updatedSpreadsheet"))--instance ToJSON BatchUpdateSpreadsheetResponse where- toJSON BatchUpdateSpreadsheetResponse'{..}- = object- (catMaybes- [("spreadsheetId" .=) <$> _busrSpreadsheetId,- ("replies" .=) <$> _busrReplies,- ("updatedSpreadsheet" .=) <$>- _busrUpdatedSpreadsheet])---- | Sets a data validation rule to every cell in the range. To clear--- validation in a range, call this with no rule specified.------ /See:/ 'setDataValidationRequest' smart constructor.-data SetDataValidationRequest = SetDataValidationRequest'- { _sdvrRule :: !(Maybe DataValidationRule)- , _sdvrRange :: !(Maybe GridRange)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'SetDataValidationRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sdvrRule'------ * 'sdvrRange'-setDataValidationRequest- :: SetDataValidationRequest-setDataValidationRequest =- SetDataValidationRequest'- { _sdvrRule = Nothing- , _sdvrRange = Nothing- }---- | The data validation rule to set on each cell in the range, or empty to--- clear the data validation in the range.-sdvrRule :: Lens' SetDataValidationRequest (Maybe DataValidationRule)-sdvrRule = lens _sdvrRule (\ s a -> s{_sdvrRule = a})---- | The range the data validation rule should apply to.-sdvrRange :: Lens' SetDataValidationRequest (Maybe GridRange)-sdvrRange- = lens _sdvrRange (\ s a -> s{_sdvrRange = a})--instance FromJSON SetDataValidationRequest where- parseJSON- = withObject "SetDataValidationRequest"- (\ o ->- SetDataValidationRequest' <$>- (o .:? "rule") <*> (o .:? "range"))--instance ToJSON SetDataValidationRequest where- toJSON SetDataValidationRequest'{..}- = object- (catMaybes- [("rule" .=) <$> _sdvrRule,- ("range" .=) <$> _sdvrRange])---- | Properties referring a single dimension (either row or column). If both--- BandedRange.row_properties and BandedRange.column_properties are set,--- the fill colors are applied to cells according to the following rules: *--- header_color and footer_color take priority over band colors. *--- first_band_color takes priority over second_band_color. * row_properties--- takes priority over column_properties. For example, the first row color--- takes priority over the first column color, but the first column color--- takes priority over the second row color. Similarly, the row header--- takes priority over the column header in the top left cell, but the--- column header takes priority over the first row color if the row header--- is not set.------ /See:/ 'bandingProperties' smart constructor.-data BandingProperties = BandingProperties'- { _bpSecondBandColor :: !(Maybe Color)- , _bpHeaderColor :: !(Maybe Color)- , _bpFooterColor :: !(Maybe Color)- , _bpFirstBandColor :: !(Maybe Color)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'BandingProperties' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bpSecondBandColor'------ * 'bpHeaderColor'------ * 'bpFooterColor'------ * 'bpFirstBandColor'-bandingProperties- :: BandingProperties-bandingProperties =- BandingProperties'- { _bpSecondBandColor = Nothing- , _bpHeaderColor = Nothing- , _bpFooterColor = Nothing- , _bpFirstBandColor = Nothing- }---- | The second color that is alternating. (Required)-bpSecondBandColor :: Lens' BandingProperties (Maybe Color)-bpSecondBandColor- = lens _bpSecondBandColor- (\ s a -> s{_bpSecondBandColor = a})---- | The color of the first row or column. If this field is set, the first--- row or column will be filled with this color and the colors will--- alternate between first_band_color and second_band_color starting from--- the second row or column. Otherwise, the first row or column will be--- filled with first_band_color and the colors will proceed to alternate as--- they normally would.-bpHeaderColor :: Lens' BandingProperties (Maybe Color)-bpHeaderColor- = lens _bpHeaderColor- (\ s a -> s{_bpHeaderColor = a})---- | The color of the last row or column. If this field is not set, the last--- row or column will be filled with either first_band_color or--- second_band_color, depending on the color of the previous row or column.-bpFooterColor :: Lens' BandingProperties (Maybe Color)-bpFooterColor- = lens _bpFooterColor- (\ s a -> s{_bpFooterColor = a})---- | The first color that is alternating. (Required)-bpFirstBandColor :: Lens' BandingProperties (Maybe Color)-bpFirstBandColor- = lens _bpFirstBandColor- (\ s a -> s{_bpFirstBandColor = a})--instance FromJSON BandingProperties where- parseJSON- = withObject "BandingProperties"- (\ o ->- BandingProperties' <$>- (o .:? "secondBandColor") <*> (o .:? "headerColor")- <*> (o .:? "footerColor")- <*> (o .:? "firstBandColor"))--instance ToJSON BandingProperties where- toJSON BandingProperties'{..}- = object- (catMaybes- [("secondBandColor" .=) <$> _bpSecondBandColor,- ("headerColor" .=) <$> _bpHeaderColor,- ("footerColor" .=) <$> _bpFooterColor,- ("firstBandColor" .=) <$> _bpFirstBandColor])---- | Duplicates a particular filter view.------ /See:/ 'duplicateFilterViewRequest' smart constructor.-newtype DuplicateFilterViewRequest = DuplicateFilterViewRequest'- { _dFilterId :: Maybe (Textual Int32)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DuplicateFilterViewRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dFilterId'-duplicateFilterViewRequest- :: DuplicateFilterViewRequest-duplicateFilterViewRequest =- DuplicateFilterViewRequest'- { _dFilterId = Nothing- }---- | The ID of the filter being duplicated.-dFilterId :: Lens' DuplicateFilterViewRequest (Maybe Int32)-dFilterId- = lens _dFilterId (\ s a -> s{_dFilterId = a}) .- mapping _Coerce--instance FromJSON DuplicateFilterViewRequest where- parseJSON- = withObject "DuplicateFilterViewRequest"- (\ o ->- DuplicateFilterViewRequest' <$> (o .:? "filterId"))--instance ToJSON DuplicateFilterViewRequest where- toJSON DuplicateFilterViewRequest'{..}- = object (catMaybes [("filterId" .=) <$> _dFilterId])---- | A single grouping (either row or column) in a pivot table.------ /See:/ 'pivotGroup' smart constructor.-data PivotGroup = PivotGroup'- { _pgValueMetadata :: !(Maybe [PivotGroupValueMetadata])- , _pgSourceColumnOffSet :: !(Maybe (Textual Int32))- , _pgSortOrder :: !(Maybe PivotGroupSortOrder)- , _pgShowTotals :: !(Maybe Bool)- , _pgValueBucket :: !(Maybe PivotGroupSortValueBucket)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'PivotGroup' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pgValueMetadata'------ * 'pgSourceColumnOffSet'------ * 'pgSortOrder'------ * 'pgShowTotals'------ * 'pgValueBucket'-pivotGroup- :: PivotGroup-pivotGroup =- PivotGroup'- { _pgValueMetadata = Nothing- , _pgSourceColumnOffSet = Nothing- , _pgSortOrder = Nothing- , _pgShowTotals = Nothing- , _pgValueBucket = Nothing- }---- | Metadata about values in the grouping.-pgValueMetadata :: Lens' PivotGroup [PivotGroupValueMetadata]-pgValueMetadata- = lens _pgValueMetadata- (\ s a -> s{_pgValueMetadata = a})- . _Default- . _Coerce---- | The column offset of the source range that this grouping is based on.--- For example, if the source was \`C10:E15\`, a \`sourceColumnOffset\` of--- \`0\` means this group refers to column \`C\`, whereas the offset \`1\`--- would refer to column \`D\`.-pgSourceColumnOffSet :: Lens' PivotGroup (Maybe Int32)-pgSourceColumnOffSet- = lens _pgSourceColumnOffSet- (\ s a -> s{_pgSourceColumnOffSet = a})- . mapping _Coerce---- | The order the values in this group should be sorted.-pgSortOrder :: Lens' PivotGroup (Maybe PivotGroupSortOrder)-pgSortOrder- = lens _pgSortOrder (\ s a -> s{_pgSortOrder = a})---- | True if the pivot table should include the totals for this grouping.-pgShowTotals :: Lens' PivotGroup (Maybe Bool)-pgShowTotals- = lens _pgShowTotals (\ s a -> s{_pgShowTotals = a})---- | The bucket of the opposite pivot group to sort by. If not specified,--- sorting is alphabetical by this group\'s values.-pgValueBucket :: Lens' PivotGroup (Maybe PivotGroupSortValueBucket)-pgValueBucket- = lens _pgValueBucket- (\ s a -> s{_pgValueBucket = a})--instance FromJSON PivotGroup where- parseJSON- = withObject "PivotGroup"- (\ o ->- PivotGroup' <$>- (o .:? "valueMetadata" .!= mempty) <*>- (o .:? "sourceColumnOffset")- <*> (o .:? "sortOrder")- <*> (o .:? "showTotals")- <*> (o .:? "valueBucket"))--instance ToJSON PivotGroup where- toJSON PivotGroup'{..}- = object- (catMaybes- [("valueMetadata" .=) <$> _pgValueMetadata,- ("sourceColumnOffset" .=) <$> _pgSourceColumnOffSet,- ("sortOrder" .=) <$> _pgSortOrder,- ("showTotals" .=) <$> _pgShowTotals,- ("valueBucket" .=) <$> _pgValueBucket])---- | The result of adding a banded range.------ /See:/ 'addBandingResponse' smart constructor.-newtype AddBandingResponse = AddBandingResponse'- { _aBandedRange :: Maybe BandedRange- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AddBandingResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aBandedRange'-addBandingResponse- :: AddBandingResponse-addBandingResponse =- AddBandingResponse'- { _aBandedRange = Nothing- }---- | The banded range that was added.-aBandedRange :: Lens' AddBandingResponse (Maybe BandedRange)-aBandedRange- = lens _aBandedRange (\ s a -> s{_aBandedRange = a})--instance FromJSON AddBandingResponse where- parseJSON- = withObject "AddBandingResponse"- (\ o ->- AddBandingResponse' <$> (o .:? "bandedRange"))--instance ToJSON AddBandingResponse where- toJSON AddBandingResponse'{..}- = object- (catMaybes [("bandedRange" .=) <$> _aBandedRange])---- | A rule describing a conditional format.------ /See:/ 'conditionalFormatRule' smart constructor.-data ConditionalFormatRule = ConditionalFormatRule'- { _cfrBooleanRule :: !(Maybe BooleanRule)- , _cfrGradientRule :: !(Maybe GradientRule)- , _cfrRanges :: !(Maybe [GridRange])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ConditionalFormatRule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cfrBooleanRule'------ * 'cfrGradientRule'------ * 'cfrRanges'-conditionalFormatRule- :: ConditionalFormatRule-conditionalFormatRule =- ConditionalFormatRule'- { _cfrBooleanRule = Nothing- , _cfrGradientRule = Nothing- , _cfrRanges = Nothing- }---- | The formatting is either \"on\" or \"off\" according to the rule.-cfrBooleanRule :: Lens' ConditionalFormatRule (Maybe BooleanRule)-cfrBooleanRule- = lens _cfrBooleanRule- (\ s a -> s{_cfrBooleanRule = a})---- | The formatting will vary based on the gradients in the rule.-cfrGradientRule :: Lens' ConditionalFormatRule (Maybe GradientRule)-cfrGradientRule- = lens _cfrGradientRule- (\ s a -> s{_cfrGradientRule = a})---- | The ranges that will be formatted if the condition is true. All the--- ranges must be on the same grid.-cfrRanges :: Lens' ConditionalFormatRule [GridRange]-cfrRanges- = lens _cfrRanges (\ s a -> s{_cfrRanges = a}) .- _Default- . _Coerce--instance FromJSON ConditionalFormatRule where- parseJSON- = withObject "ConditionalFormatRule"- (\ o ->- ConditionalFormatRule' <$>- (o .:? "booleanRule") <*> (o .:? "gradientRule") <*>- (o .:? "ranges" .!= mempty))--instance ToJSON ConditionalFormatRule where- toJSON ConditionalFormatRule'{..}- = object- (catMaybes- [("booleanRule" .=) <$> _cfrBooleanRule,- ("gradientRule" .=) <$> _cfrGradientRule,- ("ranges" .=) <$> _cfrRanges])---- | The specification for a basic chart. See BasicChartType for the list of--- charts this supports.------ /See:/ 'basicChartSpec' smart constructor.-data BasicChartSpec = BasicChartSpec'- { _bHeaderCount :: !(Maybe (Textual Int32))- , _bLegendPosition :: !(Maybe BasicChartSpecLegendPosition)- , _bSeries :: !(Maybe [BasicChartSeries])- , _bChartType :: !(Maybe BasicChartSpecChartType)- , _bDomains :: !(Maybe [BasicChartDomain])- , _bAxis :: !(Maybe [BasicChartAxis])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'BasicChartSpec' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bHeaderCount'------ * 'bLegendPosition'------ * 'bSeries'------ * 'bChartType'------ * 'bDomains'------ * 'bAxis'-basicChartSpec- :: BasicChartSpec-basicChartSpec =- BasicChartSpec'- { _bHeaderCount = Nothing- , _bLegendPosition = Nothing- , _bSeries = Nothing- , _bChartType = Nothing- , _bDomains = Nothing- , _bAxis = Nothing- }---- | The number of rows or columns in the data that are \"headers\". If not--- set, Google Sheets will guess how many rows are headers based on the--- data. (Note that BasicChartAxis.title may override the axis title--- inferred from the header values.)-bHeaderCount :: Lens' BasicChartSpec (Maybe Int32)-bHeaderCount- = lens _bHeaderCount (\ s a -> s{_bHeaderCount = a})- . mapping _Coerce---- | The position of the chart legend.-bLegendPosition :: Lens' BasicChartSpec (Maybe BasicChartSpecLegendPosition)-bLegendPosition- = lens _bLegendPosition- (\ s a -> s{_bLegendPosition = a})---- | The data this chart is visualizing.-bSeries :: Lens' BasicChartSpec [BasicChartSeries]-bSeries- = lens _bSeries (\ s a -> s{_bSeries = a}) . _Default- . _Coerce---- | The type of the chart.-bChartType :: Lens' BasicChartSpec (Maybe BasicChartSpecChartType)-bChartType- = lens _bChartType (\ s a -> s{_bChartType = a})---- | The domain of data this is charting. Only a single domain is currently--- supported.-bDomains :: Lens' BasicChartSpec [BasicChartDomain]-bDomains- = lens _bDomains (\ s a -> s{_bDomains = a}) .- _Default- . _Coerce---- | The axis on the chart.-bAxis :: Lens' BasicChartSpec [BasicChartAxis]-bAxis- = lens _bAxis (\ s a -> s{_bAxis = a}) . _Default .- _Coerce--instance FromJSON BasicChartSpec where- parseJSON- = withObject "BasicChartSpec"- (\ o ->- BasicChartSpec' <$>- (o .:? "headerCount") <*> (o .:? "legendPosition")- <*> (o .:? "series" .!= mempty)- <*> (o .:? "chartType")- <*> (o .:? "domains" .!= mempty)- <*> (o .:? "axis" .!= mempty))--instance ToJSON BasicChartSpec where- toJSON BasicChartSpec'{..}- = object- (catMaybes- [("headerCount" .=) <$> _bHeaderCount,- ("legendPosition" .=) <$> _bLegendPosition,- ("series" .=) <$> _bSeries,- ("chartType" .=) <$> _bChartType,- ("domains" .=) <$> _bDomains,- ("axis" .=) <$> _bAxis])---- | Adds a new conditional format rule at the given index. All subsequent--- rules\' indexes are incremented.------ /See:/ 'addConditionalFormatRuleRequest' smart constructor.-data AddConditionalFormatRuleRequest = AddConditionalFormatRuleRequest'- { _acfrrRule :: !(Maybe ConditionalFormatRule)- , _acfrrIndex :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'AddConditionalFormatRuleRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'acfrrRule'------ * 'acfrrIndex'-addConditionalFormatRuleRequest- :: AddConditionalFormatRuleRequest-addConditionalFormatRuleRequest =- AddConditionalFormatRuleRequest'- { _acfrrRule = Nothing- , _acfrrIndex = Nothing- }---- | The rule to add.-acfrrRule :: Lens' AddConditionalFormatRuleRequest (Maybe ConditionalFormatRule)-acfrrRule- = lens _acfrrRule (\ s a -> s{_acfrrRule = a})---- | The zero-based index where the rule should be inserted.-acfrrIndex :: Lens' AddConditionalFormatRuleRequest (Maybe Int32)-acfrrIndex- = lens _acfrrIndex (\ s a -> s{_acfrrIndex = a}) .- mapping _Coerce--instance FromJSON AddConditionalFormatRuleRequest- where- parseJSON- = withObject "AddConditionalFormatRuleRequest"- (\ o ->- AddConditionalFormatRuleRequest' <$>- (o .:? "rule") <*> (o .:? "index"))--instance ToJSON AddConditionalFormatRuleRequest where- toJSON AddConditionalFormatRuleRequest'{..}- = object- (catMaybes- [("rule" .=) <$> _acfrrRule,- ("index" .=) <$> _acfrrIndex])---- | The result of duplicating a sheet.------ /See:/ 'duplicateSheetResponse' smart constructor.-newtype DuplicateSheetResponse = DuplicateSheetResponse'- { _dsrProperties :: Maybe SheetProperties- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DuplicateSheetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dsrProperties'-duplicateSheetResponse- :: DuplicateSheetResponse-duplicateSheetResponse =- DuplicateSheetResponse'- { _dsrProperties = Nothing- }---- | The properties of the duplicate sheet.-dsrProperties :: Lens' DuplicateSheetResponse (Maybe SheetProperties)-dsrProperties- = lens _dsrProperties- (\ s a -> s{_dsrProperties = a})--instance FromJSON DuplicateSheetResponse where- parseJSON- = withObject "DuplicateSheetResponse"- (\ o ->- DuplicateSheetResponse' <$> (o .:? "properties"))--instance ToJSON DuplicateSheetResponse where- toJSON DuplicateSheetResponse'{..}- = object- (catMaybes [("properties" .=) <$> _dsrProperties])---- | The format of a run of text in a cell. Absent values indicate that the--- field isn\'t specified.------ /See:/ 'textFormat' smart constructor.-data TextFormat = TextFormat'- { _tfFontFamily :: !(Maybe Text)- , _tfForegRoundColor :: !(Maybe Color)- , _tfFontSize :: !(Maybe (Textual Int32))- , _tfUnderline :: !(Maybe Bool)- , _tfItalic :: !(Maybe Bool)- , _tfBold :: !(Maybe Bool)- , _tfStrikethrough :: !(Maybe Bool)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TextFormat' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tfFontFamily'------ * 'tfForegRoundColor'------ * 'tfFontSize'------ * 'tfUnderline'------ * 'tfItalic'------ * 'tfBold'------ * 'tfStrikethrough'-textFormat- :: TextFormat-textFormat =- TextFormat'- { _tfFontFamily = Nothing- , _tfForegRoundColor = Nothing- , _tfFontSize = Nothing- , _tfUnderline = Nothing- , _tfItalic = Nothing- , _tfBold = Nothing- , _tfStrikethrough = Nothing- }---- | The font family.-tfFontFamily :: Lens' TextFormat (Maybe Text)-tfFontFamily- = lens _tfFontFamily (\ s a -> s{_tfFontFamily = a})---- | The foreground color of the text.-tfForegRoundColor :: Lens' TextFormat (Maybe Color)-tfForegRoundColor- = lens _tfForegRoundColor- (\ s a -> s{_tfForegRoundColor = a})---- | The size of the font.-tfFontSize :: Lens' TextFormat (Maybe Int32)-tfFontSize- = lens _tfFontSize (\ s a -> s{_tfFontSize = a}) .- mapping _Coerce---- | True if the text is underlined.-tfUnderline :: Lens' TextFormat (Maybe Bool)-tfUnderline- = lens _tfUnderline (\ s a -> s{_tfUnderline = a})---- | True if the text is italicized.-tfItalic :: Lens' TextFormat (Maybe Bool)-tfItalic = lens _tfItalic (\ s a -> s{_tfItalic = a})---- | True if the text is bold.-tfBold :: Lens' TextFormat (Maybe Bool)-tfBold = lens _tfBold (\ s a -> s{_tfBold = a})---- | True if the text has a strikethrough.-tfStrikethrough :: Lens' TextFormat (Maybe Bool)-tfStrikethrough- = lens _tfStrikethrough- (\ s a -> s{_tfStrikethrough = a})--instance FromJSON TextFormat where- parseJSON- = withObject "TextFormat"- (\ o ->- TextFormat' <$>- (o .:? "fontFamily") <*> (o .:? "foregroundColor")- <*> (o .:? "fontSize")- <*> (o .:? "underline")- <*> (o .:? "italic")- <*> (o .:? "bold")- <*> (o .:? "strikethrough"))--instance ToJSON TextFormat where- toJSON TextFormat'{..}- = object- (catMaybes- [("fontFamily" .=) <$> _tfFontFamily,- ("foregroundColor" .=) <$> _tfForegRoundColor,- ("fontSize" .=) <$> _tfFontSize,- ("underline" .=) <$> _tfUnderline,- ("italic" .=) <$> _tfItalic, ("bold" .=) <$> _tfBold,- ("strikethrough" .=) <$> _tfStrikethrough])---- | The response when updating a range of values in a spreadsheet.------ /See:/ 'batchClearValuesResponse' smart constructor.-data BatchClearValuesResponse = BatchClearValuesResponse'- { _bcvrClearedRanges :: !(Maybe [Text])- , _bcvrSpreadsheetId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'BatchClearValuesResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bcvrClearedRanges'------ * 'bcvrSpreadsheetId'-batchClearValuesResponse- :: BatchClearValuesResponse-batchClearValuesResponse =- BatchClearValuesResponse'- { _bcvrClearedRanges = Nothing- , _bcvrSpreadsheetId = Nothing- }---- | The ranges that were cleared, in A1 notation. (If the requests were for--- an unbounded range or a ranger larger than the bounds of the sheet, this--- will be the actual ranges that were cleared, bounded to the sheet\'s--- limits.)-bcvrClearedRanges :: Lens' BatchClearValuesResponse [Text]-bcvrClearedRanges- = lens _bcvrClearedRanges- (\ s a -> s{_bcvrClearedRanges = a})- . _Default- . _Coerce---- | The spreadsheet the updates were applied to.-bcvrSpreadsheetId :: Lens' BatchClearValuesResponse (Maybe Text)-bcvrSpreadsheetId- = lens _bcvrSpreadsheetId- (\ s a -> s{_bcvrSpreadsheetId = a})--instance FromJSON BatchClearValuesResponse where- parseJSON- = withObject "BatchClearValuesResponse"- (\ o ->- BatchClearValuesResponse' <$>- (o .:? "clearedRanges" .!= mempty) <*>- (o .:? "spreadsheetId"))--instance ToJSON BatchClearValuesResponse where- toJSON BatchClearValuesResponse'{..}- = object- (catMaybes- [("clearedRanges" .=) <$> _bcvrClearedRanges,- ("spreadsheetId" .=) <$> _bcvrSpreadsheetId])---- | The domain of a chart. For example, if charting stock prices over time,--- this would be the date.------ /See:/ 'basicChartDomain' smart constructor.-newtype BasicChartDomain = BasicChartDomain'- { _bcdDomain :: Maybe ChartData- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'BasicChartDomain' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bcdDomain'-basicChartDomain- :: BasicChartDomain-basicChartDomain =- BasicChartDomain'- { _bcdDomain = Nothing- }---- | The data of the domain. For example, if charting stock prices over time,--- this is the data representing the dates.-bcdDomain :: Lens' BasicChartDomain (Maybe ChartData)-bcdDomain- = lens _bcdDomain (\ s a -> s{_bcdDomain = a})--instance FromJSON BasicChartDomain where- parseJSON- = withObject "BasicChartDomain"- (\ o -> BasicChartDomain' <$> (o .:? "domain"))--instance ToJSON BasicChartDomain where- toJSON BasicChartDomain'{..}- = object (catMaybes [("domain" .=) <$> _bcdDomain])---- | Inserts cells into a range, shifting the existing cells over or down.------ /See:/ 'insertRangeRequest' smart constructor.-data InsertRangeRequest = InsertRangeRequest'- { _irrShiftDimension :: !(Maybe InsertRangeRequestShiftDimension)- , _irrRange :: !(Maybe GridRange)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'InsertRangeRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'irrShiftDimension'------ * 'irrRange'-insertRangeRequest- :: InsertRangeRequest-insertRangeRequest =- InsertRangeRequest'- { _irrShiftDimension = Nothing- , _irrRange = Nothing- }---- | The dimension which will be shifted when inserting cells. If ROWS,--- existing cells will be shifted down. If COLUMNS, existing cells will be--- shifted right.-irrShiftDimension :: Lens' InsertRangeRequest (Maybe InsertRangeRequestShiftDimension)-irrShiftDimension- = lens _irrShiftDimension- (\ s a -> s{_irrShiftDimension = a})---- | The range to insert new cells into.-irrRange :: Lens' InsertRangeRequest (Maybe GridRange)-irrRange = lens _irrRange (\ s a -> s{_irrRange = a})--instance FromJSON InsertRangeRequest where- parseJSON- = withObject "InsertRangeRequest"- (\ o ->- InsertRangeRequest' <$>- (o .:? "shiftDimension") <*> (o .:? "range"))--instance ToJSON InsertRangeRequest where- toJSON InsertRangeRequest'{..}- = object- (catMaybes- [("shiftDimension" .=) <$> _irrShiftDimension,- ("range" .=) <$> _irrRange])---- | The amount of padding around the cell, in pixels. When updating padding,--- every field must be specified.------ /See:/ 'padding' smart constructor.-data Padding = Padding'- { _pBottom :: !(Maybe (Textual Int32))- , _pLeft :: !(Maybe (Textual Int32))- , _pRight :: !(Maybe (Textual Int32))- , _pTop :: !(Maybe (Textual Int32))- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Padding' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pBottom'------ * 'pLeft'------ * 'pRight'------ * 'pTop'-padding- :: Padding-padding =- Padding'- { _pBottom = Nothing- , _pLeft = Nothing- , _pRight = Nothing- , _pTop = Nothing- }---- | The bottom padding of the cell.-pBottom :: Lens' Padding (Maybe Int32)-pBottom- = lens _pBottom (\ s a -> s{_pBottom = a}) .- mapping _Coerce---- | The left padding of the cell.-pLeft :: Lens' Padding (Maybe Int32)-pLeft- = lens _pLeft (\ s a -> s{_pLeft = a}) .- mapping _Coerce---- | The right padding of the cell.-pRight :: Lens' Padding (Maybe Int32)-pRight- = lens _pRight (\ s a -> s{_pRight = a}) .- mapping _Coerce---- | The top padding of the cell.-pTop :: Lens' Padding (Maybe Int32)-pTop- = lens _pTop (\ s a -> s{_pTop = a}) .- mapping _Coerce--instance FromJSON Padding where- parseJSON- = withObject "Padding"- (\ o ->- Padding' <$>- (o .:? "bottom") <*> (o .:? "left") <*>- (o .:? "right")- <*> (o .:? "top"))--instance ToJSON Padding where- toJSON Padding'{..}- = object- (catMaybes- [("bottom" .=) <$> _pBottom, ("left" .=) <$> _pLeft,- ("right" .=) <$> _pRight, ("top" .=) <$> _pTop])---- | The specifications of a chart.------ /See:/ 'chartSpec' smart constructor.-data ChartSpec = ChartSpec'- { _csTitle :: !(Maybe Text)- , _csPieChart :: !(Maybe PieChartSpec)- , _csBasicChart :: !(Maybe BasicChartSpec)- , _csHiddenDimensionStrategy :: !(Maybe ChartSpecHiddenDimensionStrategy)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ChartSpec' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'csTitle'------ * 'csPieChart'------ * 'csBasicChart'------ * 'csHiddenDimensionStrategy'-chartSpec- :: ChartSpec-chartSpec =- ChartSpec'- { _csTitle = Nothing- , _csPieChart = Nothing- , _csBasicChart = Nothing- , _csHiddenDimensionStrategy = Nothing- }---- | The title of the chart.-csTitle :: Lens' ChartSpec (Maybe Text)-csTitle = lens _csTitle (\ s a -> s{_csTitle = a})---- | A pie chart specification.-csPieChart :: Lens' ChartSpec (Maybe PieChartSpec)-csPieChart- = lens _csPieChart (\ s a -> s{_csPieChart = a})---- | A basic chart specification, can be one of many kinds of charts. See--- BasicChartType for the list of all charts this supports.-csBasicChart :: Lens' ChartSpec (Maybe BasicChartSpec)-csBasicChart- = lens _csBasicChart (\ s a -> s{_csBasicChart = a})---- | Determines how the charts will use hidden rows or columns.-csHiddenDimensionStrategy :: Lens' ChartSpec (Maybe ChartSpecHiddenDimensionStrategy)-csHiddenDimensionStrategy- = lens _csHiddenDimensionStrategy- (\ s a -> s{_csHiddenDimensionStrategy = a})--instance FromJSON ChartSpec where- parseJSON- = withObject "ChartSpec"- (\ o ->- ChartSpec' <$>- (o .:? "title") <*> (o .:? "pieChart") <*>- (o .:? "basicChart")- <*> (o .:? "hiddenDimensionStrategy"))--instance ToJSON ChartSpec where- toJSON ChartSpec'{..}- = object- (catMaybes- [("title" .=) <$> _csTitle,- ("pieChart" .=) <$> _csPieChart,- ("basicChart" .=) <$> _csBasicChart,- ("hiddenDimensionStrategy" .=) <$>- _csHiddenDimensionStrategy])---- | Properties about a dimension.------ /See:/ 'dimensionProperties' smart constructor.-data DimensionProperties = DimensionProperties'- { _dpHiddenByFilter :: !(Maybe Bool)- , _dpPixelSize :: !(Maybe (Textual Int32))- , _dpHiddenByUser :: !(Maybe Bool)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DimensionProperties' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dpHiddenByFilter'------ * 'dpPixelSize'------ * 'dpHiddenByUser'-dimensionProperties- :: DimensionProperties-dimensionProperties =- DimensionProperties'- { _dpHiddenByFilter = Nothing- , _dpPixelSize = Nothing- , _dpHiddenByUser = Nothing- }---- | True if this dimension is being filtered. This field is read-only.-dpHiddenByFilter :: Lens' DimensionProperties (Maybe Bool)-dpHiddenByFilter- = lens _dpHiddenByFilter- (\ s a -> s{_dpHiddenByFilter = a})---- | The height (if a row) or width (if a column) of the dimension in pixels.-dpPixelSize :: Lens' DimensionProperties (Maybe Int32)-dpPixelSize- = lens _dpPixelSize (\ s a -> s{_dpPixelSize = a}) .- mapping _Coerce---- | True if this dimension is explicitly hidden.-dpHiddenByUser :: Lens' DimensionProperties (Maybe Bool)-dpHiddenByUser- = lens _dpHiddenByUser- (\ s a -> s{_dpHiddenByUser = a})--instance FromJSON DimensionProperties where- parseJSON- = withObject "DimensionProperties"- (\ o ->- DimensionProperties' <$>- (o .:? "hiddenByFilter") <*> (o .:? "pixelSize") <*>- (o .:? "hiddenByUser"))--instance ToJSON DimensionProperties where- toJSON DimensionProperties'{..}- = object- (catMaybes- [("hiddenByFilter" .=) <$> _dpHiddenByFilter,- ("pixelSize" .=) <$> _dpPixelSize,- ("hiddenByUser" .=) <$> _dpHiddenByUser])---- | Updates properties of the supplied banded range.------ /See:/ 'updateBandingRequest' smart constructor.-data UpdateBandingRequest = UpdateBandingRequest'- { _ubrBandedRange :: !(Maybe BandedRange)- , _ubrFields :: !(Maybe FieldMask)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'UpdateBandingRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ubrBandedRange'------ * 'ubrFields'-updateBandingRequest- :: UpdateBandingRequest-updateBandingRequest =- UpdateBandingRequest'- { _ubrBandedRange = Nothing- , _ubrFields = Nothing- }---- | The banded range to update with the new properties.-ubrBandedRange :: Lens' UpdateBandingRequest (Maybe BandedRange)-ubrBandedRange- = lens _ubrBandedRange- (\ s a -> s{_ubrBandedRange = a})---- | The fields that should be updated. At least one field must be specified.--- The root \`bandedRange\` is implied and should not be specified. A--- single \`\"*\"\` can be used as short-hand for listing every field.-ubrFields :: Lens' UpdateBandingRequest (Maybe FieldMask)-ubrFields- = lens _ubrFields (\ s a -> s{_ubrFields = a})--instance FromJSON UpdateBandingRequest where- parseJSON- = withObject "UpdateBandingRequest"- (\ o ->- UpdateBandingRequest' <$>- (o .:? "bandedRange") <*> (o .:? "fields"))--instance ToJSON UpdateBandingRequest where- toJSON UpdateBandingRequest'{..}- = object- (catMaybes- [("bandedRange" .=) <$> _ubrBandedRange,- ("fields" .=) <$> _ubrFields])---- | The response when retrieving more than one range of values in a--- spreadsheet.------ /See:/ 'batchGetValuesResponse' smart constructor.-data BatchGetValuesResponse = BatchGetValuesResponse'- { _bgvrSpreadsheetId :: !(Maybe Text)- , _bgvrValueRanges :: !(Maybe [ValueRange])- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'BatchGetValuesResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bgvrSpreadsheetId'------ * 'bgvrValueRanges'-batchGetValuesResponse- :: BatchGetValuesResponse-batchGetValuesResponse =- BatchGetValuesResponse'- { _bgvrSpreadsheetId = Nothing- , _bgvrValueRanges = Nothing- }---- | The ID of the spreadsheet the data was retrieved from.-bgvrSpreadsheetId :: Lens' BatchGetValuesResponse (Maybe Text)-bgvrSpreadsheetId- = lens _bgvrSpreadsheetId- (\ s a -> s{_bgvrSpreadsheetId = a})---- | The requested values. The order of the ValueRanges is the same as the--- order of the requested ranges.-bgvrValueRanges :: Lens' BatchGetValuesResponse [ValueRange]-bgvrValueRanges- = lens _bgvrValueRanges- (\ s a -> s{_bgvrValueRanges = a})- . _Default- . _Coerce--instance FromJSON BatchGetValuesResponse where- parseJSON- = withObject "BatchGetValuesResponse"- (\ o ->- BatchGetValuesResponse' <$>- (o .:? "spreadsheetId") <*>- (o .:? "valueRanges" .!= mempty))--instance ToJSON BatchGetValuesResponse where- toJSON BatchGetValuesResponse'{..}- = object- (catMaybes- [("spreadsheetId" .=) <$> _bgvrSpreadsheetId,- ("valueRanges" .=) <$> _bgvrValueRanges])---- | Removes the banded range with the given ID from the spreadsheet.------ /See:/ 'deleteBandingRequest' smart constructor.-newtype DeleteBandingRequest = DeleteBandingRequest'- { _dbrBandedRangeId :: Maybe (Textual Int32)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'DeleteBandingRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dbrBandedRangeId'-deleteBandingRequest- :: DeleteBandingRequest-deleteBandingRequest =- DeleteBandingRequest'- { _dbrBandedRangeId = Nothing- }---- | The ID of the banded range to delete.-dbrBandedRangeId :: Lens' DeleteBandingRequest (Maybe Int32)-dbrBandedRangeId- = lens _dbrBandedRangeId- (\ s a -> s{_dbrBandedRangeId = a})- . mapping _Coerce--instance FromJSON DeleteBandingRequest where- parseJSON- = withObject "DeleteBandingRequest"- (\ o ->- DeleteBandingRequest' <$> (o .:? "bandedRangeId"))--instance ToJSON DeleteBandingRequest where- toJSON DeleteBandingRequest'{..}- = object- (catMaybes- [("bandedRangeId" .=) <$> _dbrBandedRangeId])---- | A single kind of update to apply to a spreadsheet.------ /See:/ 'request'' smart constructor.-data Request' = Request''- { _reqAddFilterView :: !(Maybe AddFilterViewRequest)- , _reqDeleteProtectedRange :: !(Maybe DeleteProtectedRangeRequest)- , _reqUpdateProtectedRange :: !(Maybe UpdateProtectedRangeRequest)- , _reqUpdateCells :: !(Maybe UpdateCellsRequest)- , _reqDuplicateFilterView :: !(Maybe DuplicateFilterViewRequest)- , _reqAddConditionalFormatRule :: !(Maybe AddConditionalFormatRuleRequest)- , _reqSortRange :: !(Maybe SortRangeRequest)- , _reqUpdateNamedRange :: !(Maybe UpdateNamedRangeRequest)- , _reqDeleteNamedRange :: !(Maybe DeleteNamedRangeRequest)- , _reqInsertRange :: !(Maybe InsertRangeRequest)- , _reqDeleteBanding :: !(Maybe DeleteBandingRequest)- , _reqUpdateBanding :: !(Maybe UpdateBandingRequest)- , _reqClearBasicFilter :: !(Maybe ClearBasicFilterRequest)- , _reqAppendCells :: !(Maybe AppendCellsRequest)- , _reqPasteData :: !(Maybe PasteDataRequest)- , _reqUpdateEmbeddedObjectPosition :: !(Maybe UpdateEmbeddedObjectPositionRequest)- , _reqDeleteRange :: !(Maybe DeleteRangeRequest)- , _reqCopyPaste :: !(Maybe CopyPasteRequest)- , _reqAutoResizeDimensions :: !(Maybe AutoResizeDimensionsRequest)- , _reqAddSheet :: !(Maybe AddSheetRequest)- , _reqFindReplace :: !(Maybe FindReplaceRequest)- , _reqDeleteDimension :: !(Maybe DeleteDimensionRequest)- , _reqCutPaste :: !(Maybe CutPasteRequest)- , _reqMoveDimension :: !(Maybe MoveDimensionRequest)- , _reqRepeatCell :: !(Maybe RepeatCellRequest)- , _reqAddProtectedRange :: !(Maybe AddProtectedRangeRequest)- , _reqUpdateFilterView :: !(Maybe UpdateFilterViewRequest)- , _reqDeleteFilterView :: !(Maybe DeleteFilterViewRequest)- , _reqInsertDimension :: !(Maybe InsertDimensionRequest)- , _reqUpdateSheetProperties :: !(Maybe UpdateSheetPropertiesRequest)- , _reqDeleteConditionalFormatRule :: !(Maybe DeleteConditionalFormatRuleRequest)- , _reqUpdateConditionalFormatRule :: !(Maybe UpdateConditionalFormatRuleRequest)- , _reqDeleteEmbeddedObject :: !(Maybe DeleteEmbeddedObjectRequest)- , _reqMergeCells :: !(Maybe MergeCellsRequest)- , _reqAddNamedRange :: !(Maybe AddNamedRangeRequest)- , _reqAddChart :: !(Maybe AddChartRequest)- , _reqAddBanding :: !(Maybe AddBandingRequest)- , _reqDuplicateSheet :: !(Maybe DuplicateSheetRequest)- , _reqAutoFill :: !(Maybe AutoFillRequest)- , _reqUpdateDimensionProperties :: !(Maybe UpdateDimensionPropertiesRequest)- , _reqUpdateChartSpec :: !(Maybe UpdateChartSpecRequest)- , _reqSetBasicFilter :: !(Maybe SetBasicFilterRequest)- , _reqTextToColumns :: !(Maybe TextToColumnsRequest)- , _reqUpdateSpreadsheetProperties :: !(Maybe UpdateSpreadsheetPropertiesRequest)- , _reqDeleteSheet :: !(Maybe DeleteSheetRequest)- , _reqUnmergeCells :: !(Maybe UnmergeCellsRequest)- , _reqUpdateBOrders :: !(Maybe UpdateBOrdersRequest)- , _reqAppendDimension :: !(Maybe AppendDimensionRequest)- , _reqSetDataValidation :: !(Maybe SetDataValidationRequest)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'Request' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'reqAddFilterView'------ * 'reqDeleteProtectedRange'------ * 'reqUpdateProtectedRange'------ * 'reqUpdateCells'------ * 'reqDuplicateFilterView'------ * 'reqAddConditionalFormatRule'------ * 'reqSortRange'------ * 'reqUpdateNamedRange'------ * 'reqDeleteNamedRange'------ * 'reqInsertRange'------ * 'reqDeleteBanding'------ * 'reqUpdateBanding'------ * 'reqClearBasicFilter'------ * 'reqAppendCells'------ * 'reqPasteData'------ * 'reqUpdateEmbeddedObjectPosition'------ * 'reqDeleteRange'------ * 'reqCopyPaste'------ * 'reqAutoResizeDimensions'------ * 'reqAddSheet'------ * 'reqFindReplace'------ * 'reqDeleteDimension'------ * 'reqCutPaste'------ * 'reqMoveDimension'------ * 'reqRepeatCell'------ * 'reqAddProtectedRange'------ * 'reqUpdateFilterView'------ * 'reqDeleteFilterView'------ * 'reqInsertDimension'------ * 'reqUpdateSheetProperties'------ * 'reqDeleteConditionalFormatRule'------ * 'reqUpdateConditionalFormatRule'------ * 'reqDeleteEmbeddedObject'------ * 'reqMergeCells'------ * 'reqAddNamedRange'------ * 'reqAddChart'------ * 'reqAddBanding'------ * 'reqDuplicateSheet'------ * 'reqAutoFill'------ * 'reqUpdateDimensionProperties'------ * 'reqUpdateChartSpec'------ * 'reqSetBasicFilter'------ * 'reqTextToColumns'------ * 'reqUpdateSpreadsheetProperties'------ * 'reqDeleteSheet'------ * 'reqUnmergeCells'------ * 'reqUpdateBOrders'------ * 'reqAppendDimension'------ * 'reqSetDataValidation'-request'- :: Request'-request' =- Request''- { _reqAddFilterView = Nothing- , _reqDeleteProtectedRange = Nothing- , _reqUpdateProtectedRange = Nothing- , _reqUpdateCells = Nothing- , _reqDuplicateFilterView = Nothing- , _reqAddConditionalFormatRule = Nothing- , _reqSortRange = Nothing- , _reqUpdateNamedRange = Nothing- , _reqDeleteNamedRange = Nothing- , _reqInsertRange = Nothing- , _reqDeleteBanding = Nothing- , _reqUpdateBanding = Nothing- , _reqClearBasicFilter = Nothing- , _reqAppendCells = Nothing- , _reqPasteData = Nothing- , _reqUpdateEmbeddedObjectPosition = Nothing- , _reqDeleteRange = Nothing- , _reqCopyPaste = Nothing- , _reqAutoResizeDimensions = Nothing- , _reqAddSheet = Nothing- , _reqFindReplace = Nothing- , _reqDeleteDimension = Nothing- , _reqCutPaste = Nothing- , _reqMoveDimension = Nothing- , _reqRepeatCell = Nothing- , _reqAddProtectedRange = Nothing- , _reqUpdateFilterView = Nothing- , _reqDeleteFilterView = Nothing- , _reqInsertDimension = Nothing- , _reqUpdateSheetProperties = Nothing- , _reqDeleteConditionalFormatRule = Nothing- , _reqUpdateConditionalFormatRule = Nothing- , _reqDeleteEmbeddedObject = Nothing- , _reqMergeCells = Nothing- , _reqAddNamedRange = Nothing- , _reqAddChart = Nothing- , _reqAddBanding = Nothing- , _reqDuplicateSheet = Nothing- , _reqAutoFill = Nothing- , _reqUpdateDimensionProperties = Nothing- , _reqUpdateChartSpec = Nothing- , _reqSetBasicFilter = Nothing- , _reqTextToColumns = Nothing- , _reqUpdateSpreadsheetProperties = Nothing- , _reqDeleteSheet = Nothing- , _reqUnmergeCells = Nothing- , _reqUpdateBOrders = Nothing- , _reqAppendDimension = Nothing- , _reqSetDataValidation = Nothing- }---- | Adds a filter view.-reqAddFilterView :: Lens' Request' (Maybe AddFilterViewRequest)-reqAddFilterView- = lens _reqAddFilterView- (\ s a -> s{_reqAddFilterView = a})---- | Deletes a protected range.-reqDeleteProtectedRange :: Lens' Request' (Maybe DeleteProtectedRangeRequest)-reqDeleteProtectedRange- = lens _reqDeleteProtectedRange- (\ s a -> s{_reqDeleteProtectedRange = a})---- | Updates a protected range.-reqUpdateProtectedRange :: Lens' Request' (Maybe UpdateProtectedRangeRequest)-reqUpdateProtectedRange- = lens _reqUpdateProtectedRange- (\ s a -> s{_reqUpdateProtectedRange = a})---- | Updates many cells at once.-reqUpdateCells :: Lens' Request' (Maybe UpdateCellsRequest)-reqUpdateCells- = lens _reqUpdateCells- (\ s a -> s{_reqUpdateCells = a})---- | Duplicates a filter view.-reqDuplicateFilterView :: Lens' Request' (Maybe DuplicateFilterViewRequest)-reqDuplicateFilterView- = lens _reqDuplicateFilterView- (\ s a -> s{_reqDuplicateFilterView = a})---- | Adds a new conditional format rule.-reqAddConditionalFormatRule :: Lens' Request' (Maybe AddConditionalFormatRuleRequest)-reqAddConditionalFormatRule- = lens _reqAddConditionalFormatRule- (\ s a -> s{_reqAddConditionalFormatRule = a})---- | Sorts data in a range.-reqSortRange :: Lens' Request' (Maybe SortRangeRequest)-reqSortRange- = lens _reqSortRange (\ s a -> s{_reqSortRange = a})---- | Updates a named range.-reqUpdateNamedRange :: Lens' Request' (Maybe UpdateNamedRangeRequest)-reqUpdateNamedRange- = lens _reqUpdateNamedRange- (\ s a -> s{_reqUpdateNamedRange = a})---- | Deletes a named range.-reqDeleteNamedRange :: Lens' Request' (Maybe DeleteNamedRangeRequest)-reqDeleteNamedRange- = lens _reqDeleteNamedRange- (\ s a -> s{_reqDeleteNamedRange = a})---- | Inserts new cells in a sheet, shifting the existing cells.-reqInsertRange :: Lens' Request' (Maybe InsertRangeRequest)-reqInsertRange- = lens _reqInsertRange- (\ s a -> s{_reqInsertRange = a})---- | Removes a banded range-reqDeleteBanding :: Lens' Request' (Maybe DeleteBandingRequest)-reqDeleteBanding- = lens _reqDeleteBanding- (\ s a -> s{_reqDeleteBanding = a})---- | Updates a banded range-reqUpdateBanding :: Lens' Request' (Maybe UpdateBandingRequest)-reqUpdateBanding- = lens _reqUpdateBanding- (\ s a -> s{_reqUpdateBanding = a})---- | Clears the basic filter on a sheet.-reqClearBasicFilter :: Lens' Request' (Maybe ClearBasicFilterRequest)-reqClearBasicFilter- = lens _reqClearBasicFilter- (\ s a -> s{_reqClearBasicFilter = a})---- | Appends cells after the last row with data in a sheet.-reqAppendCells :: Lens' Request' (Maybe AppendCellsRequest)-reqAppendCells- = lens _reqAppendCells- (\ s a -> s{_reqAppendCells = a})---- | Pastes data (HTML or delimited) into a sheet.-reqPasteData :: Lens' Request' (Maybe PasteDataRequest)-reqPasteData- = lens _reqPasteData (\ s a -> s{_reqPasteData = a})---- | Updates an embedded object\'s (e.g. chart, image) position.-reqUpdateEmbeddedObjectPosition :: Lens' Request' (Maybe UpdateEmbeddedObjectPositionRequest)-reqUpdateEmbeddedObjectPosition- = lens _reqUpdateEmbeddedObjectPosition- (\ s a -> s{_reqUpdateEmbeddedObjectPosition = a})---- | Deletes a range of cells from a sheet, shifting the remaining cells.-reqDeleteRange :: Lens' Request' (Maybe DeleteRangeRequest)-reqDeleteRange- = lens _reqDeleteRange- (\ s a -> s{_reqDeleteRange = a})---- | Copies data from one area and pastes it to another.-reqCopyPaste :: Lens' Request' (Maybe CopyPasteRequest)-reqCopyPaste- = lens _reqCopyPaste (\ s a -> s{_reqCopyPaste = a})---- | Automatically resizes one or more dimensions based on the contents of--- the cells in that dimension.-reqAutoResizeDimensions :: Lens' Request' (Maybe AutoResizeDimensionsRequest)-reqAutoResizeDimensions- = lens _reqAutoResizeDimensions- (\ s a -> s{_reqAutoResizeDimensions = a})---- | Adds a sheet.-reqAddSheet :: Lens' Request' (Maybe AddSheetRequest)-reqAddSheet- = lens _reqAddSheet (\ s a -> s{_reqAddSheet = a})---- | Finds and replaces occurrences of some text with other text.-reqFindReplace :: Lens' Request' (Maybe FindReplaceRequest)-reqFindReplace- = lens _reqFindReplace- (\ s a -> s{_reqFindReplace = a})---- | Deletes rows or columns in a sheet.-reqDeleteDimension :: Lens' Request' (Maybe DeleteDimensionRequest)-reqDeleteDimension- = lens _reqDeleteDimension- (\ s a -> s{_reqDeleteDimension = a})---- | Cuts data from one area and pastes it to another.-reqCutPaste :: Lens' Request' (Maybe CutPasteRequest)-reqCutPaste- = lens _reqCutPaste (\ s a -> s{_reqCutPaste = a})---- | Moves rows or columns to another location in a sheet.-reqMoveDimension :: Lens' Request' (Maybe MoveDimensionRequest)-reqMoveDimension- = lens _reqMoveDimension- (\ s a -> s{_reqMoveDimension = a})---- | Repeats a single cell across a range.-reqRepeatCell :: Lens' Request' (Maybe RepeatCellRequest)-reqRepeatCell- = lens _reqRepeatCell- (\ s a -> s{_reqRepeatCell = a})---- | Adds a protected range.-reqAddProtectedRange :: Lens' Request' (Maybe AddProtectedRangeRequest)-reqAddProtectedRange- = lens _reqAddProtectedRange- (\ s a -> s{_reqAddProtectedRange = a})---- | Updates the properties of a filter view.-reqUpdateFilterView :: Lens' Request' (Maybe UpdateFilterViewRequest)-reqUpdateFilterView- = lens _reqUpdateFilterView- (\ s a -> s{_reqUpdateFilterView = a})---- | Deletes a filter view from a sheet.-reqDeleteFilterView :: Lens' Request' (Maybe DeleteFilterViewRequest)-reqDeleteFilterView- = lens _reqDeleteFilterView- (\ s a -> s{_reqDeleteFilterView = a})---- | Inserts new rows or columns in a sheet.-reqInsertDimension :: Lens' Request' (Maybe InsertDimensionRequest)-reqInsertDimension- = lens _reqInsertDimension- (\ s a -> s{_reqInsertDimension = a})---- | Updates a sheet\'s properties.-reqUpdateSheetProperties :: Lens' Request' (Maybe UpdateSheetPropertiesRequest)-reqUpdateSheetProperties- = lens _reqUpdateSheetProperties- (\ s a -> s{_reqUpdateSheetProperties = a})---- | Deletes an existing conditional format rule.-reqDeleteConditionalFormatRule :: Lens' Request' (Maybe DeleteConditionalFormatRuleRequest)-reqDeleteConditionalFormatRule- = lens _reqDeleteConditionalFormatRule- (\ s a -> s{_reqDeleteConditionalFormatRule = a})---- | Updates an existing conditional format rule.-reqUpdateConditionalFormatRule :: Lens' Request' (Maybe UpdateConditionalFormatRuleRequest)-reqUpdateConditionalFormatRule- = lens _reqUpdateConditionalFormatRule- (\ s a -> s{_reqUpdateConditionalFormatRule = a})---- | Deletes an embedded object (e.g, chart, image) in a sheet.-reqDeleteEmbeddedObject :: Lens' Request' (Maybe DeleteEmbeddedObjectRequest)-reqDeleteEmbeddedObject- = lens _reqDeleteEmbeddedObject- (\ s a -> s{_reqDeleteEmbeddedObject = a})---- | Merges cells together.-reqMergeCells :: Lens' Request' (Maybe MergeCellsRequest)-reqMergeCells- = lens _reqMergeCells- (\ s a -> s{_reqMergeCells = a})---- | Adds a named range.-reqAddNamedRange :: Lens' Request' (Maybe AddNamedRangeRequest)-reqAddNamedRange- = lens _reqAddNamedRange- (\ s a -> s{_reqAddNamedRange = a})---- | Adds a chart.-reqAddChart :: Lens' Request' (Maybe AddChartRequest)-reqAddChart- = lens _reqAddChart (\ s a -> s{_reqAddChart = a})---- | Adds a new banded range-reqAddBanding :: Lens' Request' (Maybe AddBandingRequest)-reqAddBanding- = lens _reqAddBanding- (\ s a -> s{_reqAddBanding = a})---- | Duplicates a sheet.-reqDuplicateSheet :: Lens' Request' (Maybe DuplicateSheetRequest)-reqDuplicateSheet- = lens _reqDuplicateSheet- (\ s a -> s{_reqDuplicateSheet = a})---- | Automatically fills in more data based on existing data.-reqAutoFill :: Lens' Request' (Maybe AutoFillRequest)-reqAutoFill- = lens _reqAutoFill (\ s a -> s{_reqAutoFill = a})---- | Updates dimensions\' properties.-reqUpdateDimensionProperties :: Lens' Request' (Maybe UpdateDimensionPropertiesRequest)-reqUpdateDimensionProperties- = lens _reqUpdateDimensionProperties- (\ s a -> s{_reqUpdateDimensionProperties = a})---- | Updates a chart\'s specifications.-reqUpdateChartSpec :: Lens' Request' (Maybe UpdateChartSpecRequest)-reqUpdateChartSpec- = lens _reqUpdateChartSpec- (\ s a -> s{_reqUpdateChartSpec = a})---- | Sets the basic filter on a sheet.-reqSetBasicFilter :: Lens' Request' (Maybe SetBasicFilterRequest)-reqSetBasicFilter- = lens _reqSetBasicFilter- (\ s a -> s{_reqSetBasicFilter = a})---- | Converts a column of text into many columns of text.-reqTextToColumns :: Lens' Request' (Maybe TextToColumnsRequest)-reqTextToColumns- = lens _reqTextToColumns- (\ s a -> s{_reqTextToColumns = a})---- | Updates the spreadsheet\'s properties.-reqUpdateSpreadsheetProperties :: Lens' Request' (Maybe UpdateSpreadsheetPropertiesRequest)-reqUpdateSpreadsheetProperties- = lens _reqUpdateSpreadsheetProperties- (\ s a -> s{_reqUpdateSpreadsheetProperties = a})---- | Deletes a sheet.-reqDeleteSheet :: Lens' Request' (Maybe DeleteSheetRequest)-reqDeleteSheet- = lens _reqDeleteSheet- (\ s a -> s{_reqDeleteSheet = a})---- | Unmerges merged cells.-reqUnmergeCells :: Lens' Request' (Maybe UnmergeCellsRequest)-reqUnmergeCells- = lens _reqUnmergeCells- (\ s a -> s{_reqUnmergeCells = a})---- | Updates the borders in a range of cells.-reqUpdateBOrders :: Lens' Request' (Maybe UpdateBOrdersRequest)-reqUpdateBOrders- = lens _reqUpdateBOrders- (\ s a -> s{_reqUpdateBOrders = a})---- | Appends dimensions to the end of a sheet.-reqAppendDimension :: Lens' Request' (Maybe AppendDimensionRequest)-reqAppendDimension- = lens _reqAppendDimension- (\ s a -> s{_reqAppendDimension = a})---- | Sets data validation for one or more cells.-reqSetDataValidation :: Lens' Request' (Maybe SetDataValidationRequest)-reqSetDataValidation- = lens _reqSetDataValidation- (\ s a -> s{_reqSetDataValidation = a})--instance FromJSON Request' where- parseJSON- = withObject "Request"- (\ o ->- Request'' <$>- (o .:? "addFilterView") <*>- (o .:? "deleteProtectedRange")- <*> (o .:? "updateProtectedRange")- <*> (o .:? "updateCells")- <*> (o .:? "duplicateFilterView")- <*> (o .:? "addConditionalFormatRule")- <*> (o .:? "sortRange")- <*> (o .:? "updateNamedRange")- <*> (o .:? "deleteNamedRange")- <*> (o .:? "insertRange")- <*> (o .:? "deleteBanding")- <*> (o .:? "updateBanding")- <*> (o .:? "clearBasicFilter")- <*> (o .:? "appendCells")- <*> (o .:? "pasteData")- <*> (o .:? "updateEmbeddedObjectPosition")- <*> (o .:? "deleteRange")- <*> (o .:? "copyPaste")- <*> (o .:? "autoResizeDimensions")- <*> (o .:? "addSheet")- <*> (o .:? "findReplace")- <*> (o .:? "deleteDimension")- <*> (o .:? "cutPaste")- <*> (o .:? "moveDimension")- <*> (o .:? "repeatCell")- <*> (o .:? "addProtectedRange")- <*> (o .:? "updateFilterView")- <*> (o .:? "deleteFilterView")- <*> (o .:? "insertDimension")- <*> (o .:? "updateSheetProperties")- <*> (o .:? "deleteConditionalFormatRule")- <*> (o .:? "updateConditionalFormatRule")- <*> (o .:? "deleteEmbeddedObject")- <*> (o .:? "mergeCells")- <*> (o .:? "addNamedRange")- <*> (o .:? "addChart")- <*> (o .:? "addBanding")- <*> (o .:? "duplicateSheet")- <*> (o .:? "autoFill")- <*> (o .:? "updateDimensionProperties")- <*> (o .:? "updateChartSpec")- <*> (o .:? "setBasicFilter")- <*> (o .:? "textToColumns")- <*> (o .:? "updateSpreadsheetProperties")- <*> (o .:? "deleteSheet")- <*> (o .:? "unmergeCells")- <*> (o .:? "updateBorders")- <*> (o .:? "appendDimension")- <*> (o .:? "setDataValidation"))--instance ToJSON Request' where- toJSON Request''{..}- = object- (catMaybes- [("addFilterView" .=) <$> _reqAddFilterView,- ("deleteProtectedRange" .=) <$>- _reqDeleteProtectedRange,- ("updateProtectedRange" .=) <$>- _reqUpdateProtectedRange,- ("updateCells" .=) <$> _reqUpdateCells,- ("duplicateFilterView" .=) <$>- _reqDuplicateFilterView,- ("addConditionalFormatRule" .=) <$>- _reqAddConditionalFormatRule,- ("sortRange" .=) <$> _reqSortRange,- ("updateNamedRange" .=) <$> _reqUpdateNamedRange,- ("deleteNamedRange" .=) <$> _reqDeleteNamedRange,- ("insertRange" .=) <$> _reqInsertRange,- ("deleteBanding" .=) <$> _reqDeleteBanding,- ("updateBanding" .=) <$> _reqUpdateBanding,- ("clearBasicFilter" .=) <$> _reqClearBasicFilter,- ("appendCells" .=) <$> _reqAppendCells,- ("pasteData" .=) <$> _reqPasteData,- ("updateEmbeddedObjectPosition" .=) <$>- _reqUpdateEmbeddedObjectPosition,- ("deleteRange" .=) <$> _reqDeleteRange,- ("copyPaste" .=) <$> _reqCopyPaste,- ("autoResizeDimensions" .=) <$>- _reqAutoResizeDimensions,- ("addSheet" .=) <$> _reqAddSheet,- ("findReplace" .=) <$> _reqFindReplace,- ("deleteDimension" .=) <$> _reqDeleteDimension,- ("cutPaste" .=) <$> _reqCutPaste,- ("moveDimension" .=) <$> _reqMoveDimension,- ("repeatCell" .=) <$> _reqRepeatCell,- ("addProtectedRange" .=) <$> _reqAddProtectedRange,- ("updateFilterView" .=) <$> _reqUpdateFilterView,- ("deleteFilterView" .=) <$> _reqDeleteFilterView,- ("insertDimension" .=) <$> _reqInsertDimension,- ("updateSheetProperties" .=) <$>- _reqUpdateSheetProperties,- ("deleteConditionalFormatRule" .=) <$>- _reqDeleteConditionalFormatRule,- ("updateConditionalFormatRule" .=) <$>- _reqUpdateConditionalFormatRule,- ("deleteEmbeddedObject" .=) <$>- _reqDeleteEmbeddedObject,- ("mergeCells" .=) <$> _reqMergeCells,- ("addNamedRange" .=) <$> _reqAddNamedRange,- ("addChart" .=) <$> _reqAddChart,- ("addBanding" .=) <$> _reqAddBanding,- ("duplicateSheet" .=) <$> _reqDuplicateSheet,- ("autoFill" .=) <$> _reqAutoFill,- ("updateDimensionProperties" .=) <$>- _reqUpdateDimensionProperties,- ("updateChartSpec" .=) <$> _reqUpdateChartSpec,- ("setBasicFilter" .=) <$> _reqSetBasicFilter,- ("textToColumns" .=) <$> _reqTextToColumns,- ("updateSpreadsheetProperties" .=) <$>- _reqUpdateSpreadsheetProperties,- ("deleteSheet" .=) <$> _reqDeleteSheet,- ("unmergeCells" .=) <$> _reqUnmergeCells,- ("updateBorders" .=) <$> _reqUpdateBOrders,- ("appendDimension" .=) <$> _reqAppendDimension,- ("setDataValidation" .=) <$> _reqSetDataValidation])+ , _unrrFields :: !(Maybe GFieldMask)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateNamedRangeRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'unrrNamedRange'+--+-- * 'unrrFields'+updateNamedRangeRequest+ :: UpdateNamedRangeRequest+updateNamedRangeRequest =+ UpdateNamedRangeRequest'+ { _unrrNamedRange = Nothing+ , _unrrFields = Nothing+ }++-- | The named range to update with the new properties.+unrrNamedRange :: Lens' UpdateNamedRangeRequest (Maybe NamedRange)+unrrNamedRange+ = lens _unrrNamedRange+ (\ s a -> s{_unrrNamedRange = a})++-- | The fields that should be updated. At least one field must be specified.+-- The root \`namedRange\` is implied and should not be specified. A single+-- \`\"*\"\` can be used as short-hand for listing every field.+unrrFields :: Lens' UpdateNamedRangeRequest (Maybe GFieldMask)+unrrFields+ = lens _unrrFields (\ s a -> s{_unrrFields = a})++instance FromJSON UpdateNamedRangeRequest where+ parseJSON+ = withObject "UpdateNamedRangeRequest"+ (\ o ->+ UpdateNamedRangeRequest' <$>+ (o .:? "namedRange") <*> (o .:? "fields"))++instance ToJSON UpdateNamedRangeRequest where+ toJSON UpdateNamedRangeRequest'{..}+ = object+ (catMaybes+ [("namedRange" .=) <$> _unrrNamedRange,+ ("fields" .=) <$> _unrrFields])++-- | The data included in a domain or series.+--+-- /See:/ 'chartData' smart constructor.+newtype ChartData = ChartData'+ { _cdSourceRange :: Maybe ChartSourceRange+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ChartData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdSourceRange'+chartData+ :: ChartData+chartData =+ ChartData'+ { _cdSourceRange = Nothing+ }++-- | The source ranges of the data.+cdSourceRange :: Lens' ChartData (Maybe ChartSourceRange)+cdSourceRange+ = lens _cdSourceRange+ (\ s a -> s{_cdSourceRange = a})++instance FromJSON ChartData where+ parseJSON+ = withObject "ChartData"+ (\ o -> ChartData' <$> (o .:? "sourceRange"))++instance ToJSON ChartData where+ toJSON ChartData'{..}+ = object+ (catMaybes [("sourceRange" .=) <$> _cdSourceRange])++-- | The request for clearing more than one range of values in a spreadsheet.+--+-- /See:/ 'batchClearValuesRequest' smart constructor.+newtype BatchClearValuesRequest = BatchClearValuesRequest'+ { _bcvrRanges :: Maybe [Text]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BatchClearValuesRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bcvrRanges'+batchClearValuesRequest+ :: BatchClearValuesRequest+batchClearValuesRequest =+ BatchClearValuesRequest'+ { _bcvrRanges = Nothing+ }++-- | The ranges to clear, in A1 notation.+bcvrRanges :: Lens' BatchClearValuesRequest [Text]+bcvrRanges+ = lens _bcvrRanges (\ s a -> s{_bcvrRanges = a}) .+ _Default+ . _Coerce++instance FromJSON BatchClearValuesRequest where+ parseJSON+ = withObject "BatchClearValuesRequest"+ (\ o ->+ BatchClearValuesRequest' <$>+ (o .:? "ranges" .!= mempty))++instance ToJSON BatchClearValuesRequest where+ toJSON BatchClearValuesRequest'{..}+ = object (catMaybes [("ranges" .=) <$> _bcvrRanges])++-- | The response from creating developer metadata.+--+-- /See:/ 'createDeveloperMetadataResponse' smart constructor.+newtype CreateDeveloperMetadataResponse = CreateDeveloperMetadataResponse'+ { _cdmrDeveloperMetadata :: Maybe DeveloperMetadata+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateDeveloperMetadataResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdmrDeveloperMetadata'+createDeveloperMetadataResponse+ :: CreateDeveloperMetadataResponse+createDeveloperMetadataResponse =+ CreateDeveloperMetadataResponse'+ { _cdmrDeveloperMetadata = Nothing+ }++-- | The developer metadata that was created.+cdmrDeveloperMetadata :: Lens' CreateDeveloperMetadataResponse (Maybe DeveloperMetadata)+cdmrDeveloperMetadata+ = lens _cdmrDeveloperMetadata+ (\ s a -> s{_cdmrDeveloperMetadata = a})++instance FromJSON CreateDeveloperMetadataResponse+ where+ parseJSON+ = withObject "CreateDeveloperMetadataResponse"+ (\ o ->+ CreateDeveloperMetadataResponse' <$>+ (o .:? "developerMetadata"))++instance ToJSON CreateDeveloperMetadataResponse where+ toJSON CreateDeveloperMetadataResponse'{..}+ = object+ (catMaybes+ [("developerMetadata" .=) <$>+ _cdmrDeveloperMetadata])++-- | Allows you to organize the date-time values in a source data column into+-- buckets based on selected parts of their date or time values. For+-- example, consider a pivot table showing sales transactions by date:+-- +----------+--------------+ | Date | SUM of Sales |+-- +----------+--------------+ | 1\/1\/2017 | $621.14 | | 2\/3\/2017 |+-- $708.84 | | 5\/8\/2017 | $326.84 | ... +----------+--------------++-- Applying a date-time group rule with a DateTimeRuleType of YEAR_MONTH+-- results in the following pivot table. +--------------+--------------+ |+-- Grouped Date | SUM of Sales | +--------------+--------------+ | 2017-Jan+-- | $53,731.78 | | 2017-Feb | $83,475.32 | | 2017-Mar | $94,385.05 | ...+-- +--------------+--------------++--+-- /See:/ 'dateTimeRule' smart constructor.+newtype DateTimeRule = DateTimeRule'+ { _dtrType :: Maybe DateTimeRuleType+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DateTimeRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dtrType'+dateTimeRule+ :: DateTimeRule+dateTimeRule =+ DateTimeRule'+ { _dtrType = Nothing+ }++-- | The type of date-time grouping to apply.+dtrType :: Lens' DateTimeRule (Maybe DateTimeRuleType)+dtrType = lens _dtrType (\ s a -> s{_dtrType = a})++instance FromJSON DateTimeRule where+ parseJSON+ = withObject "DateTimeRule"+ (\ o -> DateTimeRule' <$> (o .:? "type"))++instance ToJSON DateTimeRule where+ toJSON DateTimeRule'{..}+ = object (catMaybes [("type" .=) <$> _dtrType])++-- | Properties of a spreadsheet.+--+-- /See:/ 'spreadsheetProperties' smart constructor.+data SpreadsheetProperties = SpreadsheetProperties'+ { _spDefaultFormat :: !(Maybe CellFormat)+ , _spLocale :: !(Maybe Text)+ , _spIterativeCalculationSettings :: !(Maybe IterativeCalculationSettings)+ , _spAutoRecalc :: !(Maybe SpreadsheetPropertiesAutoRecalc)+ , _spTitle :: !(Maybe Text)+ , _spTimeZone :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SpreadsheetProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'spDefaultFormat'+--+-- * 'spLocale'+--+-- * 'spIterativeCalculationSettings'+--+-- * 'spAutoRecalc'+--+-- * 'spTitle'+--+-- * 'spTimeZone'+spreadsheetProperties+ :: SpreadsheetProperties+spreadsheetProperties =+ SpreadsheetProperties'+ { _spDefaultFormat = Nothing+ , _spLocale = Nothing+ , _spIterativeCalculationSettings = Nothing+ , _spAutoRecalc = Nothing+ , _spTitle = Nothing+ , _spTimeZone = Nothing+ }++-- | The default format of all cells in the spreadsheet.+-- CellData.effectiveFormat will not be set if the cell\'s format is equal+-- to this default format. This field is read-only.+spDefaultFormat :: Lens' SpreadsheetProperties (Maybe CellFormat)+spDefaultFormat+ = lens _spDefaultFormat+ (\ s a -> s{_spDefaultFormat = a})++-- | The locale of the spreadsheet in one of the following formats: * an ISO+-- 639-1 language code such as \`en\` * an ISO 639-2 language code such as+-- \`fil\`, if no 639-1 code exists * a combination of the ISO language+-- code and country code, such as \`en_US\` Note: when updating this field,+-- not all locales\/languages are supported.+spLocale :: Lens' SpreadsheetProperties (Maybe Text)+spLocale = lens _spLocale (\ s a -> s{_spLocale = a})++-- | Determines whether and how circular references are resolved with+-- iterative calculation. Absence of this field means that circular+-- references will result in calculation errors.+spIterativeCalculationSettings :: Lens' SpreadsheetProperties (Maybe IterativeCalculationSettings)+spIterativeCalculationSettings+ = lens _spIterativeCalculationSettings+ (\ s a -> s{_spIterativeCalculationSettings = a})++-- | The amount of time to wait before volatile functions are recalculated.+spAutoRecalc :: Lens' SpreadsheetProperties (Maybe SpreadsheetPropertiesAutoRecalc)+spAutoRecalc+ = lens _spAutoRecalc (\ s a -> s{_spAutoRecalc = a})++-- | The title of the spreadsheet.+spTitle :: Lens' SpreadsheetProperties (Maybe Text)+spTitle = lens _spTitle (\ s a -> s{_spTitle = a})++-- | The time zone of the spreadsheet, in CLDR format such as+-- \`America\/New_York\`. If the time zone isn\'t recognized, this may be a+-- custom time zone such as \`GMT-07:00\`.+spTimeZone :: Lens' SpreadsheetProperties (Maybe Text)+spTimeZone+ = lens _spTimeZone (\ s a -> s{_spTimeZone = a})++instance FromJSON SpreadsheetProperties where+ parseJSON+ = withObject "SpreadsheetProperties"+ (\ o ->+ SpreadsheetProperties' <$>+ (o .:? "defaultFormat") <*> (o .:? "locale") <*>+ (o .:? "iterativeCalculationSettings")+ <*> (o .:? "autoRecalc")+ <*> (o .:? "title")+ <*> (o .:? "timeZone"))++instance ToJSON SpreadsheetProperties where+ toJSON SpreadsheetProperties'{..}+ = object+ (catMaybes+ [("defaultFormat" .=) <$> _spDefaultFormat,+ ("locale" .=) <$> _spLocale,+ ("iterativeCalculationSettings" .=) <$>+ _spIterativeCalculationSettings,+ ("autoRecalc" .=) <$> _spAutoRecalc,+ ("title" .=) <$> _spTitle,+ ("timeZone" .=) <$> _spTimeZone])++-- | The borders of the cell.+--+-- /See:/ 'bOrders' smart constructor.+data BOrders = BOrders'+ { _boBottom :: !(Maybe BOrder)+ , _boLeft :: !(Maybe BOrder)+ , _boRight :: !(Maybe BOrder)+ , _boTop :: !(Maybe BOrder)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BOrders' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'boBottom'+--+-- * 'boLeft'+--+-- * 'boRight'+--+-- * 'boTop'+bOrders+ :: BOrders+bOrders =+ BOrders'+ { _boBottom = Nothing+ , _boLeft = Nothing+ , _boRight = Nothing+ , _boTop = Nothing+ }++-- | The bottom border of the cell.+boBottom :: Lens' BOrders (Maybe BOrder)+boBottom = lens _boBottom (\ s a -> s{_boBottom = a})++-- | The left border of the cell.+boLeft :: Lens' BOrders (Maybe BOrder)+boLeft = lens _boLeft (\ s a -> s{_boLeft = a})++-- | The right border of the cell.+boRight :: Lens' BOrders (Maybe BOrder)+boRight = lens _boRight (\ s a -> s{_boRight = a})++-- | The top border of the cell.+boTop :: Lens' BOrders (Maybe BOrder)+boTop = lens _boTop (\ s a -> s{_boTop = a})++instance FromJSON BOrders where+ parseJSON+ = withObject "BOrders"+ (\ o ->+ BOrders' <$>+ (o .:? "bottom") <*> (o .:? "left") <*>+ (o .:? "right")+ <*> (o .:? "top"))++instance ToJSON BOrders where+ toJSON BOrders'{..}+ = object+ (catMaybes+ [("bottom" .=) <$> _boBottom,+ ("left" .=) <$> _boLeft, ("right" .=) <$> _boRight,+ ("top" .=) <$> _boTop])++-- | The request for clearing more than one range selected by a DataFilter in+-- a spreadsheet.+--+-- /See:/ 'batchClearValuesByDataFilterRequest' smart constructor.+newtype BatchClearValuesByDataFilterRequest = BatchClearValuesByDataFilterRequest'+ { _bcvbdfrDataFilters :: Maybe [DataFilter]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BatchClearValuesByDataFilterRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bcvbdfrDataFilters'+batchClearValuesByDataFilterRequest+ :: BatchClearValuesByDataFilterRequest+batchClearValuesByDataFilterRequest =+ BatchClearValuesByDataFilterRequest'+ { _bcvbdfrDataFilters = Nothing+ }++-- | The DataFilters used to determine which ranges to clear.+bcvbdfrDataFilters :: Lens' BatchClearValuesByDataFilterRequest [DataFilter]+bcvbdfrDataFilters+ = lens _bcvbdfrDataFilters+ (\ s a -> s{_bcvbdfrDataFilters = a})+ . _Default+ . _Coerce++instance FromJSON BatchClearValuesByDataFilterRequest+ where+ parseJSON+ = withObject "BatchClearValuesByDataFilterRequest"+ (\ o ->+ BatchClearValuesByDataFilterRequest' <$>+ (o .:? "dataFilters" .!= mempty))++instance ToJSON BatchClearValuesByDataFilterRequest+ where+ toJSON BatchClearValuesByDataFilterRequest'{..}+ = object+ (catMaybes+ [("dataFilters" .=) <$> _bcvbdfrDataFilters])++-- | A run of a text format. The format of this run continues until the start+-- index of the next run. When updating, all fields must be set.+--+-- /See:/ 'textFormatRun' smart constructor.+data TextFormatRun = TextFormatRun'+ { _tfrFormat :: !(Maybe TextFormat)+ , _tfrStartIndex :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TextFormatRun' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tfrFormat'+--+-- * 'tfrStartIndex'+textFormatRun+ :: TextFormatRun+textFormatRun =+ TextFormatRun'+ { _tfrFormat = Nothing+ , _tfrStartIndex = Nothing+ }++-- | The format of this run. Absent values inherit the cell\'s format.+tfrFormat :: Lens' TextFormatRun (Maybe TextFormat)+tfrFormat+ = lens _tfrFormat (\ s a -> s{_tfrFormat = a})++-- | The character index where this run starts.+tfrStartIndex :: Lens' TextFormatRun (Maybe Int32)+tfrStartIndex+ = lens _tfrStartIndex+ (\ s a -> s{_tfrStartIndex = a})+ . mapping _Coerce++instance FromJSON TextFormatRun where+ parseJSON+ = withObject "TextFormatRun"+ (\ o ->+ TextFormatRun' <$>+ (o .:? "format") <*> (o .:? "startIndex"))++instance ToJSON TextFormatRun where+ toJSON TextFormatRun'{..}+ = object+ (catMaybes+ [("format" .=) <$> _tfrFormat,+ ("startIndex" .=) <$> _tfrStartIndex])++-- | Deletes a group over the specified range by decrementing the depth of+-- the dimensions in the range. For example, assume the sheet has a depth-1+-- group over B:E and a depth-2 group over C:D. Deleting a group over D:E+-- leaves the sheet with a depth-1 group over B:D and a depth-2 group over+-- C:C.+--+-- /See:/ 'deleteDimensionGroupRequest' smart constructor.+newtype DeleteDimensionGroupRequest = DeleteDimensionGroupRequest'+ { _ddgrRange :: Maybe DimensionRange+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteDimensionGroupRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddgrRange'+deleteDimensionGroupRequest+ :: DeleteDimensionGroupRequest+deleteDimensionGroupRequest =+ DeleteDimensionGroupRequest'+ { _ddgrRange = Nothing+ }++-- | The range of the group to be deleted.+ddgrRange :: Lens' DeleteDimensionGroupRequest (Maybe DimensionRange)+ddgrRange+ = lens _ddgrRange (\ s a -> s{_ddgrRange = a})++instance FromJSON DeleteDimensionGroupRequest where+ parseJSON+ = withObject "DeleteDimensionGroupRequest"+ (\ o ->+ DeleteDimensionGroupRequest' <$> (o .:? "range"))++instance ToJSON DeleteDimensionGroupRequest where+ toJSON DeleteDimensionGroupRequest'{..}+ = object (catMaybes [("range" .=) <$> _ddgrRange])++-- | Updates the state of the specified group.+--+-- /See:/ 'updateDimensionGroupRequest' smart constructor.+data UpdateDimensionGroupRequest = UpdateDimensionGroupRequest'+ { _udgrDimensionGroup :: !(Maybe DimensionGroup)+ , _udgrFields :: !(Maybe GFieldMask)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateDimensionGroupRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'udgrDimensionGroup'+--+-- * 'udgrFields'+updateDimensionGroupRequest+ :: UpdateDimensionGroupRequest+updateDimensionGroupRequest =+ UpdateDimensionGroupRequest'+ { _udgrDimensionGroup = Nothing+ , _udgrFields = Nothing+ }++-- | The group whose state should be updated. The range and depth of the+-- group should specify a valid group on the sheet, and all other fields+-- updated.+udgrDimensionGroup :: Lens' UpdateDimensionGroupRequest (Maybe DimensionGroup)+udgrDimensionGroup+ = lens _udgrDimensionGroup+ (\ s a -> s{_udgrDimensionGroup = a})++-- | The fields that should be updated. At least one field must be specified.+-- The root \`dimensionGroup\` is implied and should not be specified. A+-- single \`\"*\"\` can be used as short-hand for listing every field.+udgrFields :: Lens' UpdateDimensionGroupRequest (Maybe GFieldMask)+udgrFields+ = lens _udgrFields (\ s a -> s{_udgrFields = a})++instance FromJSON UpdateDimensionGroupRequest where+ parseJSON+ = withObject "UpdateDimensionGroupRequest"+ (\ o ->+ UpdateDimensionGroupRequest' <$>+ (o .:? "dimensionGroup") <*> (o .:? "fields"))++instance ToJSON UpdateDimensionGroupRequest where+ toJSON UpdateDimensionGroupRequest'{..}+ = object+ (catMaybes+ [("dimensionGroup" .=) <$> _udgrDimensionGroup,+ ("fields" .=) <$> _udgrFields])++-- | Adds a new sheet. When a sheet is added at a given index, all subsequent+-- sheets\' indexes are incremented. To add an object sheet, use+-- AddChartRequest instead and specify EmbeddedObjectPosition.sheetId or+-- EmbeddedObjectPosition.newSheet.+--+-- /See:/ 'addSheetRequest' smart constructor.+newtype AddSheetRequest = AddSheetRequest'+ { _asrProperties :: Maybe SheetProperties+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AddSheetRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'asrProperties'+addSheetRequest+ :: AddSheetRequest+addSheetRequest =+ AddSheetRequest'+ { _asrProperties = Nothing+ }++-- | The properties the new sheet should have. All properties are optional.+-- The sheetId field is optional; if one is not set, an id will be randomly+-- generated. (It is an error to specify the ID of a sheet that already+-- exists.)+asrProperties :: Lens' AddSheetRequest (Maybe SheetProperties)+asrProperties+ = lens _asrProperties+ (\ s a -> s{_asrProperties = a})++instance FromJSON AddSheetRequest where+ parseJSON+ = withObject "AddSheetRequest"+ (\ o -> AddSheetRequest' <$> (o .:? "properties"))++instance ToJSON AddSheetRequest where+ toJSON AddSheetRequest'{..}+ = object+ (catMaybes [("properties" .=) <$> _asrProperties])++-- | A sort order associated with a specific column or row.+--+-- /See:/ 'sortSpec' smart constructor.+data SortSpec = SortSpec'+ { _ssSortOrder :: !(Maybe SortSpecSortOrder)+ , _ssDimensionIndex :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SortSpec' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssSortOrder'+--+-- * 'ssDimensionIndex'+sortSpec+ :: SortSpec+sortSpec =+ SortSpec'+ { _ssSortOrder = Nothing+ , _ssDimensionIndex = Nothing+ }++-- | The order data should be sorted.+ssSortOrder :: Lens' SortSpec (Maybe SortSpecSortOrder)+ssSortOrder+ = lens _ssSortOrder (\ s a -> s{_ssSortOrder = a})++-- | The dimension the sort should be applied to.+ssDimensionIndex :: Lens' SortSpec (Maybe Int32)+ssDimensionIndex+ = lens _ssDimensionIndex+ (\ s a -> s{_ssDimensionIndex = a})+ . mapping _Coerce++instance FromJSON SortSpec where+ parseJSON+ = withObject "SortSpec"+ (\ o ->+ SortSpec' <$>+ (o .:? "sortOrder") <*> (o .:? "dimensionIndex"))++instance ToJSON SortSpec where+ toJSON SortSpec'{..}+ = object+ (catMaybes+ [("sortOrder" .=) <$> _ssSortOrder,+ ("dimensionIndex" .=) <$> _ssDimensionIndex])++-- | A group over an interval of rows or columns on a sheet, which can+-- contain or be contained within other groups. A group can be collapsed or+-- expanded as a unit on the sheet.+--+-- /See:/ 'dimensionGroup' smart constructor.+data DimensionGroup = DimensionGroup'+ { _dgCollapsed :: !(Maybe Bool)+ , _dgRange :: !(Maybe DimensionRange)+ , _dgDepth :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DimensionGroup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dgCollapsed'+--+-- * 'dgRange'+--+-- * 'dgDepth'+dimensionGroup+ :: DimensionGroup+dimensionGroup =+ DimensionGroup'+ { _dgCollapsed = Nothing+ , _dgRange = Nothing+ , _dgDepth = Nothing+ }++-- | This field is true if this group is collapsed. A collapsed group remains+-- collapsed if an overlapping group at a shallower depth is expanded. A+-- true value does not imply that all dimensions within the group are+-- hidden, since a dimension\'s visibility can change independently from+-- this group property. However, when this property is updated, all+-- dimensions within it are set to hidden if this field is true, or set to+-- visible if this field is false.+dgCollapsed :: Lens' DimensionGroup (Maybe Bool)+dgCollapsed+ = lens _dgCollapsed (\ s a -> s{_dgCollapsed = a})++-- | The range over which this group exists.+dgRange :: Lens' DimensionGroup (Maybe DimensionRange)+dgRange = lens _dgRange (\ s a -> s{_dgRange = a})++-- | The depth of the group, representing how many groups have a range that+-- wholly contains the range of this group.+dgDepth :: Lens' DimensionGroup (Maybe Int32)+dgDepth+ = lens _dgDepth (\ s a -> s{_dgDepth = a}) .+ mapping _Coerce++instance FromJSON DimensionGroup where+ parseJSON+ = withObject "DimensionGroup"+ (\ o ->+ DimensionGroup' <$>+ (o .:? "collapsed") <*> (o .:? "range") <*>+ (o .:? "depth"))++instance ToJSON DimensionGroup where+ toJSON DimensionGroup'{..}+ = object+ (catMaybes+ [("collapsed" .=) <$> _dgCollapsed,+ ("range" .=) <$> _dgRange,+ ("depth" .=) <$> _dgDepth])++-- | Copies data from the source to the destination.+--+-- /See:/ 'copyPasteRequest' smart constructor.+data CopyPasteRequest = CopyPasteRequest'+ { _cprDestination :: !(Maybe GridRange)+ , _cprSource :: !(Maybe GridRange)+ , _cprPasteOrientation :: !(Maybe CopyPasteRequestPasteOrientation)+ , _cprPasteType :: !(Maybe CopyPasteRequestPasteType)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CopyPasteRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cprDestination'+--+-- * 'cprSource'+--+-- * 'cprPasteOrientation'+--+-- * 'cprPasteType'+copyPasteRequest+ :: CopyPasteRequest+copyPasteRequest =+ CopyPasteRequest'+ { _cprDestination = Nothing+ , _cprSource = Nothing+ , _cprPasteOrientation = Nothing+ , _cprPasteType = Nothing+ }++-- | The location to paste to. If the range covers a span that\'s a multiple+-- of the source\'s height or width, then the data will be repeated to fill+-- in the destination range. If the range is smaller than the source range,+-- the entire source data will still be copied (beyond the end of the+-- destination range).+cprDestination :: Lens' CopyPasteRequest (Maybe GridRange)+cprDestination+ = lens _cprDestination+ (\ s a -> s{_cprDestination = a})++-- | The source range to copy.+cprSource :: Lens' CopyPasteRequest (Maybe GridRange)+cprSource+ = lens _cprSource (\ s a -> s{_cprSource = a})++-- | How that data should be oriented when pasting.+cprPasteOrientation :: Lens' CopyPasteRequest (Maybe CopyPasteRequestPasteOrientation)+cprPasteOrientation+ = lens _cprPasteOrientation+ (\ s a -> s{_cprPasteOrientation = a})++-- | What kind of data to paste.+cprPasteType :: Lens' CopyPasteRequest (Maybe CopyPasteRequestPasteType)+cprPasteType+ = lens _cprPasteType (\ s a -> s{_cprPasteType = a})++instance FromJSON CopyPasteRequest where+ parseJSON+ = withObject "CopyPasteRequest"+ (\ o ->+ CopyPasteRequest' <$>+ (o .:? "destination") <*> (o .:? "source") <*>+ (o .:? "pasteOrientation")+ <*> (o .:? "pasteType"))++instance ToJSON CopyPasteRequest where+ toJSON CopyPasteRequest'{..}+ = object+ (catMaybes+ [("destination" .=) <$> _cprDestination,+ ("source" .=) <$> _cprSource,+ ("pasteOrientation" .=) <$> _cprPasteOrientation,+ ("pasteType" .=) <$> _cprPasteType])++-- | A range on a sheet. All indexes are zero-based. Indexes are half open,+-- e.g the start index is inclusive and the end index is exclusive --+-- [start_index, end_index). Missing indexes indicate the range is+-- unbounded on that side. For example, if \`\"Sheet1\"\` is sheet ID 0,+-- then: \`Sheet1!A1:A1 == sheet_id: 0, start_row_index: 0, end_row_index:+-- 1, start_column_index: 0, end_column_index: 1\` \`Sheet1!A3:B4 ==+-- sheet_id: 0, start_row_index: 2, end_row_index: 4, start_column_index:+-- 0, end_column_index: 2\` \`Sheet1!A:B == sheet_id: 0,+-- start_column_index: 0, end_column_index: 2\` \`Sheet1!A5:B == sheet_id:+-- 0, start_row_index: 4, start_column_index: 0, end_column_index: 2\`+-- \`Sheet1 == sheet_id:0\` The start index must always be less than or+-- equal to the end index. If the start index equals the end index, then+-- the range is empty. Empty ranges are typically not meaningful and are+-- usually rendered in the UI as \`#REF!\`.+--+-- /See:/ 'gridRange' smart constructor.+data GridRange = GridRange'+ { _grEndColumnIndex :: !(Maybe (Textual Int32))+ , _grStartColumnIndex :: !(Maybe (Textual Int32))+ , _grEndRowIndex :: !(Maybe (Textual Int32))+ , _grStartRowIndex :: !(Maybe (Textual Int32))+ , _grSheetId :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GridRange' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'grEndColumnIndex'+--+-- * 'grStartColumnIndex'+--+-- * 'grEndRowIndex'+--+-- * 'grStartRowIndex'+--+-- * 'grSheetId'+gridRange+ :: GridRange+gridRange =+ GridRange'+ { _grEndColumnIndex = Nothing+ , _grStartColumnIndex = Nothing+ , _grEndRowIndex = Nothing+ , _grStartRowIndex = Nothing+ , _grSheetId = Nothing+ }++-- | The end column (exclusive) of the range, or not set if unbounded.+grEndColumnIndex :: Lens' GridRange (Maybe Int32)+grEndColumnIndex+ = lens _grEndColumnIndex+ (\ s a -> s{_grEndColumnIndex = a})+ . mapping _Coerce++-- | The start column (inclusive) of the range, or not set if unbounded.+grStartColumnIndex :: Lens' GridRange (Maybe Int32)+grStartColumnIndex+ = lens _grStartColumnIndex+ (\ s a -> s{_grStartColumnIndex = a})+ . mapping _Coerce++-- | The end row (exclusive) of the range, or not set if unbounded.+grEndRowIndex :: Lens' GridRange (Maybe Int32)+grEndRowIndex+ = lens _grEndRowIndex+ (\ s a -> s{_grEndRowIndex = a})+ . mapping _Coerce++-- | The start row (inclusive) of the range, or not set if unbounded.+grStartRowIndex :: Lens' GridRange (Maybe Int32)+grStartRowIndex+ = lens _grStartRowIndex+ (\ s a -> s{_grStartRowIndex = a})+ . mapping _Coerce++-- | The sheet this range is on.+grSheetId :: Lens' GridRange (Maybe Int32)+grSheetId+ = lens _grSheetId (\ s a -> s{_grSheetId = a}) .+ mapping _Coerce++instance FromJSON GridRange where+ parseJSON+ = withObject "GridRange"+ (\ o ->+ GridRange' <$>+ (o .:? "endColumnIndex") <*>+ (o .:? "startColumnIndex")+ <*> (o .:? "endRowIndex")+ <*> (o .:? "startRowIndex")+ <*> (o .:? "sheetId"))++instance ToJSON GridRange where+ toJSON GridRange'{..}+ = object+ (catMaybes+ [("endColumnIndex" .=) <$> _grEndColumnIndex,+ ("startColumnIndex" .=) <$> _grStartColumnIndex,+ ("endRowIndex" .=) <$> _grEndRowIndex,+ ("startRowIndex" .=) <$> _grStartRowIndex,+ ("sheetId" .=) <$> _grSheetId])++-- | The result of adding a filter view.+--+-- /See:/ 'addFilterViewResponse' smart constructor.+newtype AddFilterViewResponse = AddFilterViewResponse'+ { _afvrFilter :: Maybe FilterView+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AddFilterViewResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'afvrFilter'+addFilterViewResponse+ :: AddFilterViewResponse+addFilterViewResponse =+ AddFilterViewResponse'+ { _afvrFilter = Nothing+ }++-- | The newly added filter view.+afvrFilter :: Lens' AddFilterViewResponse (Maybe FilterView)+afvrFilter+ = lens _afvrFilter (\ s a -> s{_afvrFilter = a})++instance FromJSON AddFilterViewResponse where+ parseJSON+ = withObject "AddFilterViewResponse"+ (\ o -> AddFilterViewResponse' <$> (o .:? "filter"))++instance ToJSON AddFilterViewResponse where+ toJSON AddFilterViewResponse'{..}+ = object (catMaybes [("filter" .=) <$> _afvrFilter])++-- | A condition that can evaluate to true or false. BooleanConditions are+-- used by conditional formatting, data validation, and the criteria in+-- filters.+--+-- /See:/ 'booleanCondition' smart constructor.+data BooleanCondition = BooleanCondition'+ { _bcValues :: !(Maybe [ConditionValue])+ , _bcType :: !(Maybe BooleanConditionType)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BooleanCondition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bcValues'+--+-- * 'bcType'+booleanCondition+ :: BooleanCondition+booleanCondition =+ BooleanCondition'+ { _bcValues = Nothing+ , _bcType = Nothing+ }++-- | The values of the condition. The number of supported values depends on+-- the condition type. Some support zero values, others one or two values,+-- and ConditionType.ONE_OF_LIST supports an arbitrary number of values.+bcValues :: Lens' BooleanCondition [ConditionValue]+bcValues+ = lens _bcValues (\ s a -> s{_bcValues = a}) .+ _Default+ . _Coerce++-- | The type of condition.+bcType :: Lens' BooleanCondition (Maybe BooleanConditionType)+bcType = lens _bcType (\ s a -> s{_bcType = a})++instance FromJSON BooleanCondition where+ parseJSON+ = withObject "BooleanCondition"+ (\ o ->+ BooleanCondition' <$>+ (o .:? "values" .!= mempty) <*> (o .:? "type"))++instance ToJSON BooleanCondition where+ toJSON BooleanCondition'{..}+ = object+ (catMaybes+ [("values" .=) <$> _bcValues,+ ("type" .=) <$> _bcType])++-- | Automatically resizes one or more dimensions based on the contents of+-- the cells in that dimension.+--+-- /See:/ 'autoResizeDimensionsRequest' smart constructor.+newtype AutoResizeDimensionsRequest = AutoResizeDimensionsRequest'+ { _ardrDimensions :: Maybe DimensionRange+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AutoResizeDimensionsRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ardrDimensions'+autoResizeDimensionsRequest+ :: AutoResizeDimensionsRequest+autoResizeDimensionsRequest =+ AutoResizeDimensionsRequest'+ { _ardrDimensions = Nothing+ }++-- | The dimensions to automatically resize.+ardrDimensions :: Lens' AutoResizeDimensionsRequest (Maybe DimensionRange)+ardrDimensions+ = lens _ardrDimensions+ (\ s a -> s{_ardrDimensions = a})++instance FromJSON AutoResizeDimensionsRequest where+ parseJSON+ = withObject "AutoResizeDimensionsRequest"+ (\ o ->+ AutoResizeDimensionsRequest' <$>+ (o .:? "dimensions"))++instance ToJSON AutoResizeDimensionsRequest where+ toJSON AutoResizeDimensionsRequest'{..}+ = object+ (catMaybes [("dimensions" .=) <$> _ardrDimensions])++-- | A </chart/interactive/docs/gallery/bubblechart bubble chart>.+--+-- /See:/ 'bubbleChartSpec' smart constructor.+data BubbleChartSpec = BubbleChartSpec'+ { _bcsBubbleTextStyle :: !(Maybe TextFormat)+ , _bcsBubbleBOrderColor :: !(Maybe Color)+ , _bcsLegendPosition :: !(Maybe BubbleChartSpecLegendPosition)+ , _bcsDomain :: !(Maybe ChartData)+ , _bcsSeries :: !(Maybe ChartData)+ , _bcsBubbleLabels :: !(Maybe ChartData)+ , _bcsGroupIds :: !(Maybe ChartData)+ , _bcsBubbleMinRadiusSize :: !(Maybe (Textual Int32))+ , _bcsBubbleMaxRadiusSize :: !(Maybe (Textual Int32))+ , _bcsBubbleOpacity :: !(Maybe (Textual Double))+ , _bcsBubbleSizes :: !(Maybe ChartData)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BubbleChartSpec' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bcsBubbleTextStyle'+--+-- * 'bcsBubbleBOrderColor'+--+-- * 'bcsLegendPosition'+--+-- * 'bcsDomain'+--+-- * 'bcsSeries'+--+-- * 'bcsBubbleLabels'+--+-- * 'bcsGroupIds'+--+-- * 'bcsBubbleMinRadiusSize'+--+-- * 'bcsBubbleMaxRadiusSize'+--+-- * 'bcsBubbleOpacity'+--+-- * 'bcsBubbleSizes'+bubbleChartSpec+ :: BubbleChartSpec+bubbleChartSpec =+ BubbleChartSpec'+ { _bcsBubbleTextStyle = Nothing+ , _bcsBubbleBOrderColor = Nothing+ , _bcsLegendPosition = Nothing+ , _bcsDomain = Nothing+ , _bcsSeries = Nothing+ , _bcsBubbleLabels = Nothing+ , _bcsGroupIds = Nothing+ , _bcsBubbleMinRadiusSize = Nothing+ , _bcsBubbleMaxRadiusSize = Nothing+ , _bcsBubbleOpacity = Nothing+ , _bcsBubbleSizes = Nothing+ }++-- | The format of the text inside the bubbles. Underline and Strikethrough+-- are not supported.+bcsBubbleTextStyle :: Lens' BubbleChartSpec (Maybe TextFormat)+bcsBubbleTextStyle+ = lens _bcsBubbleTextStyle+ (\ s a -> s{_bcsBubbleTextStyle = a})++-- | The bubble border color.+bcsBubbleBOrderColor :: Lens' BubbleChartSpec (Maybe Color)+bcsBubbleBOrderColor+ = lens _bcsBubbleBOrderColor+ (\ s a -> s{_bcsBubbleBOrderColor = a})++-- | Where the legend of the chart should be drawn.+bcsLegendPosition :: Lens' BubbleChartSpec (Maybe BubbleChartSpecLegendPosition)+bcsLegendPosition+ = lens _bcsLegendPosition+ (\ s a -> s{_bcsLegendPosition = a})++-- | The data containing the bubble x-values. These values locate the bubbles+-- in the chart horizontally.+bcsDomain :: Lens' BubbleChartSpec (Maybe ChartData)+bcsDomain+ = lens _bcsDomain (\ s a -> s{_bcsDomain = a})++-- | The data contianing the bubble y-values. These values locate the bubbles+-- in the chart vertically.+bcsSeries :: Lens' BubbleChartSpec (Maybe ChartData)+bcsSeries+ = lens _bcsSeries (\ s a -> s{_bcsSeries = a})++-- | The data containing the bubble labels. These do not need to be unique.+bcsBubbleLabels :: Lens' BubbleChartSpec (Maybe ChartData)+bcsBubbleLabels+ = lens _bcsBubbleLabels+ (\ s a -> s{_bcsBubbleLabels = a})++-- | The data containing the bubble group IDs. All bubbles with the same+-- group ID are drawn in the same color. If bubble_sizes is specified then+-- this field must also be specified but may contain blank values. This+-- field is optional.+bcsGroupIds :: Lens' BubbleChartSpec (Maybe ChartData)+bcsGroupIds+ = lens _bcsGroupIds (\ s a -> s{_bcsGroupIds = a})++-- | The minimum radius size of the bubbles, in pixels. If specific, the+-- field must be a positive value.+bcsBubbleMinRadiusSize :: Lens' BubbleChartSpec (Maybe Int32)+bcsBubbleMinRadiusSize+ = lens _bcsBubbleMinRadiusSize+ (\ s a -> s{_bcsBubbleMinRadiusSize = a})+ . mapping _Coerce++-- | The max radius size of the bubbles, in pixels. If specified, the field+-- must be a positive value.+bcsBubbleMaxRadiusSize :: Lens' BubbleChartSpec (Maybe Int32)+bcsBubbleMaxRadiusSize+ = lens _bcsBubbleMaxRadiusSize+ (\ s a -> s{_bcsBubbleMaxRadiusSize = a})+ . mapping _Coerce++-- | The opacity of the bubbles between 0 and 1.0. 0 is fully transparent and+-- 1 is fully opaque.+bcsBubbleOpacity :: Lens' BubbleChartSpec (Maybe Double)+bcsBubbleOpacity+ = lens _bcsBubbleOpacity+ (\ s a -> s{_bcsBubbleOpacity = a})+ . mapping _Coerce++-- | The data contianing the bubble sizes. Bubble sizes are used to draw the+-- bubbles at different sizes relative to each other. If specified,+-- group_ids must also be specified. This field is optional.+bcsBubbleSizes :: Lens' BubbleChartSpec (Maybe ChartData)+bcsBubbleSizes+ = lens _bcsBubbleSizes+ (\ s a -> s{_bcsBubbleSizes = a})++instance FromJSON BubbleChartSpec where+ parseJSON+ = withObject "BubbleChartSpec"+ (\ o ->+ BubbleChartSpec' <$>+ (o .:? "bubbleTextStyle") <*>+ (o .:? "bubbleBorderColor")+ <*> (o .:? "legendPosition")+ <*> (o .:? "domain")+ <*> (o .:? "series")+ <*> (o .:? "bubbleLabels")+ <*> (o .:? "groupIds")+ <*> (o .:? "bubbleMinRadiusSize")+ <*> (o .:? "bubbleMaxRadiusSize")+ <*> (o .:? "bubbleOpacity")+ <*> (o .:? "bubbleSizes"))++instance ToJSON BubbleChartSpec where+ toJSON BubbleChartSpec'{..}+ = object+ (catMaybes+ [("bubbleTextStyle" .=) <$> _bcsBubbleTextStyle,+ ("bubbleBorderColor" .=) <$> _bcsBubbleBOrderColor,+ ("legendPosition" .=) <$> _bcsLegendPosition,+ ("domain" .=) <$> _bcsDomain,+ ("series" .=) <$> _bcsSeries,+ ("bubbleLabels" .=) <$> _bcsBubbleLabels,+ ("groupIds" .=) <$> _bcsGroupIds,+ ("bubbleMinRadiusSize" .=) <$>+ _bcsBubbleMinRadiusSize,+ ("bubbleMaxRadiusSize" .=) <$>+ _bcsBubbleMaxRadiusSize,+ ("bubbleOpacity" .=) <$> _bcsBubbleOpacity,+ ("bubbleSizes" .=) <$> _bcsBubbleSizes])++-- | Deletes a range of cells, shifting other cells into the deleted area.+--+-- /See:/ 'deleteRangeRequest' smart constructor.+data DeleteRangeRequest = DeleteRangeRequest'+ { _drrShiftDimension :: !(Maybe DeleteRangeRequestShiftDimension)+ , _drrRange :: !(Maybe GridRange)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteRangeRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drrShiftDimension'+--+-- * 'drrRange'+deleteRangeRequest+ :: DeleteRangeRequest+deleteRangeRequest =+ DeleteRangeRequest'+ { _drrShiftDimension = Nothing+ , _drrRange = Nothing+ }++-- | The dimension from which deleted cells will be replaced with. If ROWS,+-- existing cells will be shifted upward to replace the deleted cells. If+-- COLUMNS, existing cells will be shifted left to replace the deleted+-- cells.+drrShiftDimension :: Lens' DeleteRangeRequest (Maybe DeleteRangeRequestShiftDimension)+drrShiftDimension+ = lens _drrShiftDimension+ (\ s a -> s{_drrShiftDimension = a})++-- | The range of cells to delete.+drrRange :: Lens' DeleteRangeRequest (Maybe GridRange)+drrRange = lens _drrRange (\ s a -> s{_drrRange = a})++instance FromJSON DeleteRangeRequest where+ parseJSON+ = withObject "DeleteRangeRequest"+ (\ o ->+ DeleteRangeRequest' <$>+ (o .:? "shiftDimension") <*> (o .:? "range"))++instance ToJSON DeleteRangeRequest where+ toJSON DeleteRangeRequest'{..}+ = object+ (catMaybes+ [("shiftDimension" .=) <$> _drrShiftDimension,+ ("range" .=) <$> _drrRange])++-- | A sheet in a spreadsheet.+--+-- /See:/ 'sheet' smart constructor.+data Sheet = Sheet'+ { _sColumnGroups :: !(Maybe [DimensionGroup])+ , _sData :: !(Maybe [GridData])+ , _sMerges :: !(Maybe [GridRange])+ , _sRowGroups :: !(Maybe [DimensionGroup])+ , _sProtectedRanges :: !(Maybe [ProtectedRange])+ , _sBandedRanges :: !(Maybe [BandedRange])+ , _sCharts :: !(Maybe [EmbeddedChart])+ , _sBasicFilter :: !(Maybe BasicFilter)+ , _sDeveloperMetadata :: !(Maybe [DeveloperMetadata])+ , _sConditionalFormats :: !(Maybe [ConditionalFormatRule])+ , _sFilterViews :: !(Maybe [FilterView])+ , _sProperties :: !(Maybe SheetProperties)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Sheet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sColumnGroups'+--+-- * 'sData'+--+-- * 'sMerges'+--+-- * 'sRowGroups'+--+-- * 'sProtectedRanges'+--+-- * 'sBandedRanges'+--+-- * 'sCharts'+--+-- * 'sBasicFilter'+--+-- * 'sDeveloperMetadata'+--+-- * 'sConditionalFormats'+--+-- * 'sFilterViews'+--+-- * 'sProperties'+sheet+ :: Sheet+sheet =+ Sheet'+ { _sColumnGroups = Nothing+ , _sData = Nothing+ , _sMerges = Nothing+ , _sRowGroups = Nothing+ , _sProtectedRanges = Nothing+ , _sBandedRanges = Nothing+ , _sCharts = Nothing+ , _sBasicFilter = Nothing+ , _sDeveloperMetadata = Nothing+ , _sConditionalFormats = Nothing+ , _sFilterViews = Nothing+ , _sProperties = Nothing+ }++-- | All column groups on this sheet, ordered by increasing range start+-- index, then by group depth.+sColumnGroups :: Lens' Sheet [DimensionGroup]+sColumnGroups+ = lens _sColumnGroups+ (\ s a -> s{_sColumnGroups = a})+ . _Default+ . _Coerce++-- | Data in the grid, if this is a grid sheet. The number of GridData+-- objects returned is dependent on the number of ranges requested on this+-- sheet. For example, if this is representing \`Sheet1\`, and the+-- spreadsheet was requested with ranges \`Sheet1!A1:C10\` and+-- \`Sheet1!D15:E20\`, then the first GridData will have a+-- startRow\/startColumn of \`0\`, while the second one will have+-- \`startRow 14\` (zero-based row 15), and \`startColumn 3\` (zero-based+-- column D).+sData :: Lens' Sheet [GridData]+sData+ = lens _sData (\ s a -> s{_sData = a}) . _Default .+ _Coerce++-- | The ranges that are merged together.+sMerges :: Lens' Sheet [GridRange]+sMerges+ = lens _sMerges (\ s a -> s{_sMerges = a}) . _Default+ . _Coerce++-- | All row groups on this sheet, ordered by increasing range start index,+-- then by group depth.+sRowGroups :: Lens' Sheet [DimensionGroup]+sRowGroups+ = lens _sRowGroups (\ s a -> s{_sRowGroups = a}) .+ _Default+ . _Coerce++-- | The protected ranges in this sheet.+sProtectedRanges :: Lens' Sheet [ProtectedRange]+sProtectedRanges+ = lens _sProtectedRanges+ (\ s a -> s{_sProtectedRanges = a})+ . _Default+ . _Coerce++-- | The banded (alternating colors) ranges on this sheet.+sBandedRanges :: Lens' Sheet [BandedRange]+sBandedRanges+ = lens _sBandedRanges+ (\ s a -> s{_sBandedRanges = a})+ . _Default+ . _Coerce++-- | The specifications of every chart on this sheet.+sCharts :: Lens' Sheet [EmbeddedChart]+sCharts+ = lens _sCharts (\ s a -> s{_sCharts = a}) . _Default+ . _Coerce++-- | The filter on this sheet, if any.+sBasicFilter :: Lens' Sheet (Maybe BasicFilter)+sBasicFilter+ = lens _sBasicFilter (\ s a -> s{_sBasicFilter = a})++-- | The developer metadata associated with a sheet.+sDeveloperMetadata :: Lens' Sheet [DeveloperMetadata]+sDeveloperMetadata+ = lens _sDeveloperMetadata+ (\ s a -> s{_sDeveloperMetadata = a})+ . _Default+ . _Coerce++-- | The conditional format rules in this sheet.+sConditionalFormats :: Lens' Sheet [ConditionalFormatRule]+sConditionalFormats+ = lens _sConditionalFormats+ (\ s a -> s{_sConditionalFormats = a})+ . _Default+ . _Coerce++-- | The filter views in this sheet.+sFilterViews :: Lens' Sheet [FilterView]+sFilterViews+ = lens _sFilterViews (\ s a -> s{_sFilterViews = a})+ . _Default+ . _Coerce++-- | The properties of the sheet.+sProperties :: Lens' Sheet (Maybe SheetProperties)+sProperties+ = lens _sProperties (\ s a -> s{_sProperties = a})++instance FromJSON Sheet where+ parseJSON+ = withObject "Sheet"+ (\ o ->+ Sheet' <$>+ (o .:? "columnGroups" .!= mempty) <*>+ (o .:? "data" .!= mempty)+ <*> (o .:? "merges" .!= mempty)+ <*> (o .:? "rowGroups" .!= mempty)+ <*> (o .:? "protectedRanges" .!= mempty)+ <*> (o .:? "bandedRanges" .!= mempty)+ <*> (o .:? "charts" .!= mempty)+ <*> (o .:? "basicFilter")+ <*> (o .:? "developerMetadata" .!= mempty)+ <*> (o .:? "conditionalFormats" .!= mempty)+ <*> (o .:? "filterViews" .!= mempty)+ <*> (o .:? "properties"))++instance ToJSON Sheet where+ toJSON Sheet'{..}+ = object+ (catMaybes+ [("columnGroups" .=) <$> _sColumnGroups,+ ("data" .=) <$> _sData, ("merges" .=) <$> _sMerges,+ ("rowGroups" .=) <$> _sRowGroups,+ ("protectedRanges" .=) <$> _sProtectedRanges,+ ("bandedRanges" .=) <$> _sBandedRanges,+ ("charts" .=) <$> _sCharts,+ ("basicFilter" .=) <$> _sBasicFilter,+ ("developerMetadata" .=) <$> _sDeveloperMetadata,+ ("conditionalFormats" .=) <$> _sConditionalFormats,+ ("filterViews" .=) <$> _sFilterViews,+ ("properties" .=) <$> _sProperties])++-- | A coordinate in a sheet. All indexes are zero-based.+--+-- /See:/ 'gridCoordinate' smart constructor.+data GridCoordinate = GridCoordinate'+ { _gcColumnIndex :: !(Maybe (Textual Int32))+ , _gcRowIndex :: !(Maybe (Textual Int32))+ , _gcSheetId :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GridCoordinate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gcColumnIndex'+--+-- * 'gcRowIndex'+--+-- * 'gcSheetId'+gridCoordinate+ :: GridCoordinate+gridCoordinate =+ GridCoordinate'+ { _gcColumnIndex = Nothing+ , _gcRowIndex = Nothing+ , _gcSheetId = Nothing+ }++-- | The column index of the coordinate.+gcColumnIndex :: Lens' GridCoordinate (Maybe Int32)+gcColumnIndex+ = lens _gcColumnIndex+ (\ s a -> s{_gcColumnIndex = a})+ . mapping _Coerce++-- | The row index of the coordinate.+gcRowIndex :: Lens' GridCoordinate (Maybe Int32)+gcRowIndex+ = lens _gcRowIndex (\ s a -> s{_gcRowIndex = a}) .+ mapping _Coerce++-- | The sheet this coordinate is on.+gcSheetId :: Lens' GridCoordinate (Maybe Int32)+gcSheetId+ = lens _gcSheetId (\ s a -> s{_gcSheetId = a}) .+ mapping _Coerce++instance FromJSON GridCoordinate where+ parseJSON+ = withObject "GridCoordinate"+ (\ o ->+ GridCoordinate' <$>+ (o .:? "columnIndex") <*> (o .:? "rowIndex") <*>+ (o .:? "sheetId"))++instance ToJSON GridCoordinate where+ toJSON GridCoordinate'{..}+ = object+ (catMaybes+ [("columnIndex" .=) <$> _gcColumnIndex,+ ("rowIndex" .=) <$> _gcRowIndex,+ ("sheetId" .=) <$> _gcSheetId])++-- | The response when clearing a range of values in a spreadsheet.+--+-- /See:/ 'clearValuesResponse' smart constructor.+data ClearValuesResponse = ClearValuesResponse'+ { _cvrClearedRange :: !(Maybe Text)+ , _cvrSpreadsheetId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClearValuesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cvrClearedRange'+--+-- * 'cvrSpreadsheetId'+clearValuesResponse+ :: ClearValuesResponse+clearValuesResponse =+ ClearValuesResponse'+ { _cvrClearedRange = Nothing+ , _cvrSpreadsheetId = Nothing+ }++-- | The range (in A1 notation) that was cleared. (If the request was for an+-- unbounded range or a ranger larger than the bounds of the sheet, this+-- will be the actual range that was cleared, bounded to the sheet\'s+-- limits.)+cvrClearedRange :: Lens' ClearValuesResponse (Maybe Text)+cvrClearedRange+ = lens _cvrClearedRange+ (\ s a -> s{_cvrClearedRange = a})++-- | The spreadsheet the updates were applied to.+cvrSpreadsheetId :: Lens' ClearValuesResponse (Maybe Text)+cvrSpreadsheetId+ = lens _cvrSpreadsheetId+ (\ s a -> s{_cvrSpreadsheetId = a})++instance FromJSON ClearValuesResponse where+ parseJSON+ = withObject "ClearValuesResponse"+ (\ o ->+ ClearValuesResponse' <$>+ (o .:? "clearedRange") <*> (o .:? "spreadsheetId"))++instance ToJSON ClearValuesResponse where+ toJSON ClearValuesResponse'{..}+ = object+ (catMaybes+ [("clearedRange" .=) <$> _cvrClearedRange,+ ("spreadsheetId" .=) <$> _cvrSpreadsheetId])++-- | Clears the basic filter, if any exists on the sheet.+--+-- /See:/ 'clearBasicFilterRequest' smart constructor.+newtype ClearBasicFilterRequest = ClearBasicFilterRequest'+ { _cbfrSheetId :: Maybe (Textual Int32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClearBasicFilterRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cbfrSheetId'+clearBasicFilterRequest+ :: ClearBasicFilterRequest+clearBasicFilterRequest =+ ClearBasicFilterRequest'+ { _cbfrSheetId = Nothing+ }++-- | The sheet ID on which the basic filter should be cleared.+cbfrSheetId :: Lens' ClearBasicFilterRequest (Maybe Int32)+cbfrSheetId+ = lens _cbfrSheetId (\ s a -> s{_cbfrSheetId = a}) .+ mapping _Coerce++instance FromJSON ClearBasicFilterRequest where+ parseJSON+ = withObject "ClearBasicFilterRequest"+ (\ o ->+ ClearBasicFilterRequest' <$> (o .:? "sheetId"))++instance ToJSON ClearBasicFilterRequest where+ toJSON ClearBasicFilterRequest'{..}+ = object+ (catMaybes [("sheetId" .=) <$> _cbfrSheetId])++-- | Update an embedded object\'s position (such as a moving or resizing a+-- chart or image).+--+-- /See:/ 'updateEmbeddedObjectPositionRequest' smart constructor.+data UpdateEmbeddedObjectPositionRequest = UpdateEmbeddedObjectPositionRequest'+ { _ueoprNewPosition :: !(Maybe EmbeddedObjectPosition)+ , _ueoprObjectId :: !(Maybe (Textual Int32))+ , _ueoprFields :: !(Maybe GFieldMask)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateEmbeddedObjectPositionRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ueoprNewPosition'+--+-- * 'ueoprObjectId'+--+-- * 'ueoprFields'+updateEmbeddedObjectPositionRequest+ :: UpdateEmbeddedObjectPositionRequest+updateEmbeddedObjectPositionRequest =+ UpdateEmbeddedObjectPositionRequest'+ { _ueoprNewPosition = Nothing+ , _ueoprObjectId = Nothing+ , _ueoprFields = Nothing+ }++-- | An explicit position to move the embedded object to. If+-- newPosition.sheetId is set, a new sheet with that ID will be created. If+-- newPosition.newSheet is set to true, a new sheet will be created with an+-- ID that will be chosen for you.+ueoprNewPosition :: Lens' UpdateEmbeddedObjectPositionRequest (Maybe EmbeddedObjectPosition)+ueoprNewPosition+ = lens _ueoprNewPosition+ (\ s a -> s{_ueoprNewPosition = a})++-- | The ID of the object to moved.+ueoprObjectId :: Lens' UpdateEmbeddedObjectPositionRequest (Maybe Int32)+ueoprObjectId+ = lens _ueoprObjectId+ (\ s a -> s{_ueoprObjectId = a})+ . mapping _Coerce++-- | The fields of OverlayPosition that should be updated when setting a new+-- position. Used only if newPosition.overlayPosition is set, in which case+-- at least one field must be specified. The root+-- \`newPosition.overlayPosition\` is implied and should not be specified.+-- A single \`\"*\"\` can be used as short-hand for listing every field.+ueoprFields :: Lens' UpdateEmbeddedObjectPositionRequest (Maybe GFieldMask)+ueoprFields+ = lens _ueoprFields (\ s a -> s{_ueoprFields = a})++instance FromJSON UpdateEmbeddedObjectPositionRequest+ where+ parseJSON+ = withObject "UpdateEmbeddedObjectPositionRequest"+ (\ o ->+ UpdateEmbeddedObjectPositionRequest' <$>+ (o .:? "newPosition") <*> (o .:? "objectId") <*>+ (o .:? "fields"))++instance ToJSON UpdateEmbeddedObjectPositionRequest+ where+ toJSON UpdateEmbeddedObjectPositionRequest'{..}+ = object+ (catMaybes+ [("newPosition" .=) <$> _ueoprNewPosition,+ ("objectId" .=) <$> _ueoprObjectId,+ ("fields" .=) <$> _ueoprFields])++-- | A rule that may or may not match, depending on the condition.+--+-- /See:/ 'booleanRule' smart constructor.+data BooleanRule = BooleanRule'+ { _brFormat :: !(Maybe CellFormat)+ , _brCondition :: !(Maybe BooleanCondition)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BooleanRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'brFormat'+--+-- * 'brCondition'+booleanRule+ :: BooleanRule+booleanRule =+ BooleanRule'+ { _brFormat = Nothing+ , _brCondition = Nothing+ }++-- | The format to apply. Conditional formatting can only apply a subset of+-- formatting: bold, italic, strikethrough, foreground color & background+-- color.+brFormat :: Lens' BooleanRule (Maybe CellFormat)+brFormat = lens _brFormat (\ s a -> s{_brFormat = a})++-- | The condition of the rule. If the condition evaluates to true, the+-- format is applied.+brCondition :: Lens' BooleanRule (Maybe BooleanCondition)+brCondition+ = lens _brCondition (\ s a -> s{_brCondition = a})++instance FromJSON BooleanRule where+ parseJSON+ = withObject "BooleanRule"+ (\ o ->+ BooleanRule' <$>+ (o .:? "format") <*> (o .:? "condition"))++instance ToJSON BooleanRule where+ toJSON BooleanRule'{..}+ = object+ (catMaybes+ [("format" .=) <$> _brFormat,+ ("condition" .=) <$> _brCondition])++-- | The response when retrieving more than one range of values in a+-- spreadsheet selected by DataFilters.+--+-- /See:/ 'batchGetValuesByDataFilterResponse' smart constructor.+data BatchGetValuesByDataFilterResponse = BatchGetValuesByDataFilterResponse'+ { _bgvbdfrSpreadsheetId :: !(Maybe Text)+ , _bgvbdfrValueRanges :: !(Maybe [MatchedValueRange])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BatchGetValuesByDataFilterResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bgvbdfrSpreadsheetId'+--+-- * 'bgvbdfrValueRanges'+batchGetValuesByDataFilterResponse+ :: BatchGetValuesByDataFilterResponse+batchGetValuesByDataFilterResponse =+ BatchGetValuesByDataFilterResponse'+ { _bgvbdfrSpreadsheetId = Nothing+ , _bgvbdfrValueRanges = Nothing+ }++-- | The ID of the spreadsheet the data was retrieved from.+bgvbdfrSpreadsheetId :: Lens' BatchGetValuesByDataFilterResponse (Maybe Text)+bgvbdfrSpreadsheetId+ = lens _bgvbdfrSpreadsheetId+ (\ s a -> s{_bgvbdfrSpreadsheetId = a})++-- | The requested values with the list of data filters that matched them.+bgvbdfrValueRanges :: Lens' BatchGetValuesByDataFilterResponse [MatchedValueRange]+bgvbdfrValueRanges+ = lens _bgvbdfrValueRanges+ (\ s a -> s{_bgvbdfrValueRanges = a})+ . _Default+ . _Coerce++instance FromJSON BatchGetValuesByDataFilterResponse+ where+ parseJSON+ = withObject "BatchGetValuesByDataFilterResponse"+ (\ o ->+ BatchGetValuesByDataFilterResponse' <$>+ (o .:? "spreadsheetId") <*>+ (o .:? "valueRanges" .!= mempty))++instance ToJSON BatchGetValuesByDataFilterResponse+ where+ toJSON BatchGetValuesByDataFilterResponse'{..}+ = object+ (catMaybes+ [("spreadsheetId" .=) <$> _bgvbdfrSpreadsheetId,+ ("valueRanges" .=) <$> _bgvbdfrValueRanges])++-- | A combination of a source range and how to extend that source.+--+-- /See:/ 'sourceAndDestination' smart constructor.+data SourceAndDestination = SourceAndDestination'+ { _sadDimension :: !(Maybe SourceAndDestinationDimension)+ , _sadSource :: !(Maybe GridRange)+ , _sadFillLength :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SourceAndDestination' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sadDimension'+--+-- * 'sadSource'+--+-- * 'sadFillLength'+sourceAndDestination+ :: SourceAndDestination+sourceAndDestination =+ SourceAndDestination'+ { _sadDimension = Nothing+ , _sadSource = Nothing+ , _sadFillLength = Nothing+ }++-- | The dimension that data should be filled into.+sadDimension :: Lens' SourceAndDestination (Maybe SourceAndDestinationDimension)+sadDimension+ = lens _sadDimension (\ s a -> s{_sadDimension = a})++-- | The location of the data to use as the source of the autofill.+sadSource :: Lens' SourceAndDestination (Maybe GridRange)+sadSource+ = lens _sadSource (\ s a -> s{_sadSource = a})++-- | The number of rows or columns that data should be filled into. Positive+-- numbers expand beyond the last row or last column of the source.+-- Negative numbers expand before the first row or first column of the+-- source.+sadFillLength :: Lens' SourceAndDestination (Maybe Int32)+sadFillLength+ = lens _sadFillLength+ (\ s a -> s{_sadFillLength = a})+ . mapping _Coerce++instance FromJSON SourceAndDestination where+ parseJSON+ = withObject "SourceAndDestination"+ (\ o ->+ SourceAndDestination' <$>+ (o .:? "dimension") <*> (o .:? "source") <*>+ (o .:? "fillLength"))++instance ToJSON SourceAndDestination where+ toJSON SourceAndDestination'{..}+ = object+ (catMaybes+ [("dimension" .=) <$> _sadDimension,+ ("source" .=) <$> _sadSource,+ ("fillLength" .=) <$> _sadFillLength])++-- | Inserts data into the spreadsheet starting at the specified coordinate.+--+-- /See:/ 'pasteDataRequest' smart constructor.+data PasteDataRequest = PasteDataRequest'+ { _pdrData :: !(Maybe Text)+ , _pdrCoordinate :: !(Maybe GridCoordinate)+ , _pdrHTML :: !(Maybe Bool)+ , _pdrType :: !(Maybe PasteDataRequestType)+ , _pdrDelimiter :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PasteDataRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pdrData'+--+-- * 'pdrCoordinate'+--+-- * 'pdrHTML'+--+-- * 'pdrType'+--+-- * 'pdrDelimiter'+pasteDataRequest+ :: PasteDataRequest+pasteDataRequest =+ PasteDataRequest'+ { _pdrData = Nothing+ , _pdrCoordinate = Nothing+ , _pdrHTML = Nothing+ , _pdrType = Nothing+ , _pdrDelimiter = Nothing+ }++-- | The data to insert.+pdrData :: Lens' PasteDataRequest (Maybe Text)+pdrData = lens _pdrData (\ s a -> s{_pdrData = a})++-- | The coordinate at which the data should start being inserted.+pdrCoordinate :: Lens' PasteDataRequest (Maybe GridCoordinate)+pdrCoordinate+ = lens _pdrCoordinate+ (\ s a -> s{_pdrCoordinate = a})++-- | True if the data is HTML.+pdrHTML :: Lens' PasteDataRequest (Maybe Bool)+pdrHTML = lens _pdrHTML (\ s a -> s{_pdrHTML = a})++-- | How the data should be pasted.+pdrType :: Lens' PasteDataRequest (Maybe PasteDataRequestType)+pdrType = lens _pdrType (\ s a -> s{_pdrType = a})++-- | The delimiter in the data.+pdrDelimiter :: Lens' PasteDataRequest (Maybe Text)+pdrDelimiter+ = lens _pdrDelimiter (\ s a -> s{_pdrDelimiter = a})++instance FromJSON PasteDataRequest where+ parseJSON+ = withObject "PasteDataRequest"+ (\ o ->+ PasteDataRequest' <$>+ (o .:? "data") <*> (o .:? "coordinate") <*>+ (o .:? "html")+ <*> (o .:? "type")+ <*> (o .:? "delimiter"))++instance ToJSON PasteDataRequest where+ toJSON PasteDataRequest'{..}+ = object+ (catMaybes+ [("data" .=) <$> _pdrData,+ ("coordinate" .=) <$> _pdrCoordinate,+ ("html" .=) <$> _pdrHTML, ("type" .=) <$> _pdrType,+ ("delimiter" .=) <$> _pdrDelimiter])++-- | Adds new cells after the last row with data in a sheet, inserting new+-- rows into the sheet if necessary.+--+-- /See:/ 'appendCellsRequest' smart constructor.+data AppendCellsRequest = AppendCellsRequest'+ { _acrRows :: !(Maybe [RowData])+ , _acrSheetId :: !(Maybe (Textual Int32))+ , _acrFields :: !(Maybe GFieldMask)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppendCellsRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'acrRows'+--+-- * 'acrSheetId'+--+-- * 'acrFields'+appendCellsRequest+ :: AppendCellsRequest+appendCellsRequest =+ AppendCellsRequest'+ { _acrRows = Nothing+ , _acrSheetId = Nothing+ , _acrFields = Nothing+ }++-- | The data to append.+acrRows :: Lens' AppendCellsRequest [RowData]+acrRows+ = lens _acrRows (\ s a -> s{_acrRows = a}) . _Default+ . _Coerce++-- | The sheet ID to append the data to.+acrSheetId :: Lens' AppendCellsRequest (Maybe Int32)+acrSheetId+ = lens _acrSheetId (\ s a -> s{_acrSheetId = a}) .+ mapping _Coerce++-- | The fields of CellData that should be updated. At least one field must+-- be specified. The root is the CellData; \'row.values.\' should not be+-- specified. A single \`\"*\"\` can be used as short-hand for listing+-- every field.+acrFields :: Lens' AppendCellsRequest (Maybe GFieldMask)+acrFields+ = lens _acrFields (\ s a -> s{_acrFields = a})++instance FromJSON AppendCellsRequest where+ parseJSON+ = withObject "AppendCellsRequest"+ (\ o ->+ AppendCellsRequest' <$>+ (o .:? "rows" .!= mempty) <*> (o .:? "sheetId") <*>+ (o .:? "fields"))++instance ToJSON AppendCellsRequest where+ toJSON AppendCellsRequest'{..}+ = object+ (catMaybes+ [("rows" .=) <$> _acrRows,+ ("sheetId" .=) <$> _acrSheetId,+ ("fields" .=) <$> _acrFields])++-- | The result of the find\/replace.+--+-- /See:/ 'findReplaceResponse' smart constructor.+data FindReplaceResponse = FindReplaceResponse'+ { _frrValuesChanged :: !(Maybe (Textual Int32))+ , _frrFormulasChanged :: !(Maybe (Textual Int32))+ , _frrRowsChanged :: !(Maybe (Textual Int32))+ , _frrSheetsChanged :: !(Maybe (Textual Int32))+ , _frrOccurrencesChanged :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FindReplaceResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'frrValuesChanged'+--+-- * 'frrFormulasChanged'+--+-- * 'frrRowsChanged'+--+-- * 'frrSheetsChanged'+--+-- * 'frrOccurrencesChanged'+findReplaceResponse+ :: FindReplaceResponse+findReplaceResponse =+ FindReplaceResponse'+ { _frrValuesChanged = Nothing+ , _frrFormulasChanged = Nothing+ , _frrRowsChanged = Nothing+ , _frrSheetsChanged = Nothing+ , _frrOccurrencesChanged = Nothing+ }++-- | The number of non-formula cells changed.+frrValuesChanged :: Lens' FindReplaceResponse (Maybe Int32)+frrValuesChanged+ = lens _frrValuesChanged+ (\ s a -> s{_frrValuesChanged = a})+ . mapping _Coerce++-- | The number of formula cells changed.+frrFormulasChanged :: Lens' FindReplaceResponse (Maybe Int32)+frrFormulasChanged+ = lens _frrFormulasChanged+ (\ s a -> s{_frrFormulasChanged = a})+ . mapping _Coerce++-- | The number of rows changed.+frrRowsChanged :: Lens' FindReplaceResponse (Maybe Int32)+frrRowsChanged+ = lens _frrRowsChanged+ (\ s a -> s{_frrRowsChanged = a})+ . mapping _Coerce++-- | The number of sheets changed.+frrSheetsChanged :: Lens' FindReplaceResponse (Maybe Int32)+frrSheetsChanged+ = lens _frrSheetsChanged+ (\ s a -> s{_frrSheetsChanged = a})+ . mapping _Coerce++-- | The number of occurrences (possibly multiple within a cell) changed. For+-- example, if replacing \`\"e\"\` with \`\"o\"\` in \`\"Google Sheets\"\`,+-- this would be \`\"3\"\` because \`\"Google Sheets\"\` -> \`\"Googlo+-- Shoots\"\`.+frrOccurrencesChanged :: Lens' FindReplaceResponse (Maybe Int32)+frrOccurrencesChanged+ = lens _frrOccurrencesChanged+ (\ s a -> s{_frrOccurrencesChanged = a})+ . mapping _Coerce++instance FromJSON FindReplaceResponse where+ parseJSON+ = withObject "FindReplaceResponse"+ (\ o ->+ FindReplaceResponse' <$>+ (o .:? "valuesChanged") <*> (o .:? "formulasChanged")+ <*> (o .:? "rowsChanged")+ <*> (o .:? "sheetsChanged")+ <*> (o .:? "occurrencesChanged"))++instance ToJSON FindReplaceResponse where+ toJSON FindReplaceResponse'{..}+ = object+ (catMaybes+ [("valuesChanged" .=) <$> _frrValuesChanged,+ ("formulasChanged" .=) <$> _frrFormulasChanged,+ ("rowsChanged" .=) <$> _frrRowsChanged,+ ("sheetsChanged" .=) <$> _frrSheetsChanged,+ ("occurrencesChanged" .=) <$>+ _frrOccurrencesChanged])++-- | The result of adding a group.+--+-- /See:/ 'addDimensionGroupResponse' smart constructor.+newtype AddDimensionGroupResponse = AddDimensionGroupResponse'+ { _adgrDimensionGroups :: Maybe [DimensionGroup]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AddDimensionGroupResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'adgrDimensionGroups'+addDimensionGroupResponse+ :: AddDimensionGroupResponse+addDimensionGroupResponse =+ AddDimensionGroupResponse'+ { _adgrDimensionGroups = Nothing+ }++-- | All groups of a dimension after adding a group to that dimension.+adgrDimensionGroups :: Lens' AddDimensionGroupResponse [DimensionGroup]+adgrDimensionGroups+ = lens _adgrDimensionGroups+ (\ s a -> s{_adgrDimensionGroups = a})+ . _Default+ . _Coerce++instance FromJSON AddDimensionGroupResponse where+ parseJSON+ = withObject "AddDimensionGroupResponse"+ (\ o ->+ AddDimensionGroupResponse' <$>+ (o .:? "dimensionGroups" .!= mempty))++instance ToJSON AddDimensionGroupResponse where+ toJSON AddDimensionGroupResponse'{..}+ = object+ (catMaybes+ [("dimensionGroups" .=) <$> _adgrDimensionGroups])++-- | A </chart/interactive/docs/gallery/piechart pie chart>.+--+-- /See:/ 'pieChartSpec' smart constructor.+data PieChartSpec = PieChartSpec'+ { _pcsPieHole :: !(Maybe (Textual Double))+ , _pcsLegendPosition :: !(Maybe PieChartSpecLegendPosition)+ , _pcsDomain :: !(Maybe ChartData)+ , _pcsSeries :: !(Maybe ChartData)+ , _pcsThreeDimensional :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PieChartSpec' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pcsPieHole'+--+-- * 'pcsLegendPosition'+--+-- * 'pcsDomain'+--+-- * 'pcsSeries'+--+-- * 'pcsThreeDimensional'+pieChartSpec+ :: PieChartSpec+pieChartSpec =+ PieChartSpec'+ { _pcsPieHole = Nothing+ , _pcsLegendPosition = Nothing+ , _pcsDomain = Nothing+ , _pcsSeries = Nothing+ , _pcsThreeDimensional = Nothing+ }++-- | The size of the hole in the pie chart.+pcsPieHole :: Lens' PieChartSpec (Maybe Double)+pcsPieHole+ = lens _pcsPieHole (\ s a -> s{_pcsPieHole = a}) .+ mapping _Coerce++-- | Where the legend of the pie chart should be drawn.+pcsLegendPosition :: Lens' PieChartSpec (Maybe PieChartSpecLegendPosition)+pcsLegendPosition+ = lens _pcsLegendPosition+ (\ s a -> s{_pcsLegendPosition = a})++-- | The data that covers the domain of the pie chart.+pcsDomain :: Lens' PieChartSpec (Maybe ChartData)+pcsDomain+ = lens _pcsDomain (\ s a -> s{_pcsDomain = a})++-- | The data that covers the one and only series of the pie chart.+pcsSeries :: Lens' PieChartSpec (Maybe ChartData)+pcsSeries+ = lens _pcsSeries (\ s a -> s{_pcsSeries = a})++-- | True if the pie is three dimensional.+pcsThreeDimensional :: Lens' PieChartSpec (Maybe Bool)+pcsThreeDimensional+ = lens _pcsThreeDimensional+ (\ s a -> s{_pcsThreeDimensional = a})++instance FromJSON PieChartSpec where+ parseJSON+ = withObject "PieChartSpec"+ (\ o ->+ PieChartSpec' <$>+ (o .:? "pieHole") <*> (o .:? "legendPosition") <*>+ (o .:? "domain")+ <*> (o .:? "series")+ <*> (o .:? "threeDimensional"))++instance ToJSON PieChartSpec where+ toJSON PieChartSpec'{..}+ = object+ (catMaybes+ [("pieHole" .=) <$> _pcsPieHole,+ ("legendPosition" .=) <$> _pcsLegendPosition,+ ("domain" .=) <$> _pcsDomain,+ ("series" .=) <$> _pcsSeries,+ ("threeDimensional" .=) <$> _pcsThreeDimensional])++-- | The response when updating a range of values in a spreadsheet.+--+-- /See:/ 'batchUpdateValuesByDataFilterResponse' smart constructor.+data BatchUpdateValuesByDataFilterResponse = BatchUpdateValuesByDataFilterResponse'+ { _buvbdfrTotalUpdatedColumns :: !(Maybe (Textual Int32))+ , _buvbdfrResponses :: !(Maybe [UpdateValuesByDataFilterResponse])+ , _buvbdfrSpreadsheetId :: !(Maybe Text)+ , _buvbdfrTotalUpdatedSheets :: !(Maybe (Textual Int32))+ , _buvbdfrTotalUpdatedCells :: !(Maybe (Textual Int32))+ , _buvbdfrTotalUpdatedRows :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BatchUpdateValuesByDataFilterResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'buvbdfrTotalUpdatedColumns'+--+-- * 'buvbdfrResponses'+--+-- * 'buvbdfrSpreadsheetId'+--+-- * 'buvbdfrTotalUpdatedSheets'+--+-- * 'buvbdfrTotalUpdatedCells'+--+-- * 'buvbdfrTotalUpdatedRows'+batchUpdateValuesByDataFilterResponse+ :: BatchUpdateValuesByDataFilterResponse+batchUpdateValuesByDataFilterResponse =+ BatchUpdateValuesByDataFilterResponse'+ { _buvbdfrTotalUpdatedColumns = Nothing+ , _buvbdfrResponses = Nothing+ , _buvbdfrSpreadsheetId = Nothing+ , _buvbdfrTotalUpdatedSheets = Nothing+ , _buvbdfrTotalUpdatedCells = Nothing+ , _buvbdfrTotalUpdatedRows = Nothing+ }++-- | The total number of columns where at least one cell in the column was+-- updated.+buvbdfrTotalUpdatedColumns :: Lens' BatchUpdateValuesByDataFilterResponse (Maybe Int32)+buvbdfrTotalUpdatedColumns+ = lens _buvbdfrTotalUpdatedColumns+ (\ s a -> s{_buvbdfrTotalUpdatedColumns = a})+ . mapping _Coerce++-- | The response for each range updated.+buvbdfrResponses :: Lens' BatchUpdateValuesByDataFilterResponse [UpdateValuesByDataFilterResponse]+buvbdfrResponses+ = lens _buvbdfrResponses+ (\ s a -> s{_buvbdfrResponses = a})+ . _Default+ . _Coerce++-- | The spreadsheet the updates were applied to.+buvbdfrSpreadsheetId :: Lens' BatchUpdateValuesByDataFilterResponse (Maybe Text)+buvbdfrSpreadsheetId+ = lens _buvbdfrSpreadsheetId+ (\ s a -> s{_buvbdfrSpreadsheetId = a})++-- | The total number of sheets where at least one cell in the sheet was+-- updated.+buvbdfrTotalUpdatedSheets :: Lens' BatchUpdateValuesByDataFilterResponse (Maybe Int32)+buvbdfrTotalUpdatedSheets+ = lens _buvbdfrTotalUpdatedSheets+ (\ s a -> s{_buvbdfrTotalUpdatedSheets = a})+ . mapping _Coerce++-- | The total number of cells updated.+buvbdfrTotalUpdatedCells :: Lens' BatchUpdateValuesByDataFilterResponse (Maybe Int32)+buvbdfrTotalUpdatedCells+ = lens _buvbdfrTotalUpdatedCells+ (\ s a -> s{_buvbdfrTotalUpdatedCells = a})+ . mapping _Coerce++-- | The total number of rows where at least one cell in the row was updated.+buvbdfrTotalUpdatedRows :: Lens' BatchUpdateValuesByDataFilterResponse (Maybe Int32)+buvbdfrTotalUpdatedRows+ = lens _buvbdfrTotalUpdatedRows+ (\ s a -> s{_buvbdfrTotalUpdatedRows = a})+ . mapping _Coerce++instance FromJSON+ BatchUpdateValuesByDataFilterResponse where+ parseJSON+ = withObject "BatchUpdateValuesByDataFilterResponse"+ (\ o ->+ BatchUpdateValuesByDataFilterResponse' <$>+ (o .:? "totalUpdatedColumns") <*>+ (o .:? "responses" .!= mempty)+ <*> (o .:? "spreadsheetId")+ <*> (o .:? "totalUpdatedSheets")+ <*> (o .:? "totalUpdatedCells")+ <*> (o .:? "totalUpdatedRows"))++instance ToJSON BatchUpdateValuesByDataFilterResponse+ where+ toJSON BatchUpdateValuesByDataFilterResponse'{..}+ = object+ (catMaybes+ [("totalUpdatedColumns" .=) <$>+ _buvbdfrTotalUpdatedColumns,+ ("responses" .=) <$> _buvbdfrResponses,+ ("spreadsheetId" .=) <$> _buvbdfrSpreadsheetId,+ ("totalUpdatedSheets" .=) <$>+ _buvbdfrTotalUpdatedSheets,+ ("totalUpdatedCells" .=) <$>+ _buvbdfrTotalUpdatedCells,+ ("totalUpdatedRows" .=) <$>+ _buvbdfrTotalUpdatedRows])++-- | The response when updating a range of values in a spreadsheet.+--+-- /See:/ 'appendValuesResponse' smart constructor.+data AppendValuesResponse = AppendValuesResponse'+ { _avrSpreadsheetId :: !(Maybe Text)+ , _avrUpdates :: !(Maybe UpdateValuesResponse)+ , _avrTableRange :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppendValuesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'avrSpreadsheetId'+--+-- * 'avrUpdates'+--+-- * 'avrTableRange'+appendValuesResponse+ :: AppendValuesResponse+appendValuesResponse =+ AppendValuesResponse'+ { _avrSpreadsheetId = Nothing+ , _avrUpdates = Nothing+ , _avrTableRange = Nothing+ }++-- | The spreadsheet the updates were applied to.+avrSpreadsheetId :: Lens' AppendValuesResponse (Maybe Text)+avrSpreadsheetId+ = lens _avrSpreadsheetId+ (\ s a -> s{_avrSpreadsheetId = a})++-- | Information about the updates that were applied.+avrUpdates :: Lens' AppendValuesResponse (Maybe UpdateValuesResponse)+avrUpdates+ = lens _avrUpdates (\ s a -> s{_avrUpdates = a})++-- | The range (in A1 notation) of the table that values are being appended+-- to (before the values were appended). Empty if no table was found.+avrTableRange :: Lens' AppendValuesResponse (Maybe Text)+avrTableRange+ = lens _avrTableRange+ (\ s a -> s{_avrTableRange = a})++instance FromJSON AppendValuesResponse where+ parseJSON+ = withObject "AppendValuesResponse"+ (\ o ->+ AppendValuesResponse' <$>+ (o .:? "spreadsheetId") <*> (o .:? "updates") <*>+ (o .:? "tableRange"))++instance ToJSON AppendValuesResponse where+ toJSON AppendValuesResponse'{..}+ = object+ (catMaybes+ [("spreadsheetId" .=) <$> _avrSpreadsheetId,+ ("updates" .=) <$> _avrUpdates,+ ("tableRange" .=) <$> _avrTableRange])++-- | A data validation rule.+--+-- /See:/ 'dataValidationRule' smart constructor.+data DataValidationRule = DataValidationRule'+ { _dvrShowCustomUi :: !(Maybe Bool)+ , _dvrInputMessage :: !(Maybe Text)+ , _dvrStrict :: !(Maybe Bool)+ , _dvrCondition :: !(Maybe BooleanCondition)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DataValidationRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvrShowCustomUi'+--+-- * 'dvrInputMessage'+--+-- * 'dvrStrict'+--+-- * 'dvrCondition'+dataValidationRule+ :: DataValidationRule+dataValidationRule =+ DataValidationRule'+ { _dvrShowCustomUi = Nothing+ , _dvrInputMessage = Nothing+ , _dvrStrict = Nothing+ , _dvrCondition = Nothing+ }++-- | True if the UI should be customized based on the kind of condition. If+-- true, \"List\" conditions will show a dropdown.+dvrShowCustomUi :: Lens' DataValidationRule (Maybe Bool)+dvrShowCustomUi+ = lens _dvrShowCustomUi+ (\ s a -> s{_dvrShowCustomUi = a})++-- | A message to show the user when adding data to the cell.+dvrInputMessage :: Lens' DataValidationRule (Maybe Text)+dvrInputMessage+ = lens _dvrInputMessage+ (\ s a -> s{_dvrInputMessage = a})++-- | True if invalid data should be rejected.+dvrStrict :: Lens' DataValidationRule (Maybe Bool)+dvrStrict+ = lens _dvrStrict (\ s a -> s{_dvrStrict = a})++-- | The condition that data in the cell must match.+dvrCondition :: Lens' DataValidationRule (Maybe BooleanCondition)+dvrCondition+ = lens _dvrCondition (\ s a -> s{_dvrCondition = a})++instance FromJSON DataValidationRule where+ parseJSON+ = withObject "DataValidationRule"+ (\ o ->+ DataValidationRule' <$>+ (o .:? "showCustomUi") <*> (o .:? "inputMessage") <*>+ (o .:? "strict")+ <*> (o .:? "condition"))++instance ToJSON DataValidationRule where+ toJSON DataValidationRule'{..}+ = object+ (catMaybes+ [("showCustomUi" .=) <$> _dvrShowCustomUi,+ ("inputMessage" .=) <$> _dvrInputMessage,+ ("strict" .=) <$> _dvrStrict,+ ("condition" .=) <$> _dvrCondition])++-- | A filter view.+--+-- /See:/ 'filterView' smart constructor.+data FilterView = FilterView'+ { _fvSortSpecs :: !(Maybe [SortSpec])+ , _fvNamedRangeId :: !(Maybe Text)+ , _fvRange :: !(Maybe GridRange)+ , _fvFilterViewId :: !(Maybe (Textual Int32))+ , _fvTitle :: !(Maybe Text)+ , _fvCriteria :: !(Maybe FilterViewCriteria)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FilterView' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fvSortSpecs'+--+-- * 'fvNamedRangeId'+--+-- * 'fvRange'+--+-- * 'fvFilterViewId'+--+-- * 'fvTitle'+--+-- * 'fvCriteria'+filterView+ :: FilterView+filterView =+ FilterView'+ { _fvSortSpecs = Nothing+ , _fvNamedRangeId = Nothing+ , _fvRange = Nothing+ , _fvFilterViewId = Nothing+ , _fvTitle = Nothing+ , _fvCriteria = Nothing+ }++-- | The sort order per column. Later specifications are used when values are+-- equal in the earlier specifications.+fvSortSpecs :: Lens' FilterView [SortSpec]+fvSortSpecs+ = lens _fvSortSpecs (\ s a -> s{_fvSortSpecs = a}) .+ _Default+ . _Coerce++-- | The named range this filter view is backed by, if any. When writing,+-- only one of range or named_range_id may be set.+fvNamedRangeId :: Lens' FilterView (Maybe Text)+fvNamedRangeId+ = lens _fvNamedRangeId+ (\ s a -> s{_fvNamedRangeId = a})++-- | The range this filter view covers. When writing, only one of range or+-- named_range_id may be set.+fvRange :: Lens' FilterView (Maybe GridRange)+fvRange = lens _fvRange (\ s a -> s{_fvRange = a})++-- | The ID of the filter view.+fvFilterViewId :: Lens' FilterView (Maybe Int32)+fvFilterViewId+ = lens _fvFilterViewId+ (\ s a -> s{_fvFilterViewId = a})+ . mapping _Coerce++-- | The name of the filter view.+fvTitle :: Lens' FilterView (Maybe Text)+fvTitle = lens _fvTitle (\ s a -> s{_fvTitle = a})++-- | The criteria for showing\/hiding values per column. The map\'s key is+-- the column index, and the value is the criteria for that column.+fvCriteria :: Lens' FilterView (Maybe FilterViewCriteria)+fvCriteria+ = lens _fvCriteria (\ s a -> s{_fvCriteria = a})++instance FromJSON FilterView where+ parseJSON+ = withObject "FilterView"+ (\ o ->+ FilterView' <$>+ (o .:? "sortSpecs" .!= mempty) <*>+ (o .:? "namedRangeId")+ <*> (o .:? "range")+ <*> (o .:? "filterViewId")+ <*> (o .:? "title")+ <*> (o .:? "criteria"))++instance ToJSON FilterView where+ toJSON FilterView'{..}+ = object+ (catMaybes+ [("sortSpecs" .=) <$> _fvSortSpecs,+ ("namedRangeId" .=) <$> _fvNamedRangeId,+ ("range" .=) <$> _fvRange,+ ("filterViewId" .=) <$> _fvFilterViewId,+ ("title" .=) <$> _fvTitle,+ ("criteria" .=) <$> _fvCriteria])++-- | Represents a color in the RGBA color space. This representation is+-- designed for simplicity of conversion to\/from color representations in+-- various languages over compactness; for example, the fields of this+-- representation can be trivially provided to the constructor of+-- \"java.awt.Color\" in Java; it can also be trivially provided to+-- UIColor\'s \"+colorWithRed:green:blue:alpha\" method in iOS; and, with+-- just a little work, it can be easily formatted into a CSS \"rgba()\"+-- string in JavaScript, as well. Here are some examples: Example (Java):+-- import com.google.type.Color; \/\/ ... public static java.awt.Color+-- fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ?+-- protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color(+-- protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(),+-- alpha); } public static Color toProto(java.awt.Color color) { float red+-- = (float) color.getRed(); float green = (float) color.getGreen(); float+-- blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder+-- resultBuilder = Color .newBuilder() .setRed(red \/ denominator)+-- .setGreen(green \/ denominator) .setBlue(blue \/ denominator); int alpha+-- = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue+-- .newBuilder() .setValue(((float) alpha) \/ denominator) .build()); }+-- return resultBuilder.build(); } \/\/ ... Example (iOS \/ Obj-C): \/\/+-- ... static UIColor* fromProto(Color* protocolor) { float red =+-- [protocolor red]; float green = [protocolor green]; float blue =+-- [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float+-- alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value];+-- } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; }+-- static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha;+-- if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return+-- nil; } Color* result = [[Color alloc] init]; [result setRed:red];+-- [result setGreen:green]; [result setBlue:blue]; if (alpha \<= 0.9999) {+-- [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease];+-- return result; } \/\/ ... Example (JavaScript): \/\/ ... var+-- protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red ||+-- 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac =+-- rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green =+-- Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if+-- (!(\'alpha\' in rgb_color)) { return rgbToCssColor_(red, green, blue); }+-- var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red,+-- green, blue].join(\',\'); return [\'rgba(\', rgbParams, \',\',+-- alphaFrac, \')\'].join(\'\'); }; var rgbToCssColor_ = function(red,+-- green, blue) { var rgbNumber = new Number((red \<\< 16) | (green \<\< 8)+-- | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 -+-- hexString.length; var resultBuilder = [\'#\']; for (var i = 0; i \<+-- missingZeros; i++) { resultBuilder.push(\'0\'); }+-- resultBuilder.push(hexString); return resultBuilder.join(\'\'); }; \/\/+-- ...+--+-- /See:/ 'color' smart constructor.+data Color = Color'+ { _cRed :: !(Maybe (Textual Double))+ , _cAlpha :: !(Maybe (Textual Double))+ , _cGreen :: !(Maybe (Textual Double))+ , _cBlue :: !(Maybe (Textual Double))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Color' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cRed'+--+-- * 'cAlpha'+--+-- * 'cGreen'+--+-- * 'cBlue'+color+ :: Color+color =+ Color'+ { _cRed = Nothing+ , _cAlpha = Nothing+ , _cGreen = Nothing+ , _cBlue = Nothing+ }++-- | The amount of red in the color as a value in the interval [0, 1].+cRed :: Lens' Color (Maybe Double)+cRed+ = lens _cRed (\ s a -> s{_cRed = a}) .+ mapping _Coerce++-- | The fraction of this color that should be applied to the pixel. That is,+-- the final pixel color is defined by the equation: pixel color = alpha *+-- (this color) + (1.0 - alpha) * (background color) This means that a+-- value of 1.0 corresponds to a solid color, whereas a value of 0.0+-- corresponds to a completely transparent color. This uses a wrapper+-- message rather than a simple float scalar so that it is possible to+-- distinguish between a default value and the value being unset. If+-- omitted, this color object is to be rendered as a solid color (as if the+-- alpha value had been explicitly given with a value of 1.0).+cAlpha :: Lens' Color (Maybe Double)+cAlpha+ = lens _cAlpha (\ s a -> s{_cAlpha = a}) .+ mapping _Coerce++-- | The amount of green in the color as a value in the interval [0, 1].+cGreen :: Lens' Color (Maybe Double)+cGreen+ = lens _cGreen (\ s a -> s{_cGreen = a}) .+ mapping _Coerce++-- | The amount of blue in the color as a value in the interval [0, 1].+cBlue :: Lens' Color (Maybe Double)+cBlue+ = lens _cBlue (\ s a -> s{_cBlue = a}) .+ mapping _Coerce++instance FromJSON Color where+ parseJSON+ = withObject "Color"+ (\ o ->+ Color' <$>+ (o .:? "red") <*> (o .:? "alpha") <*> (o .:? "green")+ <*> (o .:? "blue"))++instance ToJSON Color where+ toJSON Color'{..}+ = object+ (catMaybes+ [("red" .=) <$> _cRed, ("alpha" .=) <$> _cAlpha,+ ("green" .=) <$> _cGreen, ("blue" .=) <$> _cBlue])++-- | Deletes a particular filter view.+--+-- /See:/ 'deleteFilterViewRequest' smart constructor.+newtype DeleteFilterViewRequest = DeleteFilterViewRequest'+ { _dfvrFilterId :: Maybe (Textual Int32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteFilterViewRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dfvrFilterId'+deleteFilterViewRequest+ :: DeleteFilterViewRequest+deleteFilterViewRequest =+ DeleteFilterViewRequest'+ { _dfvrFilterId = Nothing+ }++-- | The ID of the filter to delete.+dfvrFilterId :: Lens' DeleteFilterViewRequest (Maybe Int32)+dfvrFilterId+ = lens _dfvrFilterId (\ s a -> s{_dfvrFilterId = a})+ . mapping _Coerce++instance FromJSON DeleteFilterViewRequest where+ parseJSON+ = withObject "DeleteFilterViewRequest"+ (\ o ->+ DeleteFilterViewRequest' <$> (o .:? "filterId"))++instance ToJSON DeleteFilterViewRequest where+ toJSON DeleteFilterViewRequest'{..}+ = object+ (catMaybes [("filterId" .=) <$> _dfvrFilterId])++-- | Updates properties of the filter view.+--+-- /See:/ 'updateFilterViewRequest' smart constructor.+data UpdateFilterViewRequest = UpdateFilterViewRequest'+ { _ufvrFilter :: !(Maybe FilterView)+ , _ufvrFields :: !(Maybe GFieldMask)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateFilterViewRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ufvrFilter'+--+-- * 'ufvrFields'+updateFilterViewRequest+ :: UpdateFilterViewRequest+updateFilterViewRequest =+ UpdateFilterViewRequest'+ { _ufvrFilter = Nothing+ , _ufvrFields = Nothing+ }++-- | The new properties of the filter view.+ufvrFilter :: Lens' UpdateFilterViewRequest (Maybe FilterView)+ufvrFilter+ = lens _ufvrFilter (\ s a -> s{_ufvrFilter = a})++-- | The fields that should be updated. At least one field must be specified.+-- The root \`filter\` is implied and should not be specified. A single+-- \`\"*\"\` can be used as short-hand for listing every field.+ufvrFields :: Lens' UpdateFilterViewRequest (Maybe GFieldMask)+ufvrFields+ = lens _ufvrFields (\ s a -> s{_ufvrFields = a})++instance FromJSON UpdateFilterViewRequest where+ parseJSON+ = withObject "UpdateFilterViewRequest"+ (\ o ->+ UpdateFilterViewRequest' <$>+ (o .:? "filter") <*> (o .:? "fields"))++instance ToJSON UpdateFilterViewRequest where+ toJSON UpdateFilterViewRequest'{..}+ = object+ (catMaybes+ [("filter" .=) <$> _ufvrFilter,+ ("fields" .=) <$> _ufvrFields])++-- | A single series of data in a chart. For example, if charting stock+-- prices over time, multiple series may exist, one for the \"Open Price\",+-- \"High Price\", \"Low Price\" and \"Close Price\".+--+-- /See:/ 'basicChartSeries' smart constructor.+data BasicChartSeries = BasicChartSeries'+ { _bTargetAxis :: !(Maybe BasicChartSeriesTargetAxis)+ , _bColor :: !(Maybe Color)+ , _bSeries :: !(Maybe ChartData)+ , _bType :: !(Maybe BasicChartSeriesType)+ , _bLineStyle :: !(Maybe LineStyle)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BasicChartSeries' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bTargetAxis'+--+-- * 'bColor'+--+-- * 'bSeries'+--+-- * 'bType'+--+-- * 'bLineStyle'+basicChartSeries+ :: BasicChartSeries+basicChartSeries =+ BasicChartSeries'+ { _bTargetAxis = Nothing+ , _bColor = Nothing+ , _bSeries = Nothing+ , _bType = Nothing+ , _bLineStyle = Nothing+ }++-- | The minor axis that will specify the range of values for this series.+-- For example, if charting stocks over time, the \"Volume\" series may+-- want to be pinned to the right with the prices pinned to the left,+-- because the scale of trading volume is different than the scale of+-- prices. It is an error to specify an axis that isn\'t a valid minor axis+-- for the chart\'s type.+bTargetAxis :: Lens' BasicChartSeries (Maybe BasicChartSeriesTargetAxis)+bTargetAxis+ = lens _bTargetAxis (\ s a -> s{_bTargetAxis = a})++-- | The color for elements (i.e. bars, lines, points) associated with this+-- series. If empty, a default color is used.+bColor :: Lens' BasicChartSeries (Maybe Color)+bColor = lens _bColor (\ s a -> s{_bColor = a})++-- | The data being visualized in this chart series.+bSeries :: Lens' BasicChartSeries (Maybe ChartData)+bSeries = lens _bSeries (\ s a -> s{_bSeries = a})++-- | The type of this series. Valid only if the chartType is COMBO. Different+-- types will change the way the series is visualized. Only LINE, AREA, and+-- COLUMN are supported.+bType :: Lens' BasicChartSeries (Maybe BasicChartSeriesType)+bType = lens _bType (\ s a -> s{_bType = a})++-- | The line style of this series. Valid only if the chartType is AREA,+-- LINE, or SCATTER. COMBO charts are also supported if the series chart+-- type is AREA or LINE.+bLineStyle :: Lens' BasicChartSeries (Maybe LineStyle)+bLineStyle+ = lens _bLineStyle (\ s a -> s{_bLineStyle = a})++instance FromJSON BasicChartSeries where+ parseJSON+ = withObject "BasicChartSeries"+ (\ o ->+ BasicChartSeries' <$>+ (o .:? "targetAxis") <*> (o .:? "color") <*>+ (o .:? "series")+ <*> (o .:? "type")+ <*> (o .:? "lineStyle"))++instance ToJSON BasicChartSeries where+ toJSON BasicChartSeries'{..}+ = object+ (catMaybes+ [("targetAxis" .=) <$> _bTargetAxis,+ ("color" .=) <$> _bColor, ("series" .=) <$> _bSeries,+ ("type" .=) <$> _bType,+ ("lineStyle" .=) <$> _bLineStyle])++-- | An optional setting on a PivotGroup that defines buckets for the values+-- in the source data column rather than breaking out each individual+-- value. Only one PivotGroup with a group rule may be added for each+-- column in the source data, though on any given column you may add both a+-- PivotGroup that has a rule and a PivotGroup that does not.+--+-- /See:/ 'pivotGroupRule' smart constructor.+data PivotGroupRule = PivotGroupRule'+ { _pgrDateTimeRule :: !(Maybe DateTimeRule)+ , _pgrManualRule :: !(Maybe ManualRule)+ , _pgrHistogramRule :: !(Maybe HistogramRule)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PivotGroupRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pgrDateTimeRule'+--+-- * 'pgrManualRule'+--+-- * 'pgrHistogramRule'+pivotGroupRule+ :: PivotGroupRule+pivotGroupRule =+ PivotGroupRule'+ { _pgrDateTimeRule = Nothing+ , _pgrManualRule = Nothing+ , _pgrHistogramRule = Nothing+ }++-- | A DateTimeRule.+pgrDateTimeRule :: Lens' PivotGroupRule (Maybe DateTimeRule)+pgrDateTimeRule+ = lens _pgrDateTimeRule+ (\ s a -> s{_pgrDateTimeRule = a})++-- | A ManualRule.+pgrManualRule :: Lens' PivotGroupRule (Maybe ManualRule)+pgrManualRule+ = lens _pgrManualRule+ (\ s a -> s{_pgrManualRule = a})++-- | A HistogramRule.+pgrHistogramRule :: Lens' PivotGroupRule (Maybe HistogramRule)+pgrHistogramRule+ = lens _pgrHistogramRule+ (\ s a -> s{_pgrHistogramRule = a})++instance FromJSON PivotGroupRule where+ parseJSON+ = withObject "PivotGroupRule"+ (\ o ->+ PivotGroupRule' <$>+ (o .:? "dateTimeRule") <*> (o .:? "manualRule") <*>+ (o .:? "histogramRule"))++instance ToJSON PivotGroupRule where+ toJSON PivotGroupRule'{..}+ = object+ (catMaybes+ [("dateTimeRule" .=) <$> _pgrDateTimeRule,+ ("manualRule" .=) <$> _pgrManualRule,+ ("histogramRule" .=) <$> _pgrHistogramRule])++-- | Adds a new protected range.+--+-- /See:/ 'addProtectedRangeRequest' smart constructor.+newtype AddProtectedRangeRequest = AddProtectedRangeRequest'+ { _aprrProtectedRange :: Maybe ProtectedRange+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AddProtectedRangeRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aprrProtectedRange'+addProtectedRangeRequest+ :: AddProtectedRangeRequest+addProtectedRangeRequest =+ AddProtectedRangeRequest'+ { _aprrProtectedRange = Nothing+ }++-- | The protected range to be added. The protectedRangeId field is optional;+-- if one is not set, an id will be randomly generated. (It is an error to+-- specify the ID of a range that already exists.)+aprrProtectedRange :: Lens' AddProtectedRangeRequest (Maybe ProtectedRange)+aprrProtectedRange+ = lens _aprrProtectedRange+ (\ s a -> s{_aprrProtectedRange = a})++instance FromJSON AddProtectedRangeRequest where+ parseJSON+ = withObject "AddProtectedRangeRequest"+ (\ o ->+ AddProtectedRangeRequest' <$>+ (o .:? "protectedRange"))++instance ToJSON AddProtectedRangeRequest where+ toJSON AddProtectedRangeRequest'{..}+ = object+ (catMaybes+ [("protectedRange" .=) <$> _aprrProtectedRange])++-- | Updates all cells in the range to the values in the given Cell object.+-- Only the fields listed in the fields field are updated; others are+-- unchanged. If writing a cell with a formula, the formula\'s ranges will+-- automatically increment for each field in the range. For example, if+-- writing a cell with formula \`=A1\` into range B2:C4, B2 would be+-- \`=A1\`, B3 would be \`=A2\`, B4 would be \`=A3\`, C2 would be \`=B1\`,+-- C3 would be \`=B2\`, C4 would be \`=B3\`. To keep the formula\'s ranges+-- static, use the \`$\` indicator. For example, use the formula \`=$A$1\`+-- to prevent both the row and the column from incrementing.+--+-- /See:/ 'repeatCellRequest' smart constructor.+data RepeatCellRequest = RepeatCellRequest'+ { _rcrCell :: !(Maybe CellData)+ , _rcrRange :: !(Maybe GridRange)+ , _rcrFields :: !(Maybe GFieldMask)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RepeatCellRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcrCell'+--+-- * 'rcrRange'+--+-- * 'rcrFields'+repeatCellRequest+ :: RepeatCellRequest+repeatCellRequest =+ RepeatCellRequest'+ { _rcrCell = Nothing+ , _rcrRange = Nothing+ , _rcrFields = Nothing+ }++-- | The data to write.+rcrCell :: Lens' RepeatCellRequest (Maybe CellData)+rcrCell = lens _rcrCell (\ s a -> s{_rcrCell = a})++-- | The range to repeat the cell in.+rcrRange :: Lens' RepeatCellRequest (Maybe GridRange)+rcrRange = lens _rcrRange (\ s a -> s{_rcrRange = a})++-- | The fields that should be updated. At least one field must be specified.+-- The root \`cell\` is implied and should not be specified. A single+-- \`\"*\"\` can be used as short-hand for listing every field.+rcrFields :: Lens' RepeatCellRequest (Maybe GFieldMask)+rcrFields+ = lens _rcrFields (\ s a -> s{_rcrFields = a})++instance FromJSON RepeatCellRequest where+ parseJSON+ = withObject "RepeatCellRequest"+ (\ o ->+ RepeatCellRequest' <$>+ (o .:? "cell") <*> (o .:? "range") <*>+ (o .:? "fields"))++instance ToJSON RepeatCellRequest where+ toJSON RepeatCellRequest'{..}+ = object+ (catMaybes+ [("cell" .=) <$> _rcrCell,+ ("range" .=) <$> _rcrRange,+ ("fields" .=) <$> _rcrFields])++-- | The value of the condition.+--+-- /See:/ 'conditionValue' smart constructor.+data ConditionValue = ConditionValue'+ { _cvRelativeDate :: !(Maybe ConditionValueRelativeDate)+ , _cvUserEnteredValue :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ConditionValue' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cvRelativeDate'+--+-- * 'cvUserEnteredValue'+conditionValue+ :: ConditionValue+conditionValue =+ ConditionValue'+ { _cvRelativeDate = Nothing+ , _cvUserEnteredValue = Nothing+ }++-- | A relative date (based on the current date). Valid only if the type is+-- DATE_BEFORE, DATE_AFTER, DATE_ON_OR_BEFORE or DATE_ON_OR_AFTER. Relative+-- dates are not supported in data validation. They are supported only in+-- conditional formatting and conditional filters.+cvRelativeDate :: Lens' ConditionValue (Maybe ConditionValueRelativeDate)+cvRelativeDate+ = lens _cvRelativeDate+ (\ s a -> s{_cvRelativeDate = a})++-- | A value the condition is based on. The value is parsed as if the user+-- typed into a cell. Formulas are supported (and must begin with an \`=\`+-- or a \'+\').+cvUserEnteredValue :: Lens' ConditionValue (Maybe Text)+cvUserEnteredValue+ = lens _cvUserEnteredValue+ (\ s a -> s{_cvUserEnteredValue = a})++instance FromJSON ConditionValue where+ parseJSON+ = withObject "ConditionValue"+ (\ o ->+ ConditionValue' <$>+ (o .:? "relativeDate") <*>+ (o .:? "userEnteredValue"))++instance ToJSON ConditionValue where+ toJSON ConditionValue'{..}+ = object+ (catMaybes+ [("relativeDate" .=) <$> _cvRelativeDate,+ ("userEnteredValue" .=) <$> _cvUserEnteredValue])++-- | Deletes the dimensions from the sheet.+--+-- /See:/ 'deleteDimensionRequest' smart constructor.+newtype DeleteDimensionRequest = DeleteDimensionRequest'+ { _ddrRange :: Maybe DimensionRange+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteDimensionRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddrRange'+deleteDimensionRequest+ :: DeleteDimensionRequest+deleteDimensionRequest =+ DeleteDimensionRequest'+ { _ddrRange = Nothing+ }++-- | The dimensions to delete from the sheet.+ddrRange :: Lens' DeleteDimensionRequest (Maybe DimensionRange)+ddrRange = lens _ddrRange (\ s a -> s{_ddrRange = a})++instance FromJSON DeleteDimensionRequest where+ parseJSON+ = withObject "DeleteDimensionRequest"+ (\ o -> DeleteDimensionRequest' <$> (o .:? "range"))++instance ToJSON DeleteDimensionRequest where+ toJSON DeleteDimensionRequest'{..}+ = object (catMaybes [("range" .=) <$> _ddrRange])++-- | The request for clearing a range of values in a spreadsheet.+--+-- /See:/ 'clearValuesRequest' smart constructor.+data ClearValuesRequest =+ ClearValuesRequest'+ deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClearValuesRequest' with the minimum fields required to make a request.+--+clearValuesRequest+ :: ClearValuesRequest+clearValuesRequest = ClearValuesRequest'++instance FromJSON ClearValuesRequest where+ parseJSON+ = withObject "ClearValuesRequest"+ (\ o -> pure ClearValuesRequest')++instance ToJSON ClearValuesRequest where+ toJSON = const emptyObject++-- | Finds and replaces data in cells over a range, sheet, or all sheets.+--+-- /See:/ 'findReplaceRequest' smart constructor.+data FindReplaceRequest = FindReplaceRequest'+ { _frrMatchCase :: !(Maybe Bool)+ , _frrAllSheets :: !(Maybe Bool)+ , _frrIncludeFormulas :: !(Maybe Bool)+ , _frrMatchEntireCell :: !(Maybe Bool)+ , _frrRange :: !(Maybe GridRange)+ , _frrSheetId :: !(Maybe (Textual Int32))+ , _frrFind :: !(Maybe Text)+ , _frrSearchByRegex :: !(Maybe Bool)+ , _frrReplacement :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FindReplaceRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'frrMatchCase'+--+-- * 'frrAllSheets'+--+-- * 'frrIncludeFormulas'+--+-- * 'frrMatchEntireCell'+--+-- * 'frrRange'+--+-- * 'frrSheetId'+--+-- * 'frrFind'+--+-- * 'frrSearchByRegex'+--+-- * 'frrReplacement'+findReplaceRequest+ :: FindReplaceRequest+findReplaceRequest =+ FindReplaceRequest'+ { _frrMatchCase = Nothing+ , _frrAllSheets = Nothing+ , _frrIncludeFormulas = Nothing+ , _frrMatchEntireCell = Nothing+ , _frrRange = Nothing+ , _frrSheetId = Nothing+ , _frrFind = Nothing+ , _frrSearchByRegex = Nothing+ , _frrReplacement = Nothing+ }++-- | True if the search is case sensitive.+frrMatchCase :: Lens' FindReplaceRequest (Maybe Bool)+frrMatchCase+ = lens _frrMatchCase (\ s a -> s{_frrMatchCase = a})++-- | True to find\/replace over all sheets.+frrAllSheets :: Lens' FindReplaceRequest (Maybe Bool)+frrAllSheets+ = lens _frrAllSheets (\ s a -> s{_frrAllSheets = a})++-- | True if the search should include cells with formulas. False to skip+-- cells with formulas.+frrIncludeFormulas :: Lens' FindReplaceRequest (Maybe Bool)+frrIncludeFormulas+ = lens _frrIncludeFormulas+ (\ s a -> s{_frrIncludeFormulas = a})++-- | True if the find value should match the entire cell.+frrMatchEntireCell :: Lens' FindReplaceRequest (Maybe Bool)+frrMatchEntireCell+ = lens _frrMatchEntireCell+ (\ s a -> s{_frrMatchEntireCell = a})++-- | The range to find\/replace over.+frrRange :: Lens' FindReplaceRequest (Maybe GridRange)+frrRange = lens _frrRange (\ s a -> s{_frrRange = a})++-- | The sheet to find\/replace over.+frrSheetId :: Lens' FindReplaceRequest (Maybe Int32)+frrSheetId+ = lens _frrSheetId (\ s a -> s{_frrSheetId = a}) .+ mapping _Coerce++-- | The value to search.+frrFind :: Lens' FindReplaceRequest (Maybe Text)+frrFind = lens _frrFind (\ s a -> s{_frrFind = a})++-- | True if the find value is a regex. The regular expression and+-- replacement should follow Java regex rules at+-- https:\/\/docs.oracle.com\/javase\/8\/docs\/api\/java\/util\/regex\/Pattern.html.+-- The replacement string is allowed to refer to capturing groups. For+-- example, if one cell has the contents \`\"Google Sheets\"\` and another+-- has \`\"Google Docs\"\`, then searching for \`\"o.* (.*)\"\` with a+-- replacement of \`\"$1 Rocks\"\` would change the contents of the cells+-- to \`\"GSheets Rocks\"\` and \`\"GDocs Rocks\"\` respectively.+frrSearchByRegex :: Lens' FindReplaceRequest (Maybe Bool)+frrSearchByRegex+ = lens _frrSearchByRegex+ (\ s a -> s{_frrSearchByRegex = a})++-- | The value to use as the replacement.+frrReplacement :: Lens' FindReplaceRequest (Maybe Text)+frrReplacement+ = lens _frrReplacement+ (\ s a -> s{_frrReplacement = a})++instance FromJSON FindReplaceRequest where+ parseJSON+ = withObject "FindReplaceRequest"+ (\ o ->+ FindReplaceRequest' <$>+ (o .:? "matchCase") <*> (o .:? "allSheets") <*>+ (o .:? "includeFormulas")+ <*> (o .:? "matchEntireCell")+ <*> (o .:? "range")+ <*> (o .:? "sheetId")+ <*> (o .:? "find")+ <*> (o .:? "searchByRegex")+ <*> (o .:? "replacement"))++instance ToJSON FindReplaceRequest where+ toJSON FindReplaceRequest'{..}+ = object+ (catMaybes+ [("matchCase" .=) <$> _frrMatchCase,+ ("allSheets" .=) <$> _frrAllSheets,+ ("includeFormulas" .=) <$> _frrIncludeFormulas,+ ("matchEntireCell" .=) <$> _frrMatchEntireCell,+ ("range" .=) <$> _frrRange,+ ("sheetId" .=) <$> _frrSheetId,+ ("find" .=) <$> _frrFind,+ ("searchByRegex" .=) <$> _frrSearchByRegex,+ ("replacement" .=) <$> _frrReplacement])++-- | Moves one or more rows or columns.+--+-- /See:/ 'moveDimensionRequest' smart constructor.+data MoveDimensionRequest = MoveDimensionRequest'+ { _mdrDestinationIndex :: !(Maybe (Textual Int32))+ , _mdrSource :: !(Maybe DimensionRange)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MoveDimensionRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mdrDestinationIndex'+--+-- * 'mdrSource'+moveDimensionRequest+ :: MoveDimensionRequest+moveDimensionRequest =+ MoveDimensionRequest'+ { _mdrDestinationIndex = Nothing+ , _mdrSource = Nothing+ }++-- | The zero-based start index of where to move the source data to, based on+-- the coordinates *before* the source data is removed from the grid.+-- Existing data will be shifted down or right (depending on the dimension)+-- to make room for the moved dimensions. The source dimensions are removed+-- from the grid, so the the data may end up in a different index than+-- specified. For example, given \`A1..A5\` of \`0, 1, 2, 3, 4\` and+-- wanting to move \`\"1\"\` and \`\"2\"\` to between \`\"3\"\` and+-- \`\"4\"\`, the source would be \`ROWS [1..3)\`,and the destination index+-- would be \`\"4\"\` (the zero-based index of row 5). The end result would+-- be \`A1..A5\` of \`0, 3, 1, 2, 4\`.+mdrDestinationIndex :: Lens' MoveDimensionRequest (Maybe Int32)+mdrDestinationIndex+ = lens _mdrDestinationIndex+ (\ s a -> s{_mdrDestinationIndex = a})+ . mapping _Coerce++-- | The source dimensions to move.+mdrSource :: Lens' MoveDimensionRequest (Maybe DimensionRange)+mdrSource+ = lens _mdrSource (\ s a -> s{_mdrSource = a})++instance FromJSON MoveDimensionRequest where+ parseJSON+ = withObject "MoveDimensionRequest"+ (\ o ->+ MoveDimensionRequest' <$>+ (o .:? "destinationIndex") <*> (o .:? "source"))++instance ToJSON MoveDimensionRequest where+ toJSON MoveDimensionRequest'{..}+ = object+ (catMaybes+ [("destinationIndex" .=) <$> _mdrDestinationIndex,+ ("source" .=) <$> _mdrSource])++-- | The request for retrieving a range of values in a spreadsheet selected+-- by a set of DataFilters.+--+-- /See:/ 'batchGetValuesByDataFilterRequest' smart constructor.+data BatchGetValuesByDataFilterRequest = BatchGetValuesByDataFilterRequest'+ { _bgvbdfrValueRenderOption :: !(Maybe BatchGetValuesByDataFilterRequestValueRenderOption)+ , _bgvbdfrDataFilters :: !(Maybe [DataFilter])+ , _bgvbdfrDateTimeRenderOption :: !(Maybe BatchGetValuesByDataFilterRequestDateTimeRenderOption)+ , _bgvbdfrMajorDimension :: !(Maybe BatchGetValuesByDataFilterRequestMajorDimension)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BatchGetValuesByDataFilterRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bgvbdfrValueRenderOption'+--+-- * 'bgvbdfrDataFilters'+--+-- * 'bgvbdfrDateTimeRenderOption'+--+-- * 'bgvbdfrMajorDimension'+batchGetValuesByDataFilterRequest+ :: BatchGetValuesByDataFilterRequest+batchGetValuesByDataFilterRequest =+ BatchGetValuesByDataFilterRequest'+ { _bgvbdfrValueRenderOption = Nothing+ , _bgvbdfrDataFilters = Nothing+ , _bgvbdfrDateTimeRenderOption = Nothing+ , _bgvbdfrMajorDimension = Nothing+ }++-- | How values should be represented in the output. The default render+-- option is ValueRenderOption.FORMATTED_VALUE.+bgvbdfrValueRenderOption :: Lens' BatchGetValuesByDataFilterRequest (Maybe BatchGetValuesByDataFilterRequestValueRenderOption)+bgvbdfrValueRenderOption+ = lens _bgvbdfrValueRenderOption+ (\ s a -> s{_bgvbdfrValueRenderOption = a})++-- | The data filters used to match the ranges of values to retrieve. Ranges+-- that match any of the specified data filters will be included in the+-- response.+bgvbdfrDataFilters :: Lens' BatchGetValuesByDataFilterRequest [DataFilter]+bgvbdfrDataFilters+ = lens _bgvbdfrDataFilters+ (\ s a -> s{_bgvbdfrDataFilters = a})+ . _Default+ . _Coerce++-- | How dates, times, and durations should be represented in the output.+-- This is ignored if value_render_option is FORMATTED_VALUE. The default+-- dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].+bgvbdfrDateTimeRenderOption :: Lens' BatchGetValuesByDataFilterRequest (Maybe BatchGetValuesByDataFilterRequestDateTimeRenderOption)+bgvbdfrDateTimeRenderOption+ = lens _bgvbdfrDateTimeRenderOption+ (\ s a -> s{_bgvbdfrDateTimeRenderOption = a})++-- | The major dimension that results should use. For example, if the+-- spreadsheet data is: \`A1=1,B1=2,A2=3,B2=4\`, then a request that+-- selects that range and sets \`majorDimension=ROWS\` will return+-- \`[[1,2],[3,4]]\`, whereas a request that sets+-- \`majorDimension=COLUMNS\` will return \`[[1,3],[2,4]]\`.+bgvbdfrMajorDimension :: Lens' BatchGetValuesByDataFilterRequest (Maybe BatchGetValuesByDataFilterRequestMajorDimension)+bgvbdfrMajorDimension+ = lens _bgvbdfrMajorDimension+ (\ s a -> s{_bgvbdfrMajorDimension = a})++instance FromJSON BatchGetValuesByDataFilterRequest+ where+ parseJSON+ = withObject "BatchGetValuesByDataFilterRequest"+ (\ o ->+ BatchGetValuesByDataFilterRequest' <$>+ (o .:? "valueRenderOption") <*>+ (o .:? "dataFilters" .!= mempty)+ <*> (o .:? "dateTimeRenderOption")+ <*> (o .:? "majorDimension"))++instance ToJSON BatchGetValuesByDataFilterRequest+ where+ toJSON BatchGetValuesByDataFilterRequest'{..}+ = object+ (catMaybes+ [("valueRenderOption" .=) <$>+ _bgvbdfrValueRenderOption,+ ("dataFilters" .=) <$> _bgvbdfrDataFilters,+ ("dateTimeRenderOption" .=) <$>+ _bgvbdfrDateTimeRenderOption,+ ("majorDimension" .=) <$> _bgvbdfrMajorDimension])++-- | A rule that applies a gradient color scale format, based on the+-- interpolation points listed. The format of a cell will vary based on its+-- contents as compared to the values of the interpolation points.+--+-- /See:/ 'gradientRule' smart constructor.+data GradientRule = GradientRule'+ { _grMidpoint :: !(Maybe InterpolationPoint)+ , _grMaxpoint :: !(Maybe InterpolationPoint)+ , _grMinpoint :: !(Maybe InterpolationPoint)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GradientRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'grMidpoint'+--+-- * 'grMaxpoint'+--+-- * 'grMinpoint'+gradientRule+ :: GradientRule+gradientRule =+ GradientRule'+ { _grMidpoint = Nothing+ , _grMaxpoint = Nothing+ , _grMinpoint = Nothing+ }++-- | An optional midway interpolation point.+grMidpoint :: Lens' GradientRule (Maybe InterpolationPoint)+grMidpoint+ = lens _grMidpoint (\ s a -> s{_grMidpoint = a})++-- | The final interpolation point.+grMaxpoint :: Lens' GradientRule (Maybe InterpolationPoint)+grMaxpoint+ = lens _grMaxpoint (\ s a -> s{_grMaxpoint = a})++-- | The starting interpolation point.+grMinpoint :: Lens' GradientRule (Maybe InterpolationPoint)+grMinpoint+ = lens _grMinpoint (\ s a -> s{_grMinpoint = a})++instance FromJSON GradientRule where+ parseJSON+ = withObject "GradientRule"+ (\ o ->+ GradientRule' <$>+ (o .:? "midpoint") <*> (o .:? "maxpoint") <*>+ (o .:? "minpoint"))++instance ToJSON GradientRule where+ toJSON GradientRule'{..}+ = object+ (catMaybes+ [("midpoint" .=) <$> _grMidpoint,+ ("maxpoint" .=) <$> _grMaxpoint,+ ("minpoint" .=) <$> _grMinpoint])++-- | Moves data from the source to the destination.+--+-- /See:/ 'cutPasteRequest' smart constructor.+data CutPasteRequest = CutPasteRequest'+ { _cDestination :: !(Maybe GridCoordinate)+ , _cSource :: !(Maybe GridRange)+ , _cPasteType :: !(Maybe CutPasteRequestPasteType)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CutPasteRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cDestination'+--+-- * 'cSource'+--+-- * 'cPasteType'+cutPasteRequest+ :: CutPasteRequest+cutPasteRequest =+ CutPasteRequest'+ { _cDestination = Nothing+ , _cSource = Nothing+ , _cPasteType = Nothing+ }++-- | The top-left coordinate where the data should be pasted.+cDestination :: Lens' CutPasteRequest (Maybe GridCoordinate)+cDestination+ = lens _cDestination (\ s a -> s{_cDestination = a})++-- | The source data to cut.+cSource :: Lens' CutPasteRequest (Maybe GridRange)+cSource = lens _cSource (\ s a -> s{_cSource = a})++-- | What kind of data to paste. All the source data will be cut, regardless+-- of what is pasted.+cPasteType :: Lens' CutPasteRequest (Maybe CutPasteRequestPasteType)+cPasteType+ = lens _cPasteType (\ s a -> s{_cPasteType = a})++instance FromJSON CutPasteRequest where+ parseJSON+ = withObject "CutPasteRequest"+ (\ o ->+ CutPasteRequest' <$>+ (o .:? "destination") <*> (o .:? "source") <*>+ (o .:? "pasteType"))++instance ToJSON CutPasteRequest where+ toJSON CutPasteRequest'{..}+ = object+ (catMaybes+ [("destination" .=) <$> _cDestination,+ ("source" .=) <$> _cSource,+ ("pasteType" .=) <$> _cPasteType])++-- | The result of updating an embedded object\'s position.+--+-- /See:/ 'updateEmbeddedObjectPositionResponse' smart constructor.+newtype UpdateEmbeddedObjectPositionResponse = UpdateEmbeddedObjectPositionResponse'+ { _ueoprPosition :: Maybe EmbeddedObjectPosition+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateEmbeddedObjectPositionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ueoprPosition'+updateEmbeddedObjectPositionResponse+ :: UpdateEmbeddedObjectPositionResponse+updateEmbeddedObjectPositionResponse =+ UpdateEmbeddedObjectPositionResponse'+ { _ueoprPosition = Nothing+ }++-- | The new position of the embedded object.+ueoprPosition :: Lens' UpdateEmbeddedObjectPositionResponse (Maybe EmbeddedObjectPosition)+ueoprPosition+ = lens _ueoprPosition+ (\ s a -> s{_ueoprPosition = a})++instance FromJSON+ UpdateEmbeddedObjectPositionResponse where+ parseJSON+ = withObject "UpdateEmbeddedObjectPositionResponse"+ (\ o ->+ UpdateEmbeddedObjectPositionResponse' <$>+ (o .:? "position"))++instance ToJSON UpdateEmbeddedObjectPositionResponse+ where+ toJSON UpdateEmbeddedObjectPositionResponse'{..}+ = object+ (catMaybes [("position" .=) <$> _ueoprPosition])++-- | A custom subtotal column for a waterfall chart series.+--+-- /See:/ 'waterfallChartCustomSubtotal' smart constructor.+data WaterfallChartCustomSubtotal = WaterfallChartCustomSubtotal'+ { _wccsDataIsSubtotal :: !(Maybe Bool)+ , _wccsSubtotalIndex :: !(Maybe (Textual Int32))+ , _wccsLabel :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WaterfallChartCustomSubtotal' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wccsDataIsSubtotal'+--+-- * 'wccsSubtotalIndex'+--+-- * 'wccsLabel'+waterfallChartCustomSubtotal+ :: WaterfallChartCustomSubtotal+waterfallChartCustomSubtotal =+ WaterfallChartCustomSubtotal'+ { _wccsDataIsSubtotal = Nothing+ , _wccsSubtotalIndex = Nothing+ , _wccsLabel = Nothing+ }++-- | True if the data point at subtotal_index is the subtotal. If false, the+-- subtotal will be computed and appear after the data point.+wccsDataIsSubtotal :: Lens' WaterfallChartCustomSubtotal (Maybe Bool)+wccsDataIsSubtotal+ = lens _wccsDataIsSubtotal+ (\ s a -> s{_wccsDataIsSubtotal = a})++-- | The 0-based index of a data point within the series. If data_is_subtotal+-- is true, the data point at this index is the subtotal. Otherwise, the+-- subtotal appears after the data point with this index. A series can have+-- multiple subtotals at arbitrary indices, but subtotals do not affect the+-- indices of the data points. For example, if a series has three data+-- points, their indices will always be 0, 1, and 2, regardless of how many+-- subtotals exist on the series or what data points they are associated+-- with.+wccsSubtotalIndex :: Lens' WaterfallChartCustomSubtotal (Maybe Int32)+wccsSubtotalIndex+ = lens _wccsSubtotalIndex+ (\ s a -> s{_wccsSubtotalIndex = a})+ . mapping _Coerce++-- | A label for the subtotal column.+wccsLabel :: Lens' WaterfallChartCustomSubtotal (Maybe Text)+wccsLabel+ = lens _wccsLabel (\ s a -> s{_wccsLabel = a})++instance FromJSON WaterfallChartCustomSubtotal where+ parseJSON+ = withObject "WaterfallChartCustomSubtotal"+ (\ o ->+ WaterfallChartCustomSubtotal' <$>+ (o .:? "dataIsSubtotal") <*> (o .:? "subtotalIndex")+ <*> (o .:? "label"))++instance ToJSON WaterfallChartCustomSubtotal where+ toJSON WaterfallChartCustomSubtotal'{..}+ = object+ (catMaybes+ [("dataIsSubtotal" .=) <$> _wccsDataIsSubtotal,+ ("subtotalIndex" .=) <$> _wccsSubtotalIndex,+ ("label" .=) <$> _wccsLabel])++-- | A single response from an update.+--+-- /See:/ 'response' smart constructor.+data Response = Response'+ { _rAddFilterView :: !(Maybe AddFilterViewResponse)+ , _rCreateDeveloperMetadata :: !(Maybe CreateDeveloperMetadataResponse)+ , _rDuplicateFilterView :: !(Maybe DuplicateFilterViewResponse)+ , _rUpdateEmbeddedObjectPosition :: !(Maybe UpdateEmbeddedObjectPositionResponse)+ , _rDeleteDimensionGroup :: !(Maybe DeleteDimensionGroupResponse)+ , _rAddSheet :: !(Maybe AddSheetResponse)+ , _rFindReplace :: !(Maybe FindReplaceResponse)+ , _rAddProtectedRange :: !(Maybe AddProtectedRangeResponse)+ , _rDeleteConditionalFormatRule :: !(Maybe DeleteConditionalFormatRuleResponse)+ , _rUpdateConditionalFormatRule :: !(Maybe UpdateConditionalFormatRuleResponse)+ , _rDeleteDeveloperMetadata :: !(Maybe DeleteDeveloperMetadataResponse)+ , _rUpdateDeveloperMetadata :: !(Maybe UpdateDeveloperMetadataResponse)+ , _rAddNamedRange :: !(Maybe AddNamedRangeResponse)+ , _rAddChart :: !(Maybe AddChartResponse)+ , _rAddBanding :: !(Maybe AddBandingResponse)+ , _rDuplicateSheet :: !(Maybe DuplicateSheetResponse)+ , _rAddDimensionGroup :: !(Maybe AddDimensionGroupResponse)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Response' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rAddFilterView'+--+-- * 'rCreateDeveloperMetadata'+--+-- * 'rDuplicateFilterView'+--+-- * 'rUpdateEmbeddedObjectPosition'+--+-- * 'rDeleteDimensionGroup'+--+-- * 'rAddSheet'+--+-- * 'rFindReplace'+--+-- * 'rAddProtectedRange'+--+-- * 'rDeleteConditionalFormatRule'+--+-- * 'rUpdateConditionalFormatRule'+--+-- * 'rDeleteDeveloperMetadata'+--+-- * 'rUpdateDeveloperMetadata'+--+-- * 'rAddNamedRange'+--+-- * 'rAddChart'+--+-- * 'rAddBanding'+--+-- * 'rDuplicateSheet'+--+-- * 'rAddDimensionGroup'+response+ :: Response+response =+ Response'+ { _rAddFilterView = Nothing+ , _rCreateDeveloperMetadata = Nothing+ , _rDuplicateFilterView = Nothing+ , _rUpdateEmbeddedObjectPosition = Nothing+ , _rDeleteDimensionGroup = Nothing+ , _rAddSheet = Nothing+ , _rFindReplace = Nothing+ , _rAddProtectedRange = Nothing+ , _rDeleteConditionalFormatRule = Nothing+ , _rUpdateConditionalFormatRule = Nothing+ , _rDeleteDeveloperMetadata = Nothing+ , _rUpdateDeveloperMetadata = Nothing+ , _rAddNamedRange = Nothing+ , _rAddChart = Nothing+ , _rAddBanding = Nothing+ , _rDuplicateSheet = Nothing+ , _rAddDimensionGroup = Nothing+ }++-- | A reply from adding a filter view.+rAddFilterView :: Lens' Response (Maybe AddFilterViewResponse)+rAddFilterView+ = lens _rAddFilterView+ (\ s a -> s{_rAddFilterView = a})++-- | A reply from creating a developer metadata entry.+rCreateDeveloperMetadata :: Lens' Response (Maybe CreateDeveloperMetadataResponse)+rCreateDeveloperMetadata+ = lens _rCreateDeveloperMetadata+ (\ s a -> s{_rCreateDeveloperMetadata = a})++-- | A reply from duplicating a filter view.+rDuplicateFilterView :: Lens' Response (Maybe DuplicateFilterViewResponse)+rDuplicateFilterView+ = lens _rDuplicateFilterView+ (\ s a -> s{_rDuplicateFilterView = a})++-- | A reply from updating an embedded object\'s position.+rUpdateEmbeddedObjectPosition :: Lens' Response (Maybe UpdateEmbeddedObjectPositionResponse)+rUpdateEmbeddedObjectPosition+ = lens _rUpdateEmbeddedObjectPosition+ (\ s a -> s{_rUpdateEmbeddedObjectPosition = a})++-- | A reply from deleting a dimension group.+rDeleteDimensionGroup :: Lens' Response (Maybe DeleteDimensionGroupResponse)+rDeleteDimensionGroup+ = lens _rDeleteDimensionGroup+ (\ s a -> s{_rDeleteDimensionGroup = a})++-- | A reply from adding a sheet.+rAddSheet :: Lens' Response (Maybe AddSheetResponse)+rAddSheet+ = lens _rAddSheet (\ s a -> s{_rAddSheet = a})++-- | A reply from doing a find\/replace.+rFindReplace :: Lens' Response (Maybe FindReplaceResponse)+rFindReplace+ = lens _rFindReplace (\ s a -> s{_rFindReplace = a})++-- | A reply from adding a protected range.+rAddProtectedRange :: Lens' Response (Maybe AddProtectedRangeResponse)+rAddProtectedRange+ = lens _rAddProtectedRange+ (\ s a -> s{_rAddProtectedRange = a})++-- | A reply from deleting a conditional format rule.+rDeleteConditionalFormatRule :: Lens' Response (Maybe DeleteConditionalFormatRuleResponse)+rDeleteConditionalFormatRule+ = lens _rDeleteConditionalFormatRule+ (\ s a -> s{_rDeleteConditionalFormatRule = a})++-- | A reply from updating a conditional format rule.+rUpdateConditionalFormatRule :: Lens' Response (Maybe UpdateConditionalFormatRuleResponse)+rUpdateConditionalFormatRule+ = lens _rUpdateConditionalFormatRule+ (\ s a -> s{_rUpdateConditionalFormatRule = a})++-- | A reply from deleting a developer metadata entry.+rDeleteDeveloperMetadata :: Lens' Response (Maybe DeleteDeveloperMetadataResponse)+rDeleteDeveloperMetadata+ = lens _rDeleteDeveloperMetadata+ (\ s a -> s{_rDeleteDeveloperMetadata = a})++-- | A reply from updating a developer metadata entry.+rUpdateDeveloperMetadata :: Lens' Response (Maybe UpdateDeveloperMetadataResponse)+rUpdateDeveloperMetadata+ = lens _rUpdateDeveloperMetadata+ (\ s a -> s{_rUpdateDeveloperMetadata = a})++-- | A reply from adding a named range.+rAddNamedRange :: Lens' Response (Maybe AddNamedRangeResponse)+rAddNamedRange+ = lens _rAddNamedRange+ (\ s a -> s{_rAddNamedRange = a})++-- | A reply from adding a chart.+rAddChart :: Lens' Response (Maybe AddChartResponse)+rAddChart+ = lens _rAddChart (\ s a -> s{_rAddChart = a})++-- | A reply from adding a banded range.+rAddBanding :: Lens' Response (Maybe AddBandingResponse)+rAddBanding+ = lens _rAddBanding (\ s a -> s{_rAddBanding = a})++-- | A reply from duplicating a sheet.+rDuplicateSheet :: Lens' Response (Maybe DuplicateSheetResponse)+rDuplicateSheet+ = lens _rDuplicateSheet+ (\ s a -> s{_rDuplicateSheet = a})++-- | A reply from adding a dimension group.+rAddDimensionGroup :: Lens' Response (Maybe AddDimensionGroupResponse)+rAddDimensionGroup+ = lens _rAddDimensionGroup+ (\ s a -> s{_rAddDimensionGroup = a})++instance FromJSON Response where+ parseJSON+ = withObject "Response"+ (\ o ->+ Response' <$>+ (o .:? "addFilterView") <*>+ (o .:? "createDeveloperMetadata")+ <*> (o .:? "duplicateFilterView")+ <*> (o .:? "updateEmbeddedObjectPosition")+ <*> (o .:? "deleteDimensionGroup")+ <*> (o .:? "addSheet")+ <*> (o .:? "findReplace")+ <*> (o .:? "addProtectedRange")+ <*> (o .:? "deleteConditionalFormatRule")+ <*> (o .:? "updateConditionalFormatRule")+ <*> (o .:? "deleteDeveloperMetadata")+ <*> (o .:? "updateDeveloperMetadata")+ <*> (o .:? "addNamedRange")+ <*> (o .:? "addChart")+ <*> (o .:? "addBanding")+ <*> (o .:? "duplicateSheet")+ <*> (o .:? "addDimensionGroup"))++instance ToJSON Response where+ toJSON Response'{..}+ = object+ (catMaybes+ [("addFilterView" .=) <$> _rAddFilterView,+ ("createDeveloperMetadata" .=) <$>+ _rCreateDeveloperMetadata,+ ("duplicateFilterView" .=) <$> _rDuplicateFilterView,+ ("updateEmbeddedObjectPosition" .=) <$>+ _rUpdateEmbeddedObjectPosition,+ ("deleteDimensionGroup" .=) <$>+ _rDeleteDimensionGroup,+ ("addSheet" .=) <$> _rAddSheet,+ ("findReplace" .=) <$> _rFindReplace,+ ("addProtectedRange" .=) <$> _rAddProtectedRange,+ ("deleteConditionalFormatRule" .=) <$>+ _rDeleteConditionalFormatRule,+ ("updateConditionalFormatRule" .=) <$>+ _rUpdateConditionalFormatRule,+ ("deleteDeveloperMetadata" .=) <$>+ _rDeleteDeveloperMetadata,+ ("updateDeveloperMetadata" .=) <$>+ _rUpdateDeveloperMetadata,+ ("addNamedRange" .=) <$> _rAddNamedRange,+ ("addChart" .=) <$> _rAddChart,+ ("addBanding" .=) <$> _rAddBanding,+ ("duplicateSheet" .=) <$> _rDuplicateSheet,+ ("addDimensionGroup" .=) <$> _rAddDimensionGroup])++-- | Criteria for showing\/hiding rows in a filter or filter view.+--+-- /See:/ 'filterCriteria' smart constructor.+data FilterCriteria = FilterCriteria'+ { _fcHiddenValues :: !(Maybe [Text])+ , _fcCondition :: !(Maybe BooleanCondition)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FilterCriteria' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fcHiddenValues'+--+-- * 'fcCondition'+filterCriteria+ :: FilterCriteria+filterCriteria =+ FilterCriteria'+ { _fcHiddenValues = Nothing+ , _fcCondition = Nothing+ }++-- | Values that should be hidden.+fcHiddenValues :: Lens' FilterCriteria [Text]+fcHiddenValues+ = lens _fcHiddenValues+ (\ s a -> s{_fcHiddenValues = a})+ . _Default+ . _Coerce++-- | A condition that must be true for values to be shown. (This does not+-- override hiddenValues -- if a value is listed there, it will still be+-- hidden.)+fcCondition :: Lens' FilterCriteria (Maybe BooleanCondition)+fcCondition+ = lens _fcCondition (\ s a -> s{_fcCondition = a})++instance FromJSON FilterCriteria where+ parseJSON+ = withObject "FilterCriteria"+ (\ o ->+ FilterCriteria' <$>+ (o .:? "hiddenValues" .!= mempty) <*>+ (o .:? "condition"))++instance ToJSON FilterCriteria where+ toJSON FilterCriteria'{..}+ = object+ (catMaybes+ [("hiddenValues" .=) <$> _fcHiddenValues,+ ("condition" .=) <$> _fcCondition])++-- | An error in a cell.+--+-- /See:/ 'errorValue' smart constructor.+data ErrorValue = ErrorValue'+ { _evType :: !(Maybe ErrorValueType)+ , _evMessage :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ErrorValue' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'evType'+--+-- * 'evMessage'+errorValue+ :: ErrorValue+errorValue =+ ErrorValue'+ { _evType = Nothing+ , _evMessage = Nothing+ }++-- | The type of error.+evType :: Lens' ErrorValue (Maybe ErrorValueType)+evType = lens _evType (\ s a -> s{_evType = a})++-- | A message with more information about the error (in the spreadsheet\'s+-- locale).+evMessage :: Lens' ErrorValue (Maybe Text)+evMessage+ = lens _evMessage (\ s a -> s{_evMessage = a})++instance FromJSON ErrorValue where+ parseJSON+ = withObject "ErrorValue"+ (\ o ->+ ErrorValue' <$> (o .:? "type") <*> (o .:? "message"))++instance ToJSON ErrorValue where+ toJSON ErrorValue'{..}+ = object+ (catMaybes+ [("type" .=) <$> _evType,+ ("message" .=) <$> _evMessage])++-- | Updates a conditional format rule at the given index, or moves a+-- conditional format rule to another index.+--+-- /See:/ 'updateConditionalFormatRuleRequest' smart constructor.+data UpdateConditionalFormatRuleRequest = UpdateConditionalFormatRuleRequest'+ { _ucfrrRule :: !(Maybe ConditionalFormatRule)+ , _ucfrrNewIndex :: !(Maybe (Textual Int32))+ , _ucfrrSheetId :: !(Maybe (Textual Int32))+ , _ucfrrIndex :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateConditionalFormatRuleRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ucfrrRule'+--+-- * 'ucfrrNewIndex'+--+-- * 'ucfrrSheetId'+--+-- * 'ucfrrIndex'+updateConditionalFormatRuleRequest+ :: UpdateConditionalFormatRuleRequest+updateConditionalFormatRuleRequest =+ UpdateConditionalFormatRuleRequest'+ { _ucfrrRule = Nothing+ , _ucfrrNewIndex = Nothing+ , _ucfrrSheetId = Nothing+ , _ucfrrIndex = Nothing+ }++-- | The rule that should replace the rule at the given index.+ucfrrRule :: Lens' UpdateConditionalFormatRuleRequest (Maybe ConditionalFormatRule)+ucfrrRule+ = lens _ucfrrRule (\ s a -> s{_ucfrrRule = a})++-- | The zero-based new index the rule should end up at.+ucfrrNewIndex :: Lens' UpdateConditionalFormatRuleRequest (Maybe Int32)+ucfrrNewIndex+ = lens _ucfrrNewIndex+ (\ s a -> s{_ucfrrNewIndex = a})+ . mapping _Coerce++-- | The sheet of the rule to move. Required if new_index is set, unused+-- otherwise.+ucfrrSheetId :: Lens' UpdateConditionalFormatRuleRequest (Maybe Int32)+ucfrrSheetId+ = lens _ucfrrSheetId (\ s a -> s{_ucfrrSheetId = a})+ . mapping _Coerce++-- | The zero-based index of the rule that should be replaced or moved.+ucfrrIndex :: Lens' UpdateConditionalFormatRuleRequest (Maybe Int32)+ucfrrIndex+ = lens _ucfrrIndex (\ s a -> s{_ucfrrIndex = a}) .+ mapping _Coerce++instance FromJSON UpdateConditionalFormatRuleRequest+ where+ parseJSON+ = withObject "UpdateConditionalFormatRuleRequest"+ (\ o ->+ UpdateConditionalFormatRuleRequest' <$>+ (o .:? "rule") <*> (o .:? "newIndex") <*>+ (o .:? "sheetId")+ <*> (o .:? "index"))++instance ToJSON UpdateConditionalFormatRuleRequest+ where+ toJSON UpdateConditionalFormatRuleRequest'{..}+ = object+ (catMaybes+ [("rule" .=) <$> _ucfrrRule,+ ("newIndex" .=) <$> _ucfrrNewIndex,+ ("sheetId" .=) <$> _ucfrrSheetId,+ ("index" .=) <$> _ucfrrIndex])++-- | Deletes a conditional format rule at the given index. All subsequent+-- rules\' indexes are decremented.+--+-- /See:/ 'deleteConditionalFormatRuleRequest' smart constructor.+data DeleteConditionalFormatRuleRequest = DeleteConditionalFormatRuleRequest'+ { _dcfrrSheetId :: !(Maybe (Textual Int32))+ , _dcfrrIndex :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteConditionalFormatRuleRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcfrrSheetId'+--+-- * 'dcfrrIndex'+deleteConditionalFormatRuleRequest+ :: DeleteConditionalFormatRuleRequest+deleteConditionalFormatRuleRequest =+ DeleteConditionalFormatRuleRequest'+ { _dcfrrSheetId = Nothing+ , _dcfrrIndex = Nothing+ }++-- | The sheet the rule is being deleted from.+dcfrrSheetId :: Lens' DeleteConditionalFormatRuleRequest (Maybe Int32)+dcfrrSheetId+ = lens _dcfrrSheetId (\ s a -> s{_dcfrrSheetId = a})+ . mapping _Coerce++-- | The zero-based index of the rule to be deleted.+dcfrrIndex :: Lens' DeleteConditionalFormatRuleRequest (Maybe Int32)+dcfrrIndex+ = lens _dcfrrIndex (\ s a -> s{_dcfrrIndex = a}) .+ mapping _Coerce++instance FromJSON DeleteConditionalFormatRuleRequest+ where+ parseJSON+ = withObject "DeleteConditionalFormatRuleRequest"+ (\ o ->+ DeleteConditionalFormatRuleRequest' <$>+ (o .:? "sheetId") <*> (o .:? "index"))++instance ToJSON DeleteConditionalFormatRuleRequest+ where+ toJSON DeleteConditionalFormatRuleRequest'{..}+ = object+ (catMaybes+ [("sheetId" .=) <$> _dcfrrSheetId,+ ("index" .=) <$> _dcfrrIndex])++-- | A request to update properties of developer metadata. Updates the+-- properties of the developer metadata selected by the filters to the+-- values provided in the DeveloperMetadata resource. Callers must specify+-- the properties they wish to update in the fields parameter, as well as+-- specify at least one DataFilter matching the metadata they wish to+-- update.+--+-- /See:/ 'updateDeveloperMetadataRequest' smart constructor.+data UpdateDeveloperMetadataRequest = UpdateDeveloperMetadataRequest'+ { _udmrDataFilters :: !(Maybe [DataFilter])+ , _udmrDeveloperMetadata :: !(Maybe DeveloperMetadata)+ , _udmrFields :: !(Maybe GFieldMask)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateDeveloperMetadataRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'udmrDataFilters'+--+-- * 'udmrDeveloperMetadata'+--+-- * 'udmrFields'+updateDeveloperMetadataRequest+ :: UpdateDeveloperMetadataRequest+updateDeveloperMetadataRequest =+ UpdateDeveloperMetadataRequest'+ { _udmrDataFilters = Nothing+ , _udmrDeveloperMetadata = Nothing+ , _udmrFields = Nothing+ }++-- | The filters matching the developer metadata entries to update.+udmrDataFilters :: Lens' UpdateDeveloperMetadataRequest [DataFilter]+udmrDataFilters+ = lens _udmrDataFilters+ (\ s a -> s{_udmrDataFilters = a})+ . _Default+ . _Coerce++-- | The value that all metadata matched by the data filters will be updated+-- to.+udmrDeveloperMetadata :: Lens' UpdateDeveloperMetadataRequest (Maybe DeveloperMetadata)+udmrDeveloperMetadata+ = lens _udmrDeveloperMetadata+ (\ s a -> s{_udmrDeveloperMetadata = a})++-- | The fields that should be updated. At least one field must be specified.+-- The root \`developerMetadata\` is implied and should not be specified. A+-- single \`\"*\"\` can be used as short-hand for listing every field.+udmrFields :: Lens' UpdateDeveloperMetadataRequest (Maybe GFieldMask)+udmrFields+ = lens _udmrFields (\ s a -> s{_udmrFields = a})++instance FromJSON UpdateDeveloperMetadataRequest+ where+ parseJSON+ = withObject "UpdateDeveloperMetadataRequest"+ (\ o ->+ UpdateDeveloperMetadataRequest' <$>+ (o .:? "dataFilters" .!= mempty) <*>+ (o .:? "developerMetadata")+ <*> (o .:? "fields"))++instance ToJSON UpdateDeveloperMetadataRequest where+ toJSON UpdateDeveloperMetadataRequest'{..}+ = object+ (catMaybes+ [("dataFilters" .=) <$> _udmrDataFilters,+ ("developerMetadata" .=) <$> _udmrDeveloperMetadata,+ ("fields" .=) <$> _udmrFields])++-- | A request to delete developer metadata.+--+-- /See:/ 'deleteDeveloperMetadataRequest' smart constructor.+newtype DeleteDeveloperMetadataRequest = DeleteDeveloperMetadataRequest'+ { _ddmrDataFilter :: Maybe DataFilter+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteDeveloperMetadataRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddmrDataFilter'+deleteDeveloperMetadataRequest+ :: DeleteDeveloperMetadataRequest+deleteDeveloperMetadataRequest =+ DeleteDeveloperMetadataRequest'+ { _ddmrDataFilter = Nothing+ }++-- | The data filter describing the criteria used to select which developer+-- metadata entry to delete.+ddmrDataFilter :: Lens' DeleteDeveloperMetadataRequest (Maybe DataFilter)+ddmrDataFilter+ = lens _ddmrDataFilter+ (\ s a -> s{_ddmrDataFilter = a})++instance FromJSON DeleteDeveloperMetadataRequest+ where+ parseJSON+ = withObject "DeleteDeveloperMetadataRequest"+ (\ o ->+ DeleteDeveloperMetadataRequest' <$>+ (o .:? "dataFilter"))++instance ToJSON DeleteDeveloperMetadataRequest where+ toJSON DeleteDeveloperMetadataRequest'{..}+ = object+ (catMaybes [("dataFilter" .=) <$> _ddmrDataFilter])++-- | A waterfall chart.+--+-- /See:/ 'waterfallChartSpec' smart constructor.+data WaterfallChartSpec = WaterfallChartSpec'+ { _wcsStackedType :: !(Maybe WaterfallChartSpecStackedType)+ , _wcsConnectorLineStyle :: !(Maybe LineStyle)+ , _wcsDomain :: !(Maybe WaterfallChartDomain)+ , _wcsSeries :: !(Maybe [WaterfallChartSeries])+ , _wcsHideConnectorLines :: !(Maybe Bool)+ , _wcsFirstValueIsTotal :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WaterfallChartSpec' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wcsStackedType'+--+-- * 'wcsConnectorLineStyle'+--+-- * 'wcsDomain'+--+-- * 'wcsSeries'+--+-- * 'wcsHideConnectorLines'+--+-- * 'wcsFirstValueIsTotal'+waterfallChartSpec+ :: WaterfallChartSpec+waterfallChartSpec =+ WaterfallChartSpec'+ { _wcsStackedType = Nothing+ , _wcsConnectorLineStyle = Nothing+ , _wcsDomain = Nothing+ , _wcsSeries = Nothing+ , _wcsHideConnectorLines = Nothing+ , _wcsFirstValueIsTotal = Nothing+ }++-- | The stacked type.+wcsStackedType :: Lens' WaterfallChartSpec (Maybe WaterfallChartSpecStackedType)+wcsStackedType+ = lens _wcsStackedType+ (\ s a -> s{_wcsStackedType = a})++-- | The line style for the connector lines.+wcsConnectorLineStyle :: Lens' WaterfallChartSpec (Maybe LineStyle)+wcsConnectorLineStyle+ = lens _wcsConnectorLineStyle+ (\ s a -> s{_wcsConnectorLineStyle = a})++-- | The domain data (horizontal axis) for the waterfall chart.+wcsDomain :: Lens' WaterfallChartSpec (Maybe WaterfallChartDomain)+wcsDomain+ = lens _wcsDomain (\ s a -> s{_wcsDomain = a})++-- | The data this waterfall chart is visualizing.+wcsSeries :: Lens' WaterfallChartSpec [WaterfallChartSeries]+wcsSeries+ = lens _wcsSeries (\ s a -> s{_wcsSeries = a}) .+ _Default+ . _Coerce++-- | True to hide connector lines between columns.+wcsHideConnectorLines :: Lens' WaterfallChartSpec (Maybe Bool)+wcsHideConnectorLines+ = lens _wcsHideConnectorLines+ (\ s a -> s{_wcsHideConnectorLines = a})++-- | True to interpret the first value as a total.+wcsFirstValueIsTotal :: Lens' WaterfallChartSpec (Maybe Bool)+wcsFirstValueIsTotal+ = lens _wcsFirstValueIsTotal+ (\ s a -> s{_wcsFirstValueIsTotal = a})++instance FromJSON WaterfallChartSpec where+ parseJSON+ = withObject "WaterfallChartSpec"+ (\ o ->+ WaterfallChartSpec' <$>+ (o .:? "stackedType") <*>+ (o .:? "connectorLineStyle")+ <*> (o .:? "domain")+ <*> (o .:? "series" .!= mempty)+ <*> (o .:? "hideConnectorLines")+ <*> (o .:? "firstValueIsTotal"))++instance ToJSON WaterfallChartSpec where+ toJSON WaterfallChartSpec'{..}+ = object+ (catMaybes+ [("stackedType" .=) <$> _wcsStackedType,+ ("connectorLineStyle" .=) <$> _wcsConnectorLineStyle,+ ("domain" .=) <$> _wcsDomain,+ ("series" .=) <$> _wcsSeries,+ ("hideConnectorLines" .=) <$> _wcsHideConnectorLines,+ ("firstValueIsTotal" .=) <$> _wcsFirstValueIsTotal])++-- | The location an object is overlaid on top of a grid.+--+-- /See:/ 'overlayPosition' smart constructor.+data OverlayPosition = OverlayPosition'+ { _opHeightPixels :: !(Maybe (Textual Int32))+ , _opOffSetYPixels :: !(Maybe (Textual Int32))+ , _opAnchorCell :: !(Maybe GridCoordinate)+ , _opWidthPixels :: !(Maybe (Textual Int32))+ , _opOffSetXPixels :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OverlayPosition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'opHeightPixels'+--+-- * 'opOffSetYPixels'+--+-- * 'opAnchorCell'+--+-- * 'opWidthPixels'+--+-- * 'opOffSetXPixels'+overlayPosition+ :: OverlayPosition+overlayPosition =+ OverlayPosition'+ { _opHeightPixels = Nothing+ , _opOffSetYPixels = Nothing+ , _opAnchorCell = Nothing+ , _opWidthPixels = Nothing+ , _opOffSetXPixels = Nothing+ }++-- | The height of the object, in pixels. Defaults to 371.+opHeightPixels :: Lens' OverlayPosition (Maybe Int32)+opHeightPixels+ = lens _opHeightPixels+ (\ s a -> s{_opHeightPixels = a})+ . mapping _Coerce++-- | The vertical offset, in pixels, that the object is offset from the+-- anchor cell.+opOffSetYPixels :: Lens' OverlayPosition (Maybe Int32)+opOffSetYPixels+ = lens _opOffSetYPixels+ (\ s a -> s{_opOffSetYPixels = a})+ . mapping _Coerce++-- | The cell the object is anchored to.+opAnchorCell :: Lens' OverlayPosition (Maybe GridCoordinate)+opAnchorCell+ = lens _opAnchorCell (\ s a -> s{_opAnchorCell = a})++-- | The width of the object, in pixels. Defaults to 600.+opWidthPixels :: Lens' OverlayPosition (Maybe Int32)+opWidthPixels+ = lens _opWidthPixels+ (\ s a -> s{_opWidthPixels = a})+ . mapping _Coerce++-- | The horizontal offset, in pixels, that the object is offset from the+-- anchor cell.+opOffSetXPixels :: Lens' OverlayPosition (Maybe Int32)+opOffSetXPixels+ = lens _opOffSetXPixels+ (\ s a -> s{_opOffSetXPixels = a})+ . mapping _Coerce++instance FromJSON OverlayPosition where+ parseJSON+ = withObject "OverlayPosition"+ (\ o ->+ OverlayPosition' <$>+ (o .:? "heightPixels") <*> (o .:? "offsetYPixels")+ <*> (o .:? "anchorCell")+ <*> (o .:? "widthPixels")+ <*> (o .:? "offsetXPixels"))++instance ToJSON OverlayPosition where+ toJSON OverlayPosition'{..}+ = object+ (catMaybes+ [("heightPixels" .=) <$> _opHeightPixels,+ ("offsetYPixels" .=) <$> _opOffSetYPixels,+ ("anchorCell" .=) <$> _opAnchorCell,+ ("widthPixels" .=) <$> _opWidthPixels,+ ("offsetXPixels" .=) <$> _opOffSetXPixels])++-- | Deletes the embedded object with the given ID.+--+-- /See:/ 'deleteEmbeddedObjectRequest' smart constructor.+newtype DeleteEmbeddedObjectRequest = DeleteEmbeddedObjectRequest'+ { _deorObjectId :: Maybe (Textual Int32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteEmbeddedObjectRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'deorObjectId'+deleteEmbeddedObjectRequest+ :: DeleteEmbeddedObjectRequest+deleteEmbeddedObjectRequest =+ DeleteEmbeddedObjectRequest'+ { _deorObjectId = Nothing+ }++-- | The ID of the embedded object to delete.+deorObjectId :: Lens' DeleteEmbeddedObjectRequest (Maybe Int32)+deorObjectId+ = lens _deorObjectId (\ s a -> s{_deorObjectId = a})+ . mapping _Coerce++instance FromJSON DeleteEmbeddedObjectRequest where+ parseJSON+ = withObject "DeleteEmbeddedObjectRequest"+ (\ o ->+ DeleteEmbeddedObjectRequest' <$> (o .:? "objectId"))++instance ToJSON DeleteEmbeddedObjectRequest where+ toJSON DeleteEmbeddedObjectRequest'{..}+ = object+ (catMaybes [("objectId" .=) <$> _deorObjectId])++-- | A location where metadata may be associated in a spreadsheet.+--+-- /See:/ 'developerMetadataLocation' smart constructor.+data DeveloperMetadataLocation = DeveloperMetadataLocation'+ { _dmlSpreadsheet :: !(Maybe Bool)+ , _dmlDimensionRange :: !(Maybe DimensionRange)+ , _dmlSheetId :: !(Maybe (Textual Int32))+ , _dmlLocationType :: !(Maybe DeveloperMetadataLocationLocationType)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeveloperMetadataLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dmlSpreadsheet'+--+-- * 'dmlDimensionRange'+--+-- * 'dmlSheetId'+--+-- * 'dmlLocationType'+developerMetadataLocation+ :: DeveloperMetadataLocation+developerMetadataLocation =+ DeveloperMetadataLocation'+ { _dmlSpreadsheet = Nothing+ , _dmlDimensionRange = Nothing+ , _dmlSheetId = Nothing+ , _dmlLocationType = Nothing+ }++-- | True when metadata is associated with an entire spreadsheet.+dmlSpreadsheet :: Lens' DeveloperMetadataLocation (Maybe Bool)+dmlSpreadsheet+ = lens _dmlSpreadsheet+ (\ s a -> s{_dmlSpreadsheet = a})++-- | Represents the row or column when metadata is associated with a+-- dimension. The specified DimensionRange must represent a single row or+-- column; it cannot be unbounded or span multiple rows or columns.+dmlDimensionRange :: Lens' DeveloperMetadataLocation (Maybe DimensionRange)+dmlDimensionRange+ = lens _dmlDimensionRange+ (\ s a -> s{_dmlDimensionRange = a})++-- | The ID of the sheet when metadata is associated with an entire sheet.+dmlSheetId :: Lens' DeveloperMetadataLocation (Maybe Int32)+dmlSheetId+ = lens _dmlSheetId (\ s a -> s{_dmlSheetId = a}) .+ mapping _Coerce++-- | The type of location this object represents. This field is read-only.+dmlLocationType :: Lens' DeveloperMetadataLocation (Maybe DeveloperMetadataLocationLocationType)+dmlLocationType+ = lens _dmlLocationType+ (\ s a -> s{_dmlLocationType = a})++instance FromJSON DeveloperMetadataLocation where+ parseJSON+ = withObject "DeveloperMetadataLocation"+ (\ o ->+ DeveloperMetadataLocation' <$>+ (o .:? "spreadsheet") <*> (o .:? "dimensionRange")+ <*> (o .:? "sheetId")+ <*> (o .:? "locationType"))++instance ToJSON DeveloperMetadataLocation where+ toJSON DeveloperMetadataLocation'{..}+ = object+ (catMaybes+ [("spreadsheet" .=) <$> _dmlSpreadsheet,+ ("dimensionRange" .=) <$> _dmlDimensionRange,+ ("sheetId" .=) <$> _dmlSheetId,+ ("locationType" .=) <$> _dmlLocationType])++-- | Properties of a sheet.+--+-- /See:/ 'sheetProperties' smart constructor.+data SheetProperties = SheetProperties'+ { _sTabColor :: !(Maybe Color)+ , _sGridProperties :: !(Maybe GridProperties)+ , _sSheetType :: !(Maybe SheetPropertiesSheetType)+ , _sHidden :: !(Maybe Bool)+ , _sSheetId :: !(Maybe (Textual Int32))+ , _sTitle :: !(Maybe Text)+ , _sRightToLeft :: !(Maybe Bool)+ , _sIndex :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SheetProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sTabColor'+--+-- * 'sGridProperties'+--+-- * 'sSheetType'+--+-- * 'sHidden'+--+-- * 'sSheetId'+--+-- * 'sTitle'+--+-- * 'sRightToLeft'+--+-- * 'sIndex'+sheetProperties+ :: SheetProperties+sheetProperties =+ SheetProperties'+ { _sTabColor = Nothing+ , _sGridProperties = Nothing+ , _sSheetType = Nothing+ , _sHidden = Nothing+ , _sSheetId = Nothing+ , _sTitle = Nothing+ , _sRightToLeft = Nothing+ , _sIndex = Nothing+ }++-- | The color of the tab in the UI.+sTabColor :: Lens' SheetProperties (Maybe Color)+sTabColor+ = lens _sTabColor (\ s a -> s{_sTabColor = a})++-- | Additional properties of the sheet if this sheet is a grid. (If the+-- sheet is an object sheet, containing a chart or image, then this field+-- will be absent.) When writing it is an error to set any grid properties+-- on non-grid sheets.+sGridProperties :: Lens' SheetProperties (Maybe GridProperties)+sGridProperties+ = lens _sGridProperties+ (\ s a -> s{_sGridProperties = a})++-- | The type of sheet. Defaults to GRID. This field cannot be changed once+-- set.+sSheetType :: Lens' SheetProperties (Maybe SheetPropertiesSheetType)+sSheetType+ = lens _sSheetType (\ s a -> s{_sSheetType = a})++-- | True if the sheet is hidden in the UI, false if it\'s visible.+sHidden :: Lens' SheetProperties (Maybe Bool)+sHidden = lens _sHidden (\ s a -> s{_sHidden = a})++-- | The ID of the sheet. Must be non-negative. This field cannot be changed+-- once set.+sSheetId :: Lens' SheetProperties (Maybe Int32)+sSheetId+ = lens _sSheetId (\ s a -> s{_sSheetId = a}) .+ mapping _Coerce++-- | The name of the sheet.+sTitle :: Lens' SheetProperties (Maybe Text)+sTitle = lens _sTitle (\ s a -> s{_sTitle = a})++-- | True if the sheet is an RTL sheet instead of an LTR sheet.+sRightToLeft :: Lens' SheetProperties (Maybe Bool)+sRightToLeft+ = lens _sRightToLeft (\ s a -> s{_sRightToLeft = a})++-- | The index of the sheet within the spreadsheet. When adding or updating+-- sheet properties, if this field is excluded then the sheet is added or+-- moved to the end of the sheet list. When updating sheet indices or+-- inserting sheets, movement is considered in \"before the move\" indexes.+-- For example, if there were 3 sheets (S1, S2, S3) in order to move S1+-- ahead of S2 the index would have to be set to 2. A sheet index update+-- request is ignored if the requested index is identical to the sheets+-- current index or if the requested new index is equal to the current+-- sheet index + 1.+sIndex :: Lens' SheetProperties (Maybe Int32)+sIndex+ = lens _sIndex (\ s a -> s{_sIndex = a}) .+ mapping _Coerce++instance FromJSON SheetProperties where+ parseJSON+ = withObject "SheetProperties"+ (\ o ->+ SheetProperties' <$>+ (o .:? "tabColor") <*> (o .:? "gridProperties") <*>+ (o .:? "sheetType")+ <*> (o .:? "hidden")+ <*> (o .:? "sheetId")+ <*> (o .:? "title")+ <*> (o .:? "rightToLeft")+ <*> (o .:? "index"))++instance ToJSON SheetProperties where+ toJSON SheetProperties'{..}+ = object+ (catMaybes+ [("tabColor" .=) <$> _sTabColor,+ ("gridProperties" .=) <$> _sGridProperties,+ ("sheetType" .=) <$> _sSheetType,+ ("hidden" .=) <$> _sHidden,+ ("sheetId" .=) <$> _sSheetId,+ ("title" .=) <$> _sTitle,+ ("rightToLeft" .=) <$> _sRightToLeft,+ ("index" .=) <$> _sIndex])++-- | The criteria for showing\/hiding values per column. The map\'s key is+-- the column index, and the value is the criteria for that column.+--+-- /See:/ 'filterViewCriteria' smart constructor.+newtype FilterViewCriteria = FilterViewCriteria'+ { _fvcAddtional :: HashMap Text FilterCriteria+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FilterViewCriteria' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fvcAddtional'+filterViewCriteria+ :: HashMap Text FilterCriteria -- ^ 'fvcAddtional'+ -> FilterViewCriteria+filterViewCriteria pFvcAddtional_ =+ FilterViewCriteria'+ { _fvcAddtional = _Coerce # pFvcAddtional_+ }++fvcAddtional :: Lens' FilterViewCriteria (HashMap Text FilterCriteria)+fvcAddtional+ = lens _fvcAddtional (\ s a -> s{_fvcAddtional = a})+ . _Coerce++instance FromJSON FilterViewCriteria where+ parseJSON+ = withObject "FilterViewCriteria"+ (\ o -> FilterViewCriteria' <$> (parseJSONObject o))++instance ToJSON FilterViewCriteria where+ toJSON = toJSON . _fvcAddtional++-- | The response when updating a range of values in a spreadsheet.+--+-- /See:/ 'batchUpdateValuesResponse' smart constructor.+data BatchUpdateValuesResponse = BatchUpdateValuesResponse'+ { _buvrTotalUpdatedColumns :: !(Maybe (Textual Int32))+ , _buvrResponses :: !(Maybe [UpdateValuesResponse])+ , _buvrSpreadsheetId :: !(Maybe Text)+ , _buvrTotalUpdatedSheets :: !(Maybe (Textual Int32))+ , _buvrTotalUpdatedCells :: !(Maybe (Textual Int32))+ , _buvrTotalUpdatedRows :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BatchUpdateValuesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'buvrTotalUpdatedColumns'+--+-- * 'buvrResponses'+--+-- * 'buvrSpreadsheetId'+--+-- * 'buvrTotalUpdatedSheets'+--+-- * 'buvrTotalUpdatedCells'+--+-- * 'buvrTotalUpdatedRows'+batchUpdateValuesResponse+ :: BatchUpdateValuesResponse+batchUpdateValuesResponse =+ BatchUpdateValuesResponse'+ { _buvrTotalUpdatedColumns = Nothing+ , _buvrResponses = Nothing+ , _buvrSpreadsheetId = Nothing+ , _buvrTotalUpdatedSheets = Nothing+ , _buvrTotalUpdatedCells = Nothing+ , _buvrTotalUpdatedRows = Nothing+ }++-- | The total number of columns where at least one cell in the column was+-- updated.+buvrTotalUpdatedColumns :: Lens' BatchUpdateValuesResponse (Maybe Int32)+buvrTotalUpdatedColumns+ = lens _buvrTotalUpdatedColumns+ (\ s a -> s{_buvrTotalUpdatedColumns = a})+ . mapping _Coerce++-- | One UpdateValuesResponse per requested range, in the same order as the+-- requests appeared.+buvrResponses :: Lens' BatchUpdateValuesResponse [UpdateValuesResponse]+buvrResponses+ = lens _buvrResponses+ (\ s a -> s{_buvrResponses = a})+ . _Default+ . _Coerce++-- | The spreadsheet the updates were applied to.+buvrSpreadsheetId :: Lens' BatchUpdateValuesResponse (Maybe Text)+buvrSpreadsheetId+ = lens _buvrSpreadsheetId+ (\ s a -> s{_buvrSpreadsheetId = a})++-- | The total number of sheets where at least one cell in the sheet was+-- updated.+buvrTotalUpdatedSheets :: Lens' BatchUpdateValuesResponse (Maybe Int32)+buvrTotalUpdatedSheets+ = lens _buvrTotalUpdatedSheets+ (\ s a -> s{_buvrTotalUpdatedSheets = a})+ . mapping _Coerce++-- | The total number of cells updated.+buvrTotalUpdatedCells :: Lens' BatchUpdateValuesResponse (Maybe Int32)+buvrTotalUpdatedCells+ = lens _buvrTotalUpdatedCells+ (\ s a -> s{_buvrTotalUpdatedCells = a})+ . mapping _Coerce++-- | The total number of rows where at least one cell in the row was updated.+buvrTotalUpdatedRows :: Lens' BatchUpdateValuesResponse (Maybe Int32)+buvrTotalUpdatedRows+ = lens _buvrTotalUpdatedRows+ (\ s a -> s{_buvrTotalUpdatedRows = a})+ . mapping _Coerce++instance FromJSON BatchUpdateValuesResponse where+ parseJSON+ = withObject "BatchUpdateValuesResponse"+ (\ o ->+ BatchUpdateValuesResponse' <$>+ (o .:? "totalUpdatedColumns") <*>+ (o .:? "responses" .!= mempty)+ <*> (o .:? "spreadsheetId")+ <*> (o .:? "totalUpdatedSheets")+ <*> (o .:? "totalUpdatedCells")+ <*> (o .:? "totalUpdatedRows"))++instance ToJSON BatchUpdateValuesResponse where+ toJSON BatchUpdateValuesResponse'{..}+ = object+ (catMaybes+ [("totalUpdatedColumns" .=) <$>+ _buvrTotalUpdatedColumns,+ ("responses" .=) <$> _buvrResponses,+ ("spreadsheetId" .=) <$> _buvrSpreadsheetId,+ ("totalUpdatedSheets" .=) <$>+ _buvrTotalUpdatedSheets,+ ("totalUpdatedCells" .=) <$> _buvrTotalUpdatedCells,+ ("totalUpdatedRows" .=) <$> _buvrTotalUpdatedRows])++-- | Updates properties of the sheet with the specified sheetId.+--+-- /See:/ 'updateSheetPropertiesRequest' smart constructor.+data UpdateSheetPropertiesRequest = UpdateSheetPropertiesRequest'+ { _usprFields :: !(Maybe GFieldMask)+ , _usprProperties :: !(Maybe SheetProperties)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateSheetPropertiesRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'usprFields'+--+-- * 'usprProperties'+updateSheetPropertiesRequest+ :: UpdateSheetPropertiesRequest+updateSheetPropertiesRequest =+ UpdateSheetPropertiesRequest'+ { _usprFields = Nothing+ , _usprProperties = Nothing+ }++-- | The fields that should be updated. At least one field must be specified.+-- The root \`properties\` is implied and should not be specified. A single+-- \`\"*\"\` can be used as short-hand for listing every field.+usprFields :: Lens' UpdateSheetPropertiesRequest (Maybe GFieldMask)+usprFields+ = lens _usprFields (\ s a -> s{_usprFields = a})++-- | The properties to update.+usprProperties :: Lens' UpdateSheetPropertiesRequest (Maybe SheetProperties)+usprProperties+ = lens _usprProperties+ (\ s a -> s{_usprProperties = a})++instance FromJSON UpdateSheetPropertiesRequest where+ parseJSON+ = withObject "UpdateSheetPropertiesRequest"+ (\ o ->+ UpdateSheetPropertiesRequest' <$>+ (o .:? "fields") <*> (o .:? "properties"))++instance ToJSON UpdateSheetPropertiesRequest where+ toJSON UpdateSheetPropertiesRequest'{..}+ = object+ (catMaybes+ [("fields" .=) <$> _usprFields,+ ("properties" .=) <$> _usprProperties])++-- | Resource that represents a spreadsheet.+--+-- /See:/ 'spreadsheet' smart constructor.+data Spreadsheet = Spreadsheet'+ { _sprSheets :: !(Maybe [Sheet])+ , _sprNamedRanges :: !(Maybe [NamedRange])+ , _sprSpreadsheetId :: !(Maybe Text)+ , _sprSpreadsheetURL :: !(Maybe Text)+ , _sprDeveloperMetadata :: !(Maybe [DeveloperMetadata])+ , _sprProperties :: !(Maybe SpreadsheetProperties)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Spreadsheet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sprSheets'+--+-- * 'sprNamedRanges'+--+-- * 'sprSpreadsheetId'+--+-- * 'sprSpreadsheetURL'+--+-- * 'sprDeveloperMetadata'+--+-- * 'sprProperties'+spreadsheet+ :: Spreadsheet+spreadsheet =+ Spreadsheet'+ { _sprSheets = Nothing+ , _sprNamedRanges = Nothing+ , _sprSpreadsheetId = Nothing+ , _sprSpreadsheetURL = Nothing+ , _sprDeveloperMetadata = Nothing+ , _sprProperties = Nothing+ }++-- | The sheets that are part of a spreadsheet.+sprSheets :: Lens' Spreadsheet [Sheet]+sprSheets+ = lens _sprSheets (\ s a -> s{_sprSheets = a}) .+ _Default+ . _Coerce++-- | The named ranges defined in a spreadsheet.+sprNamedRanges :: Lens' Spreadsheet [NamedRange]+sprNamedRanges+ = lens _sprNamedRanges+ (\ s a -> s{_sprNamedRanges = a})+ . _Default+ . _Coerce++-- | The ID of the spreadsheet. This field is read-only.+sprSpreadsheetId :: Lens' Spreadsheet (Maybe Text)+sprSpreadsheetId+ = lens _sprSpreadsheetId+ (\ s a -> s{_sprSpreadsheetId = a})++-- | The url of the spreadsheet. This field is read-only.+sprSpreadsheetURL :: Lens' Spreadsheet (Maybe Text)+sprSpreadsheetURL+ = lens _sprSpreadsheetURL+ (\ s a -> s{_sprSpreadsheetURL = a})++-- | The developer metadata associated with a spreadsheet.+sprDeveloperMetadata :: Lens' Spreadsheet [DeveloperMetadata]+sprDeveloperMetadata+ = lens _sprDeveloperMetadata+ (\ s a -> s{_sprDeveloperMetadata = a})+ . _Default+ . _Coerce++-- | Overall properties of a spreadsheet.+sprProperties :: Lens' Spreadsheet (Maybe SpreadsheetProperties)+sprProperties+ = lens _sprProperties+ (\ s a -> s{_sprProperties = a})++instance FromJSON Spreadsheet where+ parseJSON+ = withObject "Spreadsheet"+ (\ o ->+ Spreadsheet' <$>+ (o .:? "sheets" .!= mempty) <*>+ (o .:? "namedRanges" .!= mempty)+ <*> (o .:? "spreadsheetId")+ <*> (o .:? "spreadsheetUrl")+ <*> (o .:? "developerMetadata" .!= mempty)+ <*> (o .:? "properties"))++instance ToJSON Spreadsheet where+ toJSON Spreadsheet'{..}+ = object+ (catMaybes+ [("sheets" .=) <$> _sprSheets,+ ("namedRanges" .=) <$> _sprNamedRanges,+ ("spreadsheetId" .=) <$> _sprSpreadsheetId,+ ("spreadsheetUrl" .=) <$> _sprSpreadsheetURL,+ ("developerMetadata" .=) <$> _sprDeveloperMetadata,+ ("properties" .=) <$> _sprProperties])++-- | A </chart/interactive/docs/gallery/candlestickchart candlestick chart>.+--+-- /See:/ 'candlestickChartSpec' smart constructor.+data CandlestickChartSpec = CandlestickChartSpec'+ { _ccsData :: !(Maybe [CandlestickData])+ , _ccsDomain :: !(Maybe CandlestickDomain)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CandlestickChartSpec' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccsData'+--+-- * 'ccsDomain'+candlestickChartSpec+ :: CandlestickChartSpec+candlestickChartSpec =+ CandlestickChartSpec'+ { _ccsData = Nothing+ , _ccsDomain = Nothing+ }++-- | The Candlestick chart data. Only one CandlestickData is supported.+ccsData :: Lens' CandlestickChartSpec [CandlestickData]+ccsData+ = lens _ccsData (\ s a -> s{_ccsData = a}) . _Default+ . _Coerce++-- | The domain data (horizontal axis) for the candlestick chart. String data+-- will be treated as discrete labels, other data will be treated as+-- continuous values.+ccsDomain :: Lens' CandlestickChartSpec (Maybe CandlestickDomain)+ccsDomain+ = lens _ccsDomain (\ s a -> s{_ccsDomain = a})++instance FromJSON CandlestickChartSpec where+ parseJSON+ = withObject "CandlestickChartSpec"+ (\ o ->+ CandlestickChartSpec' <$>+ (o .:? "data" .!= mempty) <*> (o .:? "domain"))++instance ToJSON CandlestickChartSpec where+ toJSON CandlestickChartSpec'{..}+ = object+ (catMaybes+ [("data" .=) <$> _ccsData,+ ("domain" .=) <$> _ccsDomain])++-- | Inserts rows or columns in a sheet at a particular index.+--+-- /See:/ 'insertDimensionRequest' smart constructor.+data InsertDimensionRequest = InsertDimensionRequest'+ { _idrRange :: !(Maybe DimensionRange)+ , _idrInheritFromBefore :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InsertDimensionRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'idrRange'+--+-- * 'idrInheritFromBefore'+insertDimensionRequest+ :: InsertDimensionRequest+insertDimensionRequest =+ InsertDimensionRequest'+ { _idrRange = Nothing+ , _idrInheritFromBefore = Nothing+ }++-- | The dimensions to insert. Both the start and end indexes must be+-- bounded.+idrRange :: Lens' InsertDimensionRequest (Maybe DimensionRange)+idrRange = lens _idrRange (\ s a -> s{_idrRange = a})++-- | Whether dimension properties should be extended from the dimensions+-- before or after the newly inserted dimensions. True to inherit from the+-- dimensions before (in which case the start index must be greater than+-- 0), and false to inherit from the dimensions after. For example, if row+-- index 0 has red background and row index 1 has a green background, then+-- inserting 2 rows at index 1 can inherit either the green or red+-- background. If \`inheritFromBefore\` is true, the two new rows will be+-- red (because the row before the insertion point was red), whereas if+-- \`inheritFromBefore\` is false, the two new rows will be green (because+-- the row after the insertion point was green).+idrInheritFromBefore :: Lens' InsertDimensionRequest (Maybe Bool)+idrInheritFromBefore+ = lens _idrInheritFromBefore+ (\ s a -> s{_idrInheritFromBefore = a})++instance FromJSON InsertDimensionRequest where+ parseJSON+ = withObject "InsertDimensionRequest"+ (\ o ->+ InsertDimensionRequest' <$>+ (o .:? "range") <*> (o .:? "inheritFromBefore"))++instance ToJSON InsertDimensionRequest where+ toJSON InsertDimensionRequest'{..}+ = object+ (catMaybes+ [("range" .=) <$> _idrRange,+ ("inheritFromBefore" .=) <$> _idrInheritFromBefore])++-- | A reply to a developer metadata search request.+--+-- /See:/ 'searchDeveloperMetadataResponse' smart constructor.+newtype SearchDeveloperMetadataResponse = SearchDeveloperMetadataResponse'+ { _sdmrMatchedDeveloperMetadata :: Maybe [MatchedDeveloperMetadata]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SearchDeveloperMetadataResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdmrMatchedDeveloperMetadata'+searchDeveloperMetadataResponse+ :: SearchDeveloperMetadataResponse+searchDeveloperMetadataResponse =+ SearchDeveloperMetadataResponse'+ { _sdmrMatchedDeveloperMetadata = Nothing+ }++-- | The metadata matching the criteria of the search request.+sdmrMatchedDeveloperMetadata :: Lens' SearchDeveloperMetadataResponse [MatchedDeveloperMetadata]+sdmrMatchedDeveloperMetadata+ = lens _sdmrMatchedDeveloperMetadata+ (\ s a -> s{_sdmrMatchedDeveloperMetadata = a})+ . _Default+ . _Coerce++instance FromJSON SearchDeveloperMetadataResponse+ where+ parseJSON+ = withObject "SearchDeveloperMetadataResponse"+ (\ o ->+ SearchDeveloperMetadataResponse' <$>+ (o .:? "matchedDeveloperMetadata" .!= mempty))++instance ToJSON SearchDeveloperMetadataResponse where+ toJSON SearchDeveloperMetadataResponse'{..}+ = object+ (catMaybes+ [("matchedDeveloperMetadata" .=) <$>+ _sdmrMatchedDeveloperMetadata])++-- | A single interpolation point on a gradient conditional format. These pin+-- the gradient color scale according to the color, type and value chosen.+--+-- /See:/ 'interpolationPoint' smart constructor.+data InterpolationPoint = InterpolationPoint'+ { _ipColor :: !(Maybe Color)+ , _ipValue :: !(Maybe Text)+ , _ipType :: !(Maybe InterpolationPointType)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InterpolationPoint' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ipColor'+--+-- * 'ipValue'+--+-- * 'ipType'+interpolationPoint+ :: InterpolationPoint+interpolationPoint =+ InterpolationPoint'+ { _ipColor = Nothing+ , _ipValue = Nothing+ , _ipType = Nothing+ }++-- | The color this interpolation point should use.+ipColor :: Lens' InterpolationPoint (Maybe Color)+ipColor = lens _ipColor (\ s a -> s{_ipColor = a})++-- | The value this interpolation point uses. May be a formula. Unused if+-- type is MIN or MAX.+ipValue :: Lens' InterpolationPoint (Maybe Text)+ipValue = lens _ipValue (\ s a -> s{_ipValue = a})++-- | How the value should be interpreted.+ipType :: Lens' InterpolationPoint (Maybe InterpolationPointType)+ipType = lens _ipType (\ s a -> s{_ipType = a})++instance FromJSON InterpolationPoint where+ parseJSON+ = withObject "InterpolationPoint"+ (\ o ->+ InterpolationPoint' <$>+ (o .:? "color") <*> (o .:? "value") <*>+ (o .:? "type"))++instance ToJSON InterpolationPoint where+ toJSON InterpolationPoint'{..}+ = object+ (catMaybes+ [("color" .=) <$> _ipColor,+ ("value" .=) <$> _ipValue, ("type" .=) <$> _ipType])++-- | Data about a specific cell.+--+-- /See:/ 'cellData' smart constructor.+data CellData = CellData'+ { _cdTextFormatRuns :: !(Maybe [TextFormatRun])+ , _cdNote :: !(Maybe Text)+ , _cdUserEnteredValue :: !(Maybe ExtendedValue)+ , _cdUserEnteredFormat :: !(Maybe CellFormat)+ , _cdEffectiveFormat :: !(Maybe CellFormat)+ , _cdPivotTable :: !(Maybe PivotTable)+ , _cdFormattedValue :: !(Maybe Text)+ , _cdDataValidation :: !(Maybe DataValidationRule)+ , _cdHyperlink :: !(Maybe Text)+ , _cdEffectiveValue :: !(Maybe ExtendedValue)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CellData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdTextFormatRuns'+--+-- * 'cdNote'+--+-- * 'cdUserEnteredValue'+--+-- * 'cdUserEnteredFormat'+--+-- * 'cdEffectiveFormat'+--+-- * 'cdPivotTable'+--+-- * 'cdFormattedValue'+--+-- * 'cdDataValidation'+--+-- * 'cdHyperlink'+--+-- * 'cdEffectiveValue'+cellData+ :: CellData+cellData =+ CellData'+ { _cdTextFormatRuns = Nothing+ , _cdNote = Nothing+ , _cdUserEnteredValue = Nothing+ , _cdUserEnteredFormat = Nothing+ , _cdEffectiveFormat = Nothing+ , _cdPivotTable = Nothing+ , _cdFormattedValue = Nothing+ , _cdDataValidation = Nothing+ , _cdHyperlink = Nothing+ , _cdEffectiveValue = Nothing+ }++-- | Runs of rich text applied to subsections of the cell. Runs are only+-- valid on user entered strings, not formulas, bools, or numbers. Runs+-- start at specific indexes in the text and continue until the next run.+-- Properties of a run will continue unless explicitly changed in a+-- subsequent run (and properties of the first run will continue the+-- properties of the cell unless explicitly changed). When writing, the new+-- runs will overwrite any prior runs. When writing a new+-- user_entered_value, previous runs are erased.+cdTextFormatRuns :: Lens' CellData [TextFormatRun]+cdTextFormatRuns+ = lens _cdTextFormatRuns+ (\ s a -> s{_cdTextFormatRuns = a})+ . _Default+ . _Coerce++-- | Any note on the cell.+cdNote :: Lens' CellData (Maybe Text)+cdNote = lens _cdNote (\ s a -> s{_cdNote = a})++-- | The value the user entered in the cell. e.g, \`1234\`, \`\'Hello\'\`, or+-- \`=NOW()\` Note: Dates, Times and DateTimes are represented as doubles+-- in serial number format.+cdUserEnteredValue :: Lens' CellData (Maybe ExtendedValue)+cdUserEnteredValue+ = lens _cdUserEnteredValue+ (\ s a -> s{_cdUserEnteredValue = a})++-- | The format the user entered for the cell. When writing, the new format+-- will be merged with the existing format.+cdUserEnteredFormat :: Lens' CellData (Maybe CellFormat)+cdUserEnteredFormat+ = lens _cdUserEnteredFormat+ (\ s a -> s{_cdUserEnteredFormat = a})++-- | The effective format being used by the cell. This includes the results+-- of applying any conditional formatting and, if the cell contains a+-- formula, the computed number format. If the effective format is the+-- default format, effective format will not be written. This field is+-- read-only.+cdEffectiveFormat :: Lens' CellData (Maybe CellFormat)+cdEffectiveFormat+ = lens _cdEffectiveFormat+ (\ s a -> s{_cdEffectiveFormat = a})++-- | A pivot table anchored at this cell. The size of pivot table itself is+-- computed dynamically based on its data, grouping, filters, values, etc.+-- Only the top-left cell of the pivot table contains the pivot table+-- definition. The other cells will contain the calculated values of the+-- results of the pivot in their effective_value fields.+cdPivotTable :: Lens' CellData (Maybe PivotTable)+cdPivotTable+ = lens _cdPivotTable (\ s a -> s{_cdPivotTable = a})++-- | The formatted value of the cell. This is the value as it\'s shown to the+-- user. This field is read-only.+cdFormattedValue :: Lens' CellData (Maybe Text)+cdFormattedValue+ = lens _cdFormattedValue+ (\ s a -> s{_cdFormattedValue = a})++-- | A data validation rule on the cell, if any. When writing, the new data+-- validation rule will overwrite any prior rule.+cdDataValidation :: Lens' CellData (Maybe DataValidationRule)+cdDataValidation+ = lens _cdDataValidation+ (\ s a -> s{_cdDataValidation = a})++-- | A hyperlink this cell points to, if any. This field is read-only. (To+-- set it, use a \`=HYPERLINK\` formula in the+-- userEnteredValue.formulaValue field.)+cdHyperlink :: Lens' CellData (Maybe Text)+cdHyperlink+ = lens _cdHyperlink (\ s a -> s{_cdHyperlink = a})++-- | The effective value of the cell. For cells with formulas, this is the+-- calculated value. For cells with literals, this is the same as the+-- user_entered_value. This field is read-only.+cdEffectiveValue :: Lens' CellData (Maybe ExtendedValue)+cdEffectiveValue+ = lens _cdEffectiveValue+ (\ s a -> s{_cdEffectiveValue = a})++instance FromJSON CellData where+ parseJSON+ = withObject "CellData"+ (\ o ->+ CellData' <$>+ (o .:? "textFormatRuns" .!= mempty) <*>+ (o .:? "note")+ <*> (o .:? "userEnteredValue")+ <*> (o .:? "userEnteredFormat")+ <*> (o .:? "effectiveFormat")+ <*> (o .:? "pivotTable")+ <*> (o .:? "formattedValue")+ <*> (o .:? "dataValidation")+ <*> (o .:? "hyperlink")+ <*> (o .:? "effectiveValue"))++instance ToJSON CellData where+ toJSON CellData'{..}+ = object+ (catMaybes+ [("textFormatRuns" .=) <$> _cdTextFormatRuns,+ ("note" .=) <$> _cdNote,+ ("userEnteredValue" .=) <$> _cdUserEnteredValue,+ ("userEnteredFormat" .=) <$> _cdUserEnteredFormat,+ ("effectiveFormat" .=) <$> _cdEffectiveFormat,+ ("pivotTable" .=) <$> _cdPivotTable,+ ("formattedValue" .=) <$> _cdFormattedValue,+ ("dataValidation" .=) <$> _cdDataValidation,+ ("hyperlink" .=) <$> _cdHyperlink,+ ("effectiveValue" .=) <$> _cdEffectiveValue])++-- | Source ranges for a chart.+--+-- /See:/ 'chartSourceRange' smart constructor.+newtype ChartSourceRange = ChartSourceRange'+ { _csrSources :: Maybe [GridRange]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ChartSourceRange' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csrSources'+chartSourceRange+ :: ChartSourceRange+chartSourceRange =+ ChartSourceRange'+ { _csrSources = Nothing+ }++-- | The ranges of data for a series or domain. Exactly one dimension must+-- have a length of 1, and all sources in the list must have the same+-- dimension with length 1. The domain (if it exists) & all series must+-- have the same number of source ranges. If using more than one source+-- range, then the source range at a given offset must be in order and+-- contiguous across the domain and series. For example, these are valid+-- configurations: domain sources: A1:A5 series1 sources: B1:B5 series2+-- sources: D6:D10 domain sources: A1:A5, C10:C12 series1 sources: B1:B5,+-- D10:D12 series2 sources: C1:C5, E10:E12+csrSources :: Lens' ChartSourceRange [GridRange]+csrSources+ = lens _csrSources (\ s a -> s{_csrSources = a}) .+ _Default+ . _Coerce++instance FromJSON ChartSourceRange where+ parseJSON+ = withObject "ChartSourceRange"+ (\ o ->+ ChartSourceRange' <$> (o .:? "sources" .!= mempty))++instance ToJSON ChartSourceRange where+ toJSON ChartSourceRange'{..}+ = object (catMaybes [("sources" .=) <$> _csrSources])++-- | The result of adding a named range.+--+-- /See:/ 'addNamedRangeResponse' smart constructor.+newtype AddNamedRangeResponse = AddNamedRangeResponse'+ { _anrrNamedRange :: Maybe NamedRange+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AddNamedRangeResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'anrrNamedRange'+addNamedRangeResponse+ :: AddNamedRangeResponse+addNamedRangeResponse =+ AddNamedRangeResponse'+ { _anrrNamedRange = Nothing+ }++-- | The named range to add.+anrrNamedRange :: Lens' AddNamedRangeResponse (Maybe NamedRange)+anrrNamedRange+ = lens _anrrNamedRange+ (\ s a -> s{_anrrNamedRange = a})++instance FromJSON AddNamedRangeResponse where+ parseJSON+ = withObject "AddNamedRangeResponse"+ (\ o ->+ AddNamedRangeResponse' <$> (o .:? "namedRange"))++instance ToJSON AddNamedRangeResponse where+ toJSON AddNamedRangeResponse'{..}+ = object+ (catMaybes [("namedRange" .=) <$> _anrrNamedRange])++-- | The domain of a waterfall chart.+--+-- /See:/ 'waterfallChartDomain' smart constructor.+data WaterfallChartDomain = WaterfallChartDomain'+ { _wcdReversed :: !(Maybe Bool)+ , _wcdData :: !(Maybe ChartData)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WaterfallChartDomain' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wcdReversed'+--+-- * 'wcdData'+waterfallChartDomain+ :: WaterfallChartDomain+waterfallChartDomain =+ WaterfallChartDomain'+ { _wcdReversed = Nothing+ , _wcdData = Nothing+ }++-- | True to reverse the order of the domain values (horizontal axis).+wcdReversed :: Lens' WaterfallChartDomain (Maybe Bool)+wcdReversed+ = lens _wcdReversed (\ s a -> s{_wcdReversed = a})++-- | The data of the WaterfallChartDomain.+wcdData :: Lens' WaterfallChartDomain (Maybe ChartData)+wcdData = lens _wcdData (\ s a -> s{_wcdData = a})++instance FromJSON WaterfallChartDomain where+ parseJSON+ = withObject "WaterfallChartDomain"+ (\ o ->+ WaterfallChartDomain' <$>+ (o .:? "reversed") <*> (o .:? "data"))++instance ToJSON WaterfallChartDomain where+ toJSON WaterfallChartDomain'{..}+ = object+ (catMaybes+ [("reversed" .=) <$> _wcdReversed,+ ("data" .=) <$> _wcdData])++-- | The result of adding a chart to a spreadsheet.+--+-- /See:/ 'addChartResponse' smart constructor.+newtype AddChartResponse = AddChartResponse'+ { _acrChart :: Maybe EmbeddedChart+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AddChartResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'acrChart'+addChartResponse+ :: AddChartResponse+addChartResponse =+ AddChartResponse'+ { _acrChart = Nothing+ }++-- | The newly added chart.+acrChart :: Lens' AddChartResponse (Maybe EmbeddedChart)+acrChart = lens _acrChart (\ s a -> s{_acrChart = a})++instance FromJSON AddChartResponse where+ parseJSON+ = withObject "AddChartResponse"+ (\ o -> AddChartResponse' <$> (o .:? "chart"))++instance ToJSON AddChartResponse where+ toJSON AddChartResponse'{..}+ = object (catMaybes [("chart" .=) <$> _acrChart])++-- | Updates a chart\'s specifications. (This does not move or resize a+-- chart. To move or resize a chart, use+-- UpdateEmbeddedObjectPositionRequest.)+--+-- /See:/ 'updateChartSpecRequest' smart constructor.+data UpdateChartSpecRequest = UpdateChartSpecRequest'+ { _ucsrSpec :: !(Maybe ChartSpec)+ , _ucsrChartId :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateChartSpecRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ucsrSpec'+--+-- * 'ucsrChartId'+updateChartSpecRequest+ :: UpdateChartSpecRequest+updateChartSpecRequest =+ UpdateChartSpecRequest'+ { _ucsrSpec = Nothing+ , _ucsrChartId = Nothing+ }++-- | The specification to apply to the chart.+ucsrSpec :: Lens' UpdateChartSpecRequest (Maybe ChartSpec)+ucsrSpec = lens _ucsrSpec (\ s a -> s{_ucsrSpec = a})++-- | The ID of the chart to update.+ucsrChartId :: Lens' UpdateChartSpecRequest (Maybe Int32)+ucsrChartId+ = lens _ucsrChartId (\ s a -> s{_ucsrChartId = a}) .+ mapping _Coerce++instance FromJSON UpdateChartSpecRequest where+ parseJSON+ = withObject "UpdateChartSpecRequest"+ (\ o ->+ UpdateChartSpecRequest' <$>+ (o .:? "spec") <*> (o .:? "chartId"))++instance ToJSON UpdateChartSpecRequest where+ toJSON UpdateChartSpecRequest'{..}+ = object+ (catMaybes+ [("spec" .=) <$> _ucsrSpec,+ ("chartId" .=) <$> _ucsrChartId])++-- | Sets the basic filter associated with a sheet.+--+-- /See:/ 'setBasicFilterRequest' smart constructor.+newtype SetBasicFilterRequest = SetBasicFilterRequest'+ { _sbfrFilter :: Maybe BasicFilter+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SetBasicFilterRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sbfrFilter'+setBasicFilterRequest+ :: SetBasicFilterRequest+setBasicFilterRequest =+ SetBasicFilterRequest'+ { _sbfrFilter = Nothing+ }++-- | The filter to set.+sbfrFilter :: Lens' SetBasicFilterRequest (Maybe BasicFilter)+sbfrFilter+ = lens _sbfrFilter (\ s a -> s{_sbfrFilter = a})++instance FromJSON SetBasicFilterRequest where+ parseJSON+ = withObject "SetBasicFilterRequest"+ (\ o -> SetBasicFilterRequest' <$> (o .:? "filter"))++instance ToJSON SetBasicFilterRequest where+ toJSON SetBasicFilterRequest'{..}+ = object (catMaybes [("filter" .=) <$> _sbfrFilter])++-- | Settings to control how circular dependencies are resolved with+-- iterative calculation.+--+-- /See:/ 'iterativeCalculationSettings' smart constructor.+data IterativeCalculationSettings = IterativeCalculationSettings'+ { _icsMaxIterations :: !(Maybe (Textual Int32))+ , _icsConvergenceThreshold :: !(Maybe (Textual Double))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'IterativeCalculationSettings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'icsMaxIterations'+--+-- * 'icsConvergenceThreshold'+iterativeCalculationSettings+ :: IterativeCalculationSettings+iterativeCalculationSettings =+ IterativeCalculationSettings'+ { _icsMaxIterations = Nothing+ , _icsConvergenceThreshold = Nothing+ }++-- | When iterative calculation is enabled, the maximum number of calculation+-- rounds to perform.+icsMaxIterations :: Lens' IterativeCalculationSettings (Maybe Int32)+icsMaxIterations+ = lens _icsMaxIterations+ (\ s a -> s{_icsMaxIterations = a})+ . mapping _Coerce++-- | When iterative calculation is enabled and successive results differ by+-- less than this threshold value, the calculation rounds stop.+icsConvergenceThreshold :: Lens' IterativeCalculationSettings (Maybe Double)+icsConvergenceThreshold+ = lens _icsConvergenceThreshold+ (\ s a -> s{_icsConvergenceThreshold = a})+ . mapping _Coerce++instance FromJSON IterativeCalculationSettings where+ parseJSON+ = withObject "IterativeCalculationSettings"+ (\ o ->+ IterativeCalculationSettings' <$>+ (o .:? "maxIterations") <*>+ (o .:? "convergenceThreshold"))++instance ToJSON IterativeCalculationSettings where+ toJSON IterativeCalculationSettings'{..}+ = object+ (catMaybes+ [("maxIterations" .=) <$> _icsMaxIterations,+ ("convergenceThreshold" .=) <$>+ _icsConvergenceThreshold])++-- | The response when updating a range of values by a data filter in a+-- spreadsheet.+--+-- /See:/ 'updateValuesByDataFilterResponse' smart constructor.+data UpdateValuesByDataFilterResponse = UpdateValuesByDataFilterResponse'+ { _uvbdfrUpdatedCells :: !(Maybe (Textual Int32))+ , _uvbdfrUpdatedRows :: !(Maybe (Textual Int32))+ , _uvbdfrUpdatedRange :: !(Maybe Text)+ , _uvbdfrUpdatedData :: !(Maybe ValueRange)+ , _uvbdfrUpdatedColumns :: !(Maybe (Textual Int32))+ , _uvbdfrDataFilter :: !(Maybe DataFilter)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateValuesByDataFilterResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uvbdfrUpdatedCells'+--+-- * 'uvbdfrUpdatedRows'+--+-- * 'uvbdfrUpdatedRange'+--+-- * 'uvbdfrUpdatedData'+--+-- * 'uvbdfrUpdatedColumns'+--+-- * 'uvbdfrDataFilter'+updateValuesByDataFilterResponse+ :: UpdateValuesByDataFilterResponse+updateValuesByDataFilterResponse =+ UpdateValuesByDataFilterResponse'+ { _uvbdfrUpdatedCells = Nothing+ , _uvbdfrUpdatedRows = Nothing+ , _uvbdfrUpdatedRange = Nothing+ , _uvbdfrUpdatedData = Nothing+ , _uvbdfrUpdatedColumns = Nothing+ , _uvbdfrDataFilter = Nothing+ }++-- | The number of cells updated.+uvbdfrUpdatedCells :: Lens' UpdateValuesByDataFilterResponse (Maybe Int32)+uvbdfrUpdatedCells+ = lens _uvbdfrUpdatedCells+ (\ s a -> s{_uvbdfrUpdatedCells = a})+ . mapping _Coerce++-- | The number of rows where at least one cell in the row was updated.+uvbdfrUpdatedRows :: Lens' UpdateValuesByDataFilterResponse (Maybe Int32)+uvbdfrUpdatedRows+ = lens _uvbdfrUpdatedRows+ (\ s a -> s{_uvbdfrUpdatedRows = a})+ . mapping _Coerce++-- | The range (in A1 notation) that updates were applied to.+uvbdfrUpdatedRange :: Lens' UpdateValuesByDataFilterResponse (Maybe Text)+uvbdfrUpdatedRange+ = lens _uvbdfrUpdatedRange+ (\ s a -> s{_uvbdfrUpdatedRange = a})++-- | The values of the cells in the range matched by the dataFilter after all+-- updates were applied. This is only included if the request\'s+-- \`includeValuesInResponse\` field was \`true\`.+uvbdfrUpdatedData :: Lens' UpdateValuesByDataFilterResponse (Maybe ValueRange)+uvbdfrUpdatedData+ = lens _uvbdfrUpdatedData+ (\ s a -> s{_uvbdfrUpdatedData = a})++-- | The number of columns where at least one cell in the column was updated.+uvbdfrUpdatedColumns :: Lens' UpdateValuesByDataFilterResponse (Maybe Int32)+uvbdfrUpdatedColumns+ = lens _uvbdfrUpdatedColumns+ (\ s a -> s{_uvbdfrUpdatedColumns = a})+ . mapping _Coerce++-- | The data filter that selected the range that was updated.+uvbdfrDataFilter :: Lens' UpdateValuesByDataFilterResponse (Maybe DataFilter)+uvbdfrDataFilter+ = lens _uvbdfrDataFilter+ (\ s a -> s{_uvbdfrDataFilter = a})++instance FromJSON UpdateValuesByDataFilterResponse+ where+ parseJSON+ = withObject "UpdateValuesByDataFilterResponse"+ (\ o ->+ UpdateValuesByDataFilterResponse' <$>+ (o .:? "updatedCells") <*> (o .:? "updatedRows") <*>+ (o .:? "updatedRange")+ <*> (o .:? "updatedData")+ <*> (o .:? "updatedColumns")+ <*> (o .:? "dataFilter"))++instance ToJSON UpdateValuesByDataFilterResponse+ where+ toJSON UpdateValuesByDataFilterResponse'{..}+ = object+ (catMaybes+ [("updatedCells" .=) <$> _uvbdfrUpdatedCells,+ ("updatedRows" .=) <$> _uvbdfrUpdatedRows,+ ("updatedRange" .=) <$> _uvbdfrUpdatedRange,+ ("updatedData" .=) <$> _uvbdfrUpdatedData,+ ("updatedColumns" .=) <$> _uvbdfrUpdatedColumns,+ ("dataFilter" .=) <$> _uvbdfrDataFilter])++-- | Properties of a grid.+--+-- /See:/ 'gridProperties' smart constructor.+data GridProperties = GridProperties'+ { _gpFrozenColumnCount :: !(Maybe (Textual Int32))+ , _gpColumnCount :: !(Maybe (Textual Int32))+ , _gpColumnGroupControlAfter :: !(Maybe Bool)+ , _gpHideGridlines :: !(Maybe Bool)+ , _gpFrozenRowCount :: !(Maybe (Textual Int32))+ , _gpRowGroupControlAfter :: !(Maybe Bool)+ , _gpRowCount :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GridProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpFrozenColumnCount'+--+-- * 'gpColumnCount'+--+-- * 'gpColumnGroupControlAfter'+--+-- * 'gpHideGridlines'+--+-- * 'gpFrozenRowCount'+--+-- * 'gpRowGroupControlAfter'+--+-- * 'gpRowCount'+gridProperties+ :: GridProperties+gridProperties =+ GridProperties'+ { _gpFrozenColumnCount = Nothing+ , _gpColumnCount = Nothing+ , _gpColumnGroupControlAfter = Nothing+ , _gpHideGridlines = Nothing+ , _gpFrozenRowCount = Nothing+ , _gpRowGroupControlAfter = Nothing+ , _gpRowCount = Nothing+ }++-- | The number of columns that are frozen in the grid.+gpFrozenColumnCount :: Lens' GridProperties (Maybe Int32)+gpFrozenColumnCount+ = lens _gpFrozenColumnCount+ (\ s a -> s{_gpFrozenColumnCount = a})+ . mapping _Coerce++-- | The number of columns in the grid.+gpColumnCount :: Lens' GridProperties (Maybe Int32)+gpColumnCount+ = lens _gpColumnCount+ (\ s a -> s{_gpColumnCount = a})+ . mapping _Coerce++-- | True if the column grouping control toggle is shown after the group.+gpColumnGroupControlAfter :: Lens' GridProperties (Maybe Bool)+gpColumnGroupControlAfter+ = lens _gpColumnGroupControlAfter+ (\ s a -> s{_gpColumnGroupControlAfter = a})++-- | True if the grid isn\'t showing gridlines in the UI.+gpHideGridlines :: Lens' GridProperties (Maybe Bool)+gpHideGridlines+ = lens _gpHideGridlines+ (\ s a -> s{_gpHideGridlines = a})++-- | The number of rows that are frozen in the grid.+gpFrozenRowCount :: Lens' GridProperties (Maybe Int32)+gpFrozenRowCount+ = lens _gpFrozenRowCount+ (\ s a -> s{_gpFrozenRowCount = a})+ . mapping _Coerce++-- | True if the row grouping control toggle is shown after the group.+gpRowGroupControlAfter :: Lens' GridProperties (Maybe Bool)+gpRowGroupControlAfter+ = lens _gpRowGroupControlAfter+ (\ s a -> s{_gpRowGroupControlAfter = a})++-- | The number of rows in the grid.+gpRowCount :: Lens' GridProperties (Maybe Int32)+gpRowCount+ = lens _gpRowCount (\ s a -> s{_gpRowCount = a}) .+ mapping _Coerce++instance FromJSON GridProperties where+ parseJSON+ = withObject "GridProperties"+ (\ o ->+ GridProperties' <$>+ (o .:? "frozenColumnCount") <*> (o .:? "columnCount")+ <*> (o .:? "columnGroupControlAfter")+ <*> (o .:? "hideGridlines")+ <*> (o .:? "frozenRowCount")+ <*> (o .:? "rowGroupControlAfter")+ <*> (o .:? "rowCount"))++instance ToJSON GridProperties where+ toJSON GridProperties'{..}+ = object+ (catMaybes+ [("frozenColumnCount" .=) <$> _gpFrozenColumnCount,+ ("columnCount" .=) <$> _gpColumnCount,+ ("columnGroupControlAfter" .=) <$>+ _gpColumnGroupControlAfter,+ ("hideGridlines" .=) <$> _gpHideGridlines,+ ("frozenRowCount" .=) <$> _gpFrozenRowCount,+ ("rowGroupControlAfter" .=) <$>+ _gpRowGroupControlAfter,+ ("rowCount" .=) <$> _gpRowCount])++-- | A </chart/interactive/docs/gallery/histogram histogram chart>. A+-- histogram chart groups data items into bins, displaying each bin as a+-- column of stacked items. Histograms are used to display the distribution+-- of a dataset. Each column of items represents a range into which those+-- items fall. The number of bins can be chosen automatically or specified+-- explicitly.+--+-- /See:/ 'histogramChartSpec' smart constructor.+data HistogramChartSpec = HistogramChartSpec'+ { _hcsLegendPosition :: !(Maybe HistogramChartSpecLegendPosition)+ , _hcsSeries :: !(Maybe [HistogramSeries])+ , _hcsShowItemDividers :: !(Maybe Bool)+ , _hcsOutlierPercentile :: !(Maybe (Textual Double))+ , _hcsBucketSize :: !(Maybe (Textual Double))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HistogramChartSpec' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hcsLegendPosition'+--+-- * 'hcsSeries'+--+-- * 'hcsShowItemDividers'+--+-- * 'hcsOutlierPercentile'+--+-- * 'hcsBucketSize'+histogramChartSpec+ :: HistogramChartSpec+histogramChartSpec =+ HistogramChartSpec'+ { _hcsLegendPosition = Nothing+ , _hcsSeries = Nothing+ , _hcsShowItemDividers = Nothing+ , _hcsOutlierPercentile = Nothing+ , _hcsBucketSize = Nothing+ }++-- | The position of the chart legend.+hcsLegendPosition :: Lens' HistogramChartSpec (Maybe HistogramChartSpecLegendPosition)+hcsLegendPosition+ = lens _hcsLegendPosition+ (\ s a -> s{_hcsLegendPosition = a})++-- | The series for a histogram may be either a single series of values to be+-- bucketed or multiple series, each of the same length, containing the+-- name of the series followed by the values to be bucketed for that+-- series.+hcsSeries :: Lens' HistogramChartSpec [HistogramSeries]+hcsSeries+ = lens _hcsSeries (\ s a -> s{_hcsSeries = a}) .+ _Default+ . _Coerce++-- | Whether horizontal divider lines should be displayed between items in+-- each column.+hcsShowItemDividers :: Lens' HistogramChartSpec (Maybe Bool)+hcsShowItemDividers+ = lens _hcsShowItemDividers+ (\ s a -> s{_hcsShowItemDividers = a})++-- | The outlier percentile is used to ensure that outliers do not adversely+-- affect the calculation of bucket sizes. For example, setting an outlier+-- percentile of 0.05 indicates that the top and bottom 5% of values when+-- calculating buckets. The values are still included in the chart, they+-- will be added to the first or last buckets instead of their own buckets.+-- Must be between 0.0 and 0.5.+hcsOutlierPercentile :: Lens' HistogramChartSpec (Maybe Double)+hcsOutlierPercentile+ = lens _hcsOutlierPercentile+ (\ s a -> s{_hcsOutlierPercentile = a})+ . mapping _Coerce++-- | By default the bucket size (the range of values stacked in a single+-- column) is chosen automatically, but it may be overridden here. E.g., A+-- bucket size of 1.5 results in buckets from 0 - 1.5, 1.5 - 3.0, etc.+-- Cannot be negative. This field is optional.+hcsBucketSize :: Lens' HistogramChartSpec (Maybe Double)+hcsBucketSize+ = lens _hcsBucketSize+ (\ s a -> s{_hcsBucketSize = a})+ . mapping _Coerce++instance FromJSON HistogramChartSpec where+ parseJSON+ = withObject "HistogramChartSpec"+ (\ o ->+ HistogramChartSpec' <$>+ (o .:? "legendPosition") <*>+ (o .:? "series" .!= mempty)+ <*> (o .:? "showItemDividers")+ <*> (o .:? "outlierPercentile")+ <*> (o .:? "bucketSize"))++instance ToJSON HistogramChartSpec where+ toJSON HistogramChartSpec'{..}+ = object+ (catMaybes+ [("legendPosition" .=) <$> _hcsLegendPosition,+ ("series" .=) <$> _hcsSeries,+ ("showItemDividers" .=) <$> _hcsShowItemDividers,+ ("outlierPercentile" .=) <$> _hcsOutlierPercentile,+ ("bucketSize" .=) <$> _hcsBucketSize])++-- | The criteria for showing\/hiding values per column. The map\'s key is+-- the column index, and the value is the criteria for that column.+--+-- /See:/ 'basicFilterCriteria' smart constructor.+newtype BasicFilterCriteria = BasicFilterCriteria'+ { _bfcAddtional :: HashMap Text FilterCriteria+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BasicFilterCriteria' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bfcAddtional'+basicFilterCriteria+ :: HashMap Text FilterCriteria -- ^ 'bfcAddtional'+ -> BasicFilterCriteria+basicFilterCriteria pBfcAddtional_ =+ BasicFilterCriteria'+ { _bfcAddtional = _Coerce # pBfcAddtional_+ }++bfcAddtional :: Lens' BasicFilterCriteria (HashMap Text FilterCriteria)+bfcAddtional+ = lens _bfcAddtional (\ s a -> s{_bfcAddtional = a})+ . _Coerce++instance FromJSON BasicFilterCriteria where+ parseJSON+ = withObject "BasicFilterCriteria"+ (\ o -> BasicFilterCriteria' <$> (parseJSONObject o))++instance ToJSON BasicFilterCriteria where+ toJSON = toJSON . _bfcAddtional++-- | Adds a new banded range to the spreadsheet.+--+-- /See:/ 'addBandingRequest' smart constructor.+newtype AddBandingRequest = AddBandingRequest'+ { _abrBandedRange :: Maybe BandedRange+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AddBandingRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'abrBandedRange'+addBandingRequest+ :: AddBandingRequest+addBandingRequest =+ AddBandingRequest'+ { _abrBandedRange = Nothing+ }++-- | The banded range to add. The bandedRangeId field is optional; if one is+-- not set, an id will be randomly generated. (It is an error to specify+-- the ID of a range that already exists.)+abrBandedRange :: Lens' AddBandingRequest (Maybe BandedRange)+abrBandedRange+ = lens _abrBandedRange+ (\ s a -> s{_abrBandedRange = a})++instance FromJSON AddBandingRequest where+ parseJSON+ = withObject "AddBandingRequest"+ (\ o -> AddBandingRequest' <$> (o .:? "bandedRange"))++instance ToJSON AddBandingRequest where+ toJSON AddBandingRequest'{..}+ = object+ (catMaybes [("bandedRange" .=) <$> _abrBandedRange])++-- | Updates properties of dimensions within the specified range.+--+-- /See:/ 'updateDimensionPropertiesRequest' smart constructor.+data UpdateDimensionPropertiesRequest = UpdateDimensionPropertiesRequest'+ { _udprRange :: !(Maybe DimensionRange)+ , _udprFields :: !(Maybe GFieldMask)+ , _udprProperties :: !(Maybe DimensionProperties)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateDimensionPropertiesRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'udprRange'+--+-- * 'udprFields'+--+-- * 'udprProperties'+updateDimensionPropertiesRequest+ :: UpdateDimensionPropertiesRequest+updateDimensionPropertiesRequest =+ UpdateDimensionPropertiesRequest'+ { _udprRange = Nothing+ , _udprFields = Nothing+ , _udprProperties = Nothing+ }++-- | The rows or columns to update.+udprRange :: Lens' UpdateDimensionPropertiesRequest (Maybe DimensionRange)+udprRange+ = lens _udprRange (\ s a -> s{_udprRange = a})++-- | The fields that should be updated. At least one field must be specified.+-- The root \`properties\` is implied and should not be specified. A single+-- \`\"*\"\` can be used as short-hand for listing every field.+udprFields :: Lens' UpdateDimensionPropertiesRequest (Maybe GFieldMask)+udprFields+ = lens _udprFields (\ s a -> s{_udprFields = a})++-- | Properties to update.+udprProperties :: Lens' UpdateDimensionPropertiesRequest (Maybe DimensionProperties)+udprProperties+ = lens _udprProperties+ (\ s a -> s{_udprProperties = a})++instance FromJSON UpdateDimensionPropertiesRequest+ where+ parseJSON+ = withObject "UpdateDimensionPropertiesRequest"+ (\ o ->+ UpdateDimensionPropertiesRequest' <$>+ (o .:? "range") <*> (o .:? "fields") <*>+ (o .:? "properties"))++instance ToJSON UpdateDimensionPropertiesRequest+ where+ toJSON UpdateDimensionPropertiesRequest'{..}+ = object+ (catMaybes+ [("range" .=) <$> _udprRange,+ ("fields" .=) <$> _udprFields,+ ("properties" .=) <$> _udprProperties])++-- | An optional mapping of filters per source column offset. The filters are+-- applied before aggregating data into the pivot table. The map\'s key is+-- the column offset of the source range that you want to filter, and the+-- value is the criteria for that column. For example, if the source was+-- \`C10:E15\`, a key of \`0\` will have the filter for column \`C\`,+-- whereas the key \`1\` is for column \`D\`.+--+-- /See:/ 'pivotTableCriteria' smart constructor.+newtype PivotTableCriteria = PivotTableCriteria'+ { _ptcAddtional :: HashMap Text PivotFilterCriteria+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PivotTableCriteria' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ptcAddtional'+pivotTableCriteria+ :: HashMap Text PivotFilterCriteria -- ^ 'ptcAddtional'+ -> PivotTableCriteria+pivotTableCriteria pPtcAddtional_ =+ PivotTableCriteria'+ { _ptcAddtional = _Coerce # pPtcAddtional_+ }++ptcAddtional :: Lens' PivotTableCriteria (HashMap Text PivotFilterCriteria)+ptcAddtional+ = lens _ptcAddtional (\ s a -> s{_ptcAddtional = a})+ . _Coerce++instance FromJSON PivotTableCriteria where+ parseJSON+ = withObject "PivotTableCriteria"+ (\ o -> PivotTableCriteria' <$> (parseJSONObject o))++instance ToJSON PivotTableCriteria where+ toJSON = toJSON . _ptcAddtional++-- | Fills in more data based on existing data.+--+-- /See:/ 'autoFillRequest' smart constructor.+data AutoFillRequest = AutoFillRequest'+ { _afrSourceAndDestination :: !(Maybe SourceAndDestination)+ , _afrUseAlternateSeries :: !(Maybe Bool)+ , _afrRange :: !(Maybe GridRange)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AutoFillRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'afrSourceAndDestination'+--+-- * 'afrUseAlternateSeries'+--+-- * 'afrRange'+autoFillRequest+ :: AutoFillRequest+autoFillRequest =+ AutoFillRequest'+ { _afrSourceAndDestination = Nothing+ , _afrUseAlternateSeries = Nothing+ , _afrRange = Nothing+ }++-- | The source and destination areas to autofill. This explicitly lists the+-- source of the autofill and where to extend that data.+afrSourceAndDestination :: Lens' AutoFillRequest (Maybe SourceAndDestination)+afrSourceAndDestination+ = lens _afrSourceAndDestination+ (\ s a -> s{_afrSourceAndDestination = a})++-- | True if we should generate data with the \"alternate\" series. This+-- differs based on the type and amount of source data.+afrUseAlternateSeries :: Lens' AutoFillRequest (Maybe Bool)+afrUseAlternateSeries+ = lens _afrUseAlternateSeries+ (\ s a -> s{_afrUseAlternateSeries = a})++-- | The range to autofill. This will examine the range and detect the+-- location that has data and automatically fill that data in to the rest+-- of the range.+afrRange :: Lens' AutoFillRequest (Maybe GridRange)+afrRange = lens _afrRange (\ s a -> s{_afrRange = a})++instance FromJSON AutoFillRequest where+ parseJSON+ = withObject "AutoFillRequest"+ (\ o ->+ AutoFillRequest' <$>+ (o .:? "sourceAndDestination") <*>+ (o .:? "useAlternateSeries")+ <*> (o .:? "range"))++instance ToJSON AutoFillRequest where+ toJSON AutoFillRequest'{..}+ = object+ (catMaybes+ [("sourceAndDestination" .=) <$>+ _afrSourceAndDestination,+ ("useAlternateSeries" .=) <$> _afrUseAlternateSeries,+ ("range" .=) <$> _afrRange])++-- | Selects DeveloperMetadata that matches all of the specified fields. For+-- example, if only a metadata ID is specified this considers the+-- DeveloperMetadata with that particular unique ID. If a metadata key is+-- specified, this considers all developer metadata with that key. If a+-- key, visibility, and location type are all specified, this considers all+-- developer metadata with that key and visibility that are associated with+-- a location of that type. In general, this selects all DeveloperMetadata+-- that matches the intersection of all the specified fields; any field or+-- combination of fields may be specified.+--+-- /See:/ 'developerMetadataLookup' smart constructor.+data DeveloperMetadataLookup = DeveloperMetadataLookup'+ { _dLocationMatchingStrategy :: !(Maybe DeveloperMetadataLookupLocationMatchingStrategy)+ , _dMetadataId :: !(Maybe (Textual Int32))+ , _dVisibility :: !(Maybe DeveloperMetadataLookupVisibility)+ , _dMetadataKey :: !(Maybe Text)+ , _dLocationType :: !(Maybe DeveloperMetadataLookupLocationType)+ , _dMetadataLocation :: !(Maybe DeveloperMetadataLocation)+ , _dMetadataValue :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeveloperMetadataLookup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dLocationMatchingStrategy'+--+-- * 'dMetadataId'+--+-- * 'dVisibility'+--+-- * 'dMetadataKey'+--+-- * 'dLocationType'+--+-- * 'dMetadataLocation'+--+-- * 'dMetadataValue'+developerMetadataLookup+ :: DeveloperMetadataLookup+developerMetadataLookup =+ DeveloperMetadataLookup'+ { _dLocationMatchingStrategy = Nothing+ , _dMetadataId = Nothing+ , _dVisibility = Nothing+ , _dMetadataKey = Nothing+ , _dLocationType = Nothing+ , _dMetadataLocation = Nothing+ , _dMetadataValue = Nothing+ }++-- | Determines how this lookup matches the location. If this field is+-- specified as EXACT, only developer metadata associated on the exact+-- location specified is matched. If this field is specified to+-- INTERSECTING, developer metadata associated on intersecting locations is+-- also matched. If left unspecified, this field assumes a default value of+-- INTERSECTING. If this field is specified, a metadataLocation must also+-- be specified.+dLocationMatchingStrategy :: Lens' DeveloperMetadataLookup (Maybe DeveloperMetadataLookupLocationMatchingStrategy)+dLocationMatchingStrategy+ = lens _dLocationMatchingStrategy+ (\ s a -> s{_dLocationMatchingStrategy = a})++-- | Limits the selected developer metadata to that which has a matching+-- DeveloperMetadata.metadata_id.+dMetadataId :: Lens' DeveloperMetadataLookup (Maybe Int32)+dMetadataId+ = lens _dMetadataId (\ s a -> s{_dMetadataId = a}) .+ mapping _Coerce++-- | Limits the selected developer metadata to that which has a matching+-- DeveloperMetadata.visibility. If left unspecified, all developer+-- metadata visibile to the requesting project is considered.+dVisibility :: Lens' DeveloperMetadataLookup (Maybe DeveloperMetadataLookupVisibility)+dVisibility+ = lens _dVisibility (\ s a -> s{_dVisibility = a})++-- | Limits the selected developer metadata to that which has a matching+-- DeveloperMetadata.metadata_key.+dMetadataKey :: Lens' DeveloperMetadataLookup (Maybe Text)+dMetadataKey+ = lens _dMetadataKey (\ s a -> s{_dMetadataKey = a})++-- | Limits the selected developer metadata to those entries which are+-- associated with locations of the specified type. For example, when this+-- field is specified as ROW this lookup only considers developer metadata+-- associated on rows. If the field is left unspecified, all location types+-- are considered. This field cannot be specified as SPREADSHEET when the+-- locationMatchingStrategy is specified as INTERSECTING or when the+-- metadataLocation is specified as a non-spreadsheet location: spreadsheet+-- metadata cannot intersect any other developer metadata location. This+-- field also must be left unspecified when the locationMatchingStrategy is+-- specified as EXACT.+dLocationType :: Lens' DeveloperMetadataLookup (Maybe DeveloperMetadataLookupLocationType)+dLocationType+ = lens _dLocationType+ (\ s a -> s{_dLocationType = a})++-- | Limits the selected developer metadata to those entries associated with+-- the specified location. This field either matches exact locations or all+-- intersecting locations according the specified locationMatchingStrategy.+dMetadataLocation :: Lens' DeveloperMetadataLookup (Maybe DeveloperMetadataLocation)+dMetadataLocation+ = lens _dMetadataLocation+ (\ s a -> s{_dMetadataLocation = a})++-- | Limits the selected developer metadata to that which has a matching+-- DeveloperMetadata.metadata_value.+dMetadataValue :: Lens' DeveloperMetadataLookup (Maybe Text)+dMetadataValue+ = lens _dMetadataValue+ (\ s a -> s{_dMetadataValue = a})++instance FromJSON DeveloperMetadataLookup where+ parseJSON+ = withObject "DeveloperMetadataLookup"+ (\ o ->+ DeveloperMetadataLookup' <$>+ (o .:? "locationMatchingStrategy") <*>+ (o .:? "metadataId")+ <*> (o .:? "visibility")+ <*> (o .:? "metadataKey")+ <*> (o .:? "locationType")+ <*> (o .:? "metadataLocation")+ <*> (o .:? "metadataValue"))++instance ToJSON DeveloperMetadataLookup where+ toJSON DeveloperMetadataLookup'{..}+ = object+ (catMaybes+ [("locationMatchingStrategy" .=) <$>+ _dLocationMatchingStrategy,+ ("metadataId" .=) <$> _dMetadataId,+ ("visibility" .=) <$> _dVisibility,+ ("metadataKey" .=) <$> _dMetadataKey,+ ("locationType" .=) <$> _dLocationType,+ ("metadataLocation" .=) <$> _dMetadataLocation,+ ("metadataValue" .=) <$> _dMetadataValue])++-- | Duplicates the contents of a sheet.+--+-- /See:/ 'duplicateSheetRequest' smart constructor.+data DuplicateSheetRequest = DuplicateSheetRequest'+ { _dsrNewSheetName :: !(Maybe Text)+ , _dsrInsertSheetIndex :: !(Maybe (Textual Int32))+ , _dsrSourceSheetId :: !(Maybe (Textual Int32))+ , _dsrNewSheetId :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DuplicateSheetRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsrNewSheetName'+--+-- * 'dsrInsertSheetIndex'+--+-- * 'dsrSourceSheetId'+--+-- * 'dsrNewSheetId'+duplicateSheetRequest+ :: DuplicateSheetRequest+duplicateSheetRequest =+ DuplicateSheetRequest'+ { _dsrNewSheetName = Nothing+ , _dsrInsertSheetIndex = Nothing+ , _dsrSourceSheetId = Nothing+ , _dsrNewSheetId = Nothing+ }++-- | The name of the new sheet. If empty, a new name is chosen for you.+dsrNewSheetName :: Lens' DuplicateSheetRequest (Maybe Text)+dsrNewSheetName+ = lens _dsrNewSheetName+ (\ s a -> s{_dsrNewSheetName = a})++-- | The zero-based index where the new sheet should be inserted. The index+-- of all sheets after this are incremented.+dsrInsertSheetIndex :: Lens' DuplicateSheetRequest (Maybe Int32)+dsrInsertSheetIndex+ = lens _dsrInsertSheetIndex+ (\ s a -> s{_dsrInsertSheetIndex = a})+ . mapping _Coerce++-- | The sheet to duplicate.+dsrSourceSheetId :: Lens' DuplicateSheetRequest (Maybe Int32)+dsrSourceSheetId+ = lens _dsrSourceSheetId+ (\ s a -> s{_dsrSourceSheetId = a})+ . mapping _Coerce++-- | If set, the ID of the new sheet. If not set, an ID is chosen. If set,+-- the ID must not conflict with any existing sheet ID. If set, it must be+-- non-negative.+dsrNewSheetId :: Lens' DuplicateSheetRequest (Maybe Int32)+dsrNewSheetId+ = lens _dsrNewSheetId+ (\ s a -> s{_dsrNewSheetId = a})+ . mapping _Coerce++instance FromJSON DuplicateSheetRequest where+ parseJSON+ = withObject "DuplicateSheetRequest"+ (\ o ->+ DuplicateSheetRequest' <$>+ (o .:? "newSheetName") <*> (o .:? "insertSheetIndex")+ <*> (o .:? "sourceSheetId")+ <*> (o .:? "newSheetId"))++instance ToJSON DuplicateSheetRequest where+ toJSON DuplicateSheetRequest'{..}+ = object+ (catMaybes+ [("newSheetName" .=) <$> _dsrNewSheetName,+ ("insertSheetIndex" .=) <$> _dsrInsertSheetIndex,+ ("sourceSheetId" .=) <$> _dsrSourceSheetId,+ ("newSheetId" .=) <$> _dsrNewSheetId])++-- | The rotation applied to text in a cell.+--+-- /See:/ 'textRotation' smart constructor.+data TextRotation = TextRotation'+ { _trAngle :: !(Maybe (Textual Int32))+ , _trVertical :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TextRotation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'trAngle'+--+-- * 'trVertical'+textRotation+ :: TextRotation+textRotation =+ TextRotation'+ { _trAngle = Nothing+ , _trVertical = Nothing+ }++-- | The angle between the standard orientation and the desired orientation.+-- Measured in degrees. Valid values are between -90 and 90. Positive+-- angles are angled upwards, negative are angled downwards. Note: For LTR+-- text direction positive angles are in the counterclockwise direction,+-- whereas for RTL they are in the clockwise direction+trAngle :: Lens' TextRotation (Maybe Int32)+trAngle+ = lens _trAngle (\ s a -> s{_trAngle = a}) .+ mapping _Coerce++-- | If true, text reads top to bottom, but the orientation of individual+-- characters is unchanged. For example: | V | | e | | r | | t | | i | | c+-- | | a | | l |+trVertical :: Lens' TextRotation (Maybe Bool)+trVertical+ = lens _trVertical (\ s a -> s{_trVertical = a})++instance FromJSON TextRotation where+ parseJSON+ = withObject "TextRotation"+ (\ o ->+ TextRotation' <$>+ (o .:? "angle") <*> (o .:? "vertical"))++instance ToJSON TextRotation where+ toJSON TextRotation'{..}+ = object+ (catMaybes+ [("angle" .=) <$> _trAngle,+ ("vertical" .=) <$> _trVertical])++-- | The result of a filter view being duplicated.+--+-- /See:/ 'duplicateFilterViewResponse' smart constructor.+newtype DuplicateFilterViewResponse = DuplicateFilterViewResponse'+ { _dfvrFilter :: Maybe FilterView+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DuplicateFilterViewResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dfvrFilter'+duplicateFilterViewResponse+ :: DuplicateFilterViewResponse+duplicateFilterViewResponse =+ DuplicateFilterViewResponse'+ { _dfvrFilter = Nothing+ }++-- | The newly created filter.+dfvrFilter :: Lens' DuplicateFilterViewResponse (Maybe FilterView)+dfvrFilter+ = lens _dfvrFilter (\ s a -> s{_dfvrFilter = a})++instance FromJSON DuplicateFilterViewResponse where+ parseJSON+ = withObject "DuplicateFilterViewResponse"+ (\ o ->+ DuplicateFilterViewResponse' <$> (o .:? "filter"))++instance ToJSON DuplicateFilterViewResponse where+ toJSON DuplicateFilterViewResponse'{..}+ = object (catMaybes [("filter" .=) <$> _dfvrFilter])++-- | The request for updating more than one range of values in a spreadsheet.+--+-- /See:/ 'batchUpdateValuesRequest' smart constructor.+data BatchUpdateValuesRequest = BatchUpdateValuesRequest'+ { _buvrData :: !(Maybe [ValueRange])+ , _buvrValueInputOption :: !(Maybe BatchUpdateValuesRequestValueInputOption)+ , _buvrIncludeValuesInResponse :: !(Maybe Bool)+ , _buvrResponseDateTimeRenderOption :: !(Maybe BatchUpdateValuesRequestResponseDateTimeRenderOption)+ , _buvrResponseValueRenderOption :: !(Maybe BatchUpdateValuesRequestResponseValueRenderOption)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BatchUpdateValuesRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'buvrData'+--+-- * 'buvrValueInputOption'+--+-- * 'buvrIncludeValuesInResponse'+--+-- * 'buvrResponseDateTimeRenderOption'+--+-- * 'buvrResponseValueRenderOption'+batchUpdateValuesRequest+ :: BatchUpdateValuesRequest+batchUpdateValuesRequest =+ BatchUpdateValuesRequest'+ { _buvrData = Nothing+ , _buvrValueInputOption = Nothing+ , _buvrIncludeValuesInResponse = Nothing+ , _buvrResponseDateTimeRenderOption = Nothing+ , _buvrResponseValueRenderOption = Nothing+ }++-- | The new values to apply to the spreadsheet.+buvrData :: Lens' BatchUpdateValuesRequest [ValueRange]+buvrData+ = lens _buvrData (\ s a -> s{_buvrData = a}) .+ _Default+ . _Coerce++-- | How the input data should be interpreted.+buvrValueInputOption :: Lens' BatchUpdateValuesRequest (Maybe BatchUpdateValuesRequestValueInputOption)+buvrValueInputOption+ = lens _buvrValueInputOption+ (\ s a -> s{_buvrValueInputOption = a})++-- | Determines if the update response should include the values of the cells+-- that were updated. By default, responses do not include the updated+-- values. The \`updatedData\` field within each of the+-- BatchUpdateValuesResponse.responses will contain the updated values. If+-- the range to write was larger than than the range actually written, the+-- response will include all values in the requested range (excluding+-- trailing empty rows and columns).+buvrIncludeValuesInResponse :: Lens' BatchUpdateValuesRequest (Maybe Bool)+buvrIncludeValuesInResponse+ = lens _buvrIncludeValuesInResponse+ (\ s a -> s{_buvrIncludeValuesInResponse = a})++-- | Determines how dates, times, and durations in the response should be+-- rendered. This is ignored if response_value_render_option is+-- FORMATTED_VALUE. The default dateTime render option is+-- DateTimeRenderOption.SERIAL_NUMBER.+buvrResponseDateTimeRenderOption :: Lens' BatchUpdateValuesRequest (Maybe BatchUpdateValuesRequestResponseDateTimeRenderOption)+buvrResponseDateTimeRenderOption+ = lens _buvrResponseDateTimeRenderOption+ (\ s a -> s{_buvrResponseDateTimeRenderOption = a})++-- | Determines how values in the response should be rendered. The default+-- render option is ValueRenderOption.FORMATTED_VALUE.+buvrResponseValueRenderOption :: Lens' BatchUpdateValuesRequest (Maybe BatchUpdateValuesRequestResponseValueRenderOption)+buvrResponseValueRenderOption+ = lens _buvrResponseValueRenderOption+ (\ s a -> s{_buvrResponseValueRenderOption = a})++instance FromJSON BatchUpdateValuesRequest where+ parseJSON+ = withObject "BatchUpdateValuesRequest"+ (\ o ->+ BatchUpdateValuesRequest' <$>+ (o .:? "data" .!= mempty) <*>+ (o .:? "valueInputOption")+ <*> (o .:? "includeValuesInResponse")+ <*> (o .:? "responseDateTimeRenderOption")+ <*> (o .:? "responseValueRenderOption"))++instance ToJSON BatchUpdateValuesRequest where+ toJSON BatchUpdateValuesRequest'{..}+ = object+ (catMaybes+ [("data" .=) <$> _buvrData,+ ("valueInputOption" .=) <$> _buvrValueInputOption,+ ("includeValuesInResponse" .=) <$>+ _buvrIncludeValuesInResponse,+ ("responseDateTimeRenderOption" .=) <$>+ _buvrResponseDateTimeRenderOption,+ ("responseValueRenderOption" .=) <$>+ _buvrResponseValueRenderOption])++-- | A range of values whose location is specified by a DataFilter.+--+-- /See:/ 'dataFilterValueRange' smart constructor.+data DataFilterValueRange = DataFilterValueRange'+ { _dfvrValues :: !(Maybe [[JSONValue]])+ , _dfvrDataFilter :: !(Maybe DataFilter)+ , _dfvrMajorDimension :: !(Maybe DataFilterValueRangeMajorDimension)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DataFilterValueRange' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dfvrValues'+--+-- * 'dfvrDataFilter'+--+-- * 'dfvrMajorDimension'+dataFilterValueRange+ :: DataFilterValueRange+dataFilterValueRange =+ DataFilterValueRange'+ { _dfvrValues = Nothing+ , _dfvrDataFilter = Nothing+ , _dfvrMajorDimension = Nothing+ }++-- | The data to be written. If the provided values exceed any of the ranges+-- matched by the data filter then the request will fail. If the provided+-- values are less than the matched ranges only the specified values will+-- be written, existing values in the matched ranges will remain+-- unaffected.+dfvrValues :: Lens' DataFilterValueRange [[JSONValue]]+dfvrValues+ = lens _dfvrValues (\ s a -> s{_dfvrValues = a}) .+ _Default+ . _Coerce++-- | The data filter describing the location of the values in the+-- spreadsheet.+dfvrDataFilter :: Lens' DataFilterValueRange (Maybe DataFilter)+dfvrDataFilter+ = lens _dfvrDataFilter+ (\ s a -> s{_dfvrDataFilter = a})++-- | The major dimension of the values.+dfvrMajorDimension :: Lens' DataFilterValueRange (Maybe DataFilterValueRangeMajorDimension)+dfvrMajorDimension+ = lens _dfvrMajorDimension+ (\ s a -> s{_dfvrMajorDimension = a})++instance FromJSON DataFilterValueRange where+ parseJSON+ = withObject "DataFilterValueRange"+ (\ o ->+ DataFilterValueRange' <$>+ (o .:? "values" .!= mempty) <*> (o .:? "dataFilter")+ <*> (o .:? "majorDimension"))++instance ToJSON DataFilterValueRange where+ toJSON DataFilterValueRange'{..}+ = object+ (catMaybes+ [("values" .=) <$> _dfvrValues,+ ("dataFilter" .=) <$> _dfvrDataFilter,+ ("majorDimension" .=) <$> _dfvrMajorDimension])++-- | Adds a chart to a sheet in the spreadsheet.+--+-- /See:/ 'addChartRequest' smart constructor.+newtype AddChartRequest = AddChartRequest'+ { _aChart :: Maybe EmbeddedChart+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AddChartRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aChart'+addChartRequest+ :: AddChartRequest+addChartRequest =+ AddChartRequest'+ { _aChart = Nothing+ }++-- | The chart that should be added to the spreadsheet, including the+-- position where it should be placed. The chartId field is optional; if+-- one is not set, an id will be randomly generated. (It is an error to+-- specify the ID of a chart that already exists.)+aChart :: Lens' AddChartRequest (Maybe EmbeddedChart)+aChart = lens _aChart (\ s a -> s{_aChart = a})++instance FromJSON AddChartRequest where+ parseJSON+ = withObject "AddChartRequest"+ (\ o -> AddChartRequest' <$> (o .:? "chart"))++instance ToJSON AddChartRequest where+ toJSON AddChartRequest'{..}+ = object (catMaybes [("chart" .=) <$> _aChart])++-- | A named range.+--+-- /See:/ 'namedRange' smart constructor.+data NamedRange = NamedRange'+ { _nrNamedRangeId :: !(Maybe Text)+ , _nrName :: !(Maybe Text)+ , _nrRange :: !(Maybe GridRange)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'NamedRange' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'nrNamedRangeId'+--+-- * 'nrName'+--+-- * 'nrRange'+namedRange+ :: NamedRange+namedRange =+ NamedRange'+ { _nrNamedRangeId = Nothing+ , _nrName = Nothing+ , _nrRange = Nothing+ }++-- | The ID of the named range.+nrNamedRangeId :: Lens' NamedRange (Maybe Text)+nrNamedRangeId+ = lens _nrNamedRangeId+ (\ s a -> s{_nrNamedRangeId = a})++-- | The name of the named range.+nrName :: Lens' NamedRange (Maybe Text)+nrName = lens _nrName (\ s a -> s{_nrName = a})++-- | The range this represents.+nrRange :: Lens' NamedRange (Maybe GridRange)+nrRange = lens _nrRange (\ s a -> s{_nrRange = a})++instance FromJSON NamedRange where+ parseJSON+ = withObject "NamedRange"+ (\ o ->+ NamedRange' <$>+ (o .:? "namedRangeId") <*> (o .:? "name") <*>+ (o .:? "range"))++instance ToJSON NamedRange where+ toJSON NamedRange'{..}+ = object+ (catMaybes+ [("namedRangeId" .=) <$> _nrNamedRangeId,+ ("name" .=) <$> _nrName, ("range" .=) <$> _nrRange])++-- | Merges all cells in the range.+--+-- /See:/ 'mergeCellsRequest' smart constructor.+data MergeCellsRequest = MergeCellsRequest'+ { _mcrMergeType :: !(Maybe MergeCellsRequestMergeType)+ , _mcrRange :: !(Maybe GridRange)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MergeCellsRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mcrMergeType'+--+-- * 'mcrRange'+mergeCellsRequest+ :: MergeCellsRequest+mergeCellsRequest =+ MergeCellsRequest'+ { _mcrMergeType = Nothing+ , _mcrRange = Nothing+ }++-- | How the cells should be merged.+mcrMergeType :: Lens' MergeCellsRequest (Maybe MergeCellsRequestMergeType)+mcrMergeType+ = lens _mcrMergeType (\ s a -> s{_mcrMergeType = a})++-- | The range of cells to merge.+mcrRange :: Lens' MergeCellsRequest (Maybe GridRange)+mcrRange = lens _mcrRange (\ s a -> s{_mcrRange = a})++instance FromJSON MergeCellsRequest where+ parseJSON+ = withObject "MergeCellsRequest"+ (\ o ->+ MergeCellsRequest' <$>+ (o .:? "mergeType") <*> (o .:? "range"))++instance ToJSON MergeCellsRequest where+ toJSON MergeCellsRequest'{..}+ = object+ (catMaybes+ [("mergeType" .=) <$> _mcrMergeType,+ ("range" .=) <$> _mcrRange])++-- | Allows you to manually organize the values in a source data column into+-- buckets with names of your choosing. For example, a pivot table that+-- aggregates population by state: +-------+-------------------+ | State |+-- SUM of Population | +-------+-------------------+ | AK | 0.7 | | AL |+-- 4.8 | | AR | 2.9 | ... +-------+-------------------+ could be turned+-- into a pivot table that aggregates population by time zone by providing+-- a list of groups (for example, groupName = \'Central\', items = [\'AL\',+-- \'AR\', \'IA\', ...]) to a manual group rule. Note that a similar effect+-- could be achieved by adding a time zone column to the source data and+-- adjusting the pivot table. +-----------+-------------------+ | Time Zone+-- | SUM of Population | +-----------+-------------------+ | Central |+-- 106.3 | | Eastern | 151.9 | | Mountain | 17.4 | ...+-- +-----------+-------------------++--+-- /See:/ 'manualRule' smart constructor.+newtype ManualRule = ManualRule'+ { _mrGroups :: Maybe [ManualRuleGroup]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManualRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mrGroups'+manualRule+ :: ManualRule+manualRule =+ ManualRule'+ { _mrGroups = Nothing+ }++-- | The list of group names and the corresponding items from the source data+-- that map to each group name.+mrGroups :: Lens' ManualRule [ManualRuleGroup]+mrGroups+ = lens _mrGroups (\ s a -> s{_mrGroups = a}) .+ _Default+ . _Coerce++instance FromJSON ManualRule where+ parseJSON+ = withObject "ManualRule"+ (\ o -> ManualRule' <$> (o .:? "groups" .!= mempty))++instance ToJSON ManualRule where+ toJSON ManualRule'{..}+ = object (catMaybes [("groups" .=) <$> _mrGroups])++-- | Position settings for text.+--+-- /See:/ 'textPosition' smart constructor.+newtype TextPosition = TextPosition'+ { _tpHorizontalAlignment :: Maybe TextPositionHorizontalAlignment+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TextPosition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpHorizontalAlignment'+textPosition+ :: TextPosition+textPosition =+ TextPosition'+ { _tpHorizontalAlignment = Nothing+ }++-- | Horizontal alignment setting for the piece of text.+tpHorizontalAlignment :: Lens' TextPosition (Maybe TextPositionHorizontalAlignment)+tpHorizontalAlignment+ = lens _tpHorizontalAlignment+ (\ s a -> s{_tpHorizontalAlignment = a})++instance FromJSON TextPosition where+ parseJSON+ = withObject "TextPosition"+ (\ o ->+ TextPosition' <$> (o .:? "horizontalAlignment"))++instance ToJSON TextPosition where+ toJSON TextPosition'{..}+ = object+ (catMaybes+ [("horizontalAlignment" .=) <$>+ _tpHorizontalAlignment])++-- | A border along a cell.+--+-- /See:/ 'bOrder' smart constructor.+data BOrder = BOrder'+ { _boStyle :: !(Maybe BOrderStyle)+ , _boColor :: !(Maybe Color)+ , _boWidth :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BOrder' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'boStyle'+--+-- * 'boColor'+--+-- * 'boWidth'+bOrder+ :: BOrder+bOrder =+ BOrder'+ { _boStyle = Nothing+ , _boColor = Nothing+ , _boWidth = Nothing+ }++-- | The style of the border.+boStyle :: Lens' BOrder (Maybe BOrderStyle)+boStyle = lens _boStyle (\ s a -> s{_boStyle = a})++-- | The color of the border.+boColor :: Lens' BOrder (Maybe Color)+boColor = lens _boColor (\ s a -> s{_boColor = a})++-- | The width of the border, in pixels. Deprecated; the width is determined+-- by the \"style\" field.+boWidth :: Lens' BOrder (Maybe Int32)+boWidth+ = lens _boWidth (\ s a -> s{_boWidth = a}) .+ mapping _Coerce++instance FromJSON BOrder where+ parseJSON+ = withObject "BOrder"+ (\ o ->+ BOrder' <$>+ (o .:? "style") <*> (o .:? "color") <*>+ (o .:? "width"))++instance ToJSON BOrder where+ toJSON BOrder'{..}+ = object+ (catMaybes+ [("style" .=) <$> _boStyle,+ ("color" .=) <$> _boColor,+ ("width" .=) <$> _boWidth])++-- | A request to retrieve all developer metadata matching the set of+-- specified criteria.+--+-- /See:/ 'searchDeveloperMetadataRequest' smart constructor.+newtype SearchDeveloperMetadataRequest = SearchDeveloperMetadataRequest'+ { _sdmrDataFilters :: Maybe [DataFilter]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SearchDeveloperMetadataRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdmrDataFilters'+searchDeveloperMetadataRequest+ :: SearchDeveloperMetadataRequest+searchDeveloperMetadataRequest =+ SearchDeveloperMetadataRequest'+ { _sdmrDataFilters = Nothing+ }++-- | The data filters describing the criteria used to determine which+-- DeveloperMetadata entries to return. DeveloperMetadata matching any of+-- the specified filters will be included in the response.+sdmrDataFilters :: Lens' SearchDeveloperMetadataRequest [DataFilter]+sdmrDataFilters+ = lens _sdmrDataFilters+ (\ s a -> s{_sdmrDataFilters = a})+ . _Default+ . _Coerce++instance FromJSON SearchDeveloperMetadataRequest+ where+ parseJSON+ = withObject "SearchDeveloperMetadataRequest"+ (\ o ->+ SearchDeveloperMetadataRequest' <$>+ (o .:? "dataFilters" .!= mempty))++instance ToJSON SearchDeveloperMetadataRequest where+ toJSON SearchDeveloperMetadataRequest'{..}+ = object+ (catMaybes [("dataFilters" .=) <$> _sdmrDataFilters])++-- | The series of a CandlestickData.+--+-- /See:/ 'candlestickSeries' smart constructor.+newtype CandlestickSeries = CandlestickSeries'+ { _csData :: Maybe ChartData+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CandlestickSeries' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csData'+candlestickSeries+ :: CandlestickSeries+candlestickSeries =+ CandlestickSeries'+ { _csData = Nothing+ }++-- | The data of the CandlestickSeries.+csData :: Lens' CandlestickSeries (Maybe ChartData)+csData = lens _csData (\ s a -> s{_csData = a})++instance FromJSON CandlestickSeries where+ parseJSON+ = withObject "CandlestickSeries"+ (\ o -> CandlestickSeries' <$> (o .:? "data"))++instance ToJSON CandlestickSeries where+ toJSON CandlestickSeries'{..}+ = object (catMaybes [("data" .=) <$> _csData])++-- | The kinds of value that a cell in a spreadsheet can have.+--+-- /See:/ 'extendedValue' smart constructor.+data ExtendedValue = ExtendedValue'+ { _evBoolValue :: !(Maybe Bool)+ , _evNumberValue :: !(Maybe (Textual Double))+ , _evErrorValue :: !(Maybe ErrorValue)+ , _evStringValue :: !(Maybe Text)+ , _evFormulaValue :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ExtendedValue' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'evBoolValue'+--+-- * 'evNumberValue'+--+-- * 'evErrorValue'+--+-- * 'evStringValue'+--+-- * 'evFormulaValue'+extendedValue+ :: ExtendedValue+extendedValue =+ ExtendedValue'+ { _evBoolValue = Nothing+ , _evNumberValue = Nothing+ , _evErrorValue = Nothing+ , _evStringValue = Nothing+ , _evFormulaValue = Nothing+ }++-- | Represents a boolean value.+evBoolValue :: Lens' ExtendedValue (Maybe Bool)+evBoolValue+ = lens _evBoolValue (\ s a -> s{_evBoolValue = a})++-- | Represents a double value. Note: Dates, Times and DateTimes are+-- represented as doubles in \"serial number\" format.+evNumberValue :: Lens' ExtendedValue (Maybe Double)+evNumberValue+ = lens _evNumberValue+ (\ s a -> s{_evNumberValue = a})+ . mapping _Coerce++-- | Represents an error. This field is read-only.+evErrorValue :: Lens' ExtendedValue (Maybe ErrorValue)+evErrorValue+ = lens _evErrorValue (\ s a -> s{_evErrorValue = a})++-- | Represents a string value. Leading single quotes are not included. For+-- example, if the user typed \`\'123\` into the UI, this would be+-- represented as a \`stringValue\` of \`\"123\"\`.+evStringValue :: Lens' ExtendedValue (Maybe Text)+evStringValue+ = lens _evStringValue+ (\ s a -> s{_evStringValue = a})++-- | Represents a formula.+evFormulaValue :: Lens' ExtendedValue (Maybe Text)+evFormulaValue+ = lens _evFormulaValue+ (\ s a -> s{_evFormulaValue = a})++instance FromJSON ExtendedValue where+ parseJSON+ = withObject "ExtendedValue"+ (\ o ->+ ExtendedValue' <$>+ (o .:? "boolValue") <*> (o .:? "numberValue") <*>+ (o .:? "errorValue")+ <*> (o .:? "stringValue")+ <*> (o .:? "formulaValue"))++instance ToJSON ExtendedValue where+ toJSON ExtendedValue'{..}+ = object+ (catMaybes+ [("boolValue" .=) <$> _evBoolValue,+ ("numberValue" .=) <$> _evNumberValue,+ ("errorValue" .=) <$> _evErrorValue,+ ("stringValue" .=) <$> _evStringValue,+ ("formulaValue" .=) <$> _evFormulaValue])++-- | Adds a named range to the spreadsheet.+--+-- /See:/ 'addNamedRangeRequest' smart constructor.+newtype AddNamedRangeRequest = AddNamedRangeRequest'+ { _aNamedRange :: Maybe NamedRange+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AddNamedRangeRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aNamedRange'+addNamedRangeRequest+ :: AddNamedRangeRequest+addNamedRangeRequest =+ AddNamedRangeRequest'+ { _aNamedRange = Nothing+ }++-- | The named range to add. The namedRangeId field is optional; if one is+-- not set, an id will be randomly generated. (It is an error to specify+-- the ID of a range that already exists.)+aNamedRange :: Lens' AddNamedRangeRequest (Maybe NamedRange)+aNamedRange+ = lens _aNamedRange (\ s a -> s{_aNamedRange = a})++instance FromJSON AddNamedRangeRequest where+ parseJSON+ = withObject "AddNamedRangeRequest"+ (\ o ->+ AddNamedRangeRequest' <$> (o .:? "namedRange"))++instance ToJSON AddNamedRangeRequest where+ toJSON AddNamedRangeRequest'{..}+ = object+ (catMaybes [("namedRange" .=) <$> _aNamedRange])++-- | Criteria for showing\/hiding rows in a pivot table.+--+-- /See:/ 'pivotFilterCriteria' smart constructor.+newtype PivotFilterCriteria = PivotFilterCriteria'+ { _pfcVisibleValues :: Maybe [Text]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PivotFilterCriteria' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pfcVisibleValues'+pivotFilterCriteria+ :: PivotFilterCriteria+pivotFilterCriteria =+ PivotFilterCriteria'+ { _pfcVisibleValues = Nothing+ }++-- | Values that should be included. Values not listed here are excluded.+pfcVisibleValues :: Lens' PivotFilterCriteria [Text]+pfcVisibleValues+ = lens _pfcVisibleValues+ (\ s a -> s{_pfcVisibleValues = a})+ . _Default+ . _Coerce++instance FromJSON PivotFilterCriteria where+ parseJSON+ = withObject "PivotFilterCriteria"+ (\ o ->+ PivotFilterCriteria' <$>+ (o .:? "visibleValues" .!= mempty))++instance ToJSON PivotFilterCriteria where+ toJSON PivotFilterCriteria'{..}+ = object+ (catMaybes+ [("visibleValues" .=) <$> _pfcVisibleValues])++-- | A range along a single dimension on a sheet. All indexes are zero-based.+-- Indexes are half open: the start index is inclusive and the end index is+-- exclusive. Missing indexes indicate the range is unbounded on that side.+--+-- /See:/ 'dimensionRange' smart constructor.+data DimensionRange = DimensionRange'+ { _drDimension :: !(Maybe DimensionRangeDimension)+ , _drEndIndex :: !(Maybe (Textual Int32))+ , _drSheetId :: !(Maybe (Textual Int32))+ , _drStartIndex :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DimensionRange' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drDimension'+--+-- * 'drEndIndex'+--+-- * 'drSheetId'+--+-- * 'drStartIndex'+dimensionRange+ :: DimensionRange+dimensionRange =+ DimensionRange'+ { _drDimension = Nothing+ , _drEndIndex = Nothing+ , _drSheetId = Nothing+ , _drStartIndex = Nothing+ }++-- | The dimension of the span.+drDimension :: Lens' DimensionRange (Maybe DimensionRangeDimension)+drDimension+ = lens _drDimension (\ s a -> s{_drDimension = a})++-- | The end (exclusive) of the span, or not set if unbounded.+drEndIndex :: Lens' DimensionRange (Maybe Int32)+drEndIndex+ = lens _drEndIndex (\ s a -> s{_drEndIndex = a}) .+ mapping _Coerce++-- | The sheet this span is on.+drSheetId :: Lens' DimensionRange (Maybe Int32)+drSheetId+ = lens _drSheetId (\ s a -> s{_drSheetId = a}) .+ mapping _Coerce++-- | The start (inclusive) of the span, or not set if unbounded.+drStartIndex :: Lens' DimensionRange (Maybe Int32)+drStartIndex+ = lens _drStartIndex (\ s a -> s{_drStartIndex = a})+ . mapping _Coerce++instance FromJSON DimensionRange where+ parseJSON+ = withObject "DimensionRange"+ (\ o ->+ DimensionRange' <$>+ (o .:? "dimension") <*> (o .:? "endIndex") <*>+ (o .:? "sheetId")+ <*> (o .:? "startIndex"))++instance ToJSON DimensionRange where+ toJSON DimensionRange'{..}+ = object+ (catMaybes+ [("dimension" .=) <$> _drDimension,+ ("endIndex" .=) <$> _drEndIndex,+ ("sheetId" .=) <$> _drSheetId,+ ("startIndex" .=) <$> _drStartIndex])++-- | Updates properties of a spreadsheet.+--+-- /See:/ 'updateSpreadsheetPropertiesRequest' smart constructor.+data UpdateSpreadsheetPropertiesRequest = UpdateSpreadsheetPropertiesRequest'+ { _uFields :: !(Maybe GFieldMask)+ , _uProperties :: !(Maybe SpreadsheetProperties)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateSpreadsheetPropertiesRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uFields'+--+-- * 'uProperties'+updateSpreadsheetPropertiesRequest+ :: UpdateSpreadsheetPropertiesRequest+updateSpreadsheetPropertiesRequest =+ UpdateSpreadsheetPropertiesRequest'+ { _uFields = Nothing+ , _uProperties = Nothing+ }++-- | The fields that should be updated. At least one field must be specified.+-- The root \'properties\' is implied and should not be specified. A single+-- \`\"*\"\` can be used as short-hand for listing every field.+uFields :: Lens' UpdateSpreadsheetPropertiesRequest (Maybe GFieldMask)+uFields = lens _uFields (\ s a -> s{_uFields = a})++-- | The properties to update.+uProperties :: Lens' UpdateSpreadsheetPropertiesRequest (Maybe SpreadsheetProperties)+uProperties+ = lens _uProperties (\ s a -> s{_uProperties = a})++instance FromJSON UpdateSpreadsheetPropertiesRequest+ where+ parseJSON+ = withObject "UpdateSpreadsheetPropertiesRequest"+ (\ o ->+ UpdateSpreadsheetPropertiesRequest' <$>+ (o .:? "fields") <*> (o .:? "properties"))++instance ToJSON UpdateSpreadsheetPropertiesRequest+ where+ toJSON UpdateSpreadsheetPropertiesRequest'{..}+ = object+ (catMaybes+ [("fields" .=) <$> _uFields,+ ("properties" .=) <$> _uProperties])++-- | The domain of a CandlestickChart.+--+-- /See:/ 'candlestickDomain' smart constructor.+data CandlestickDomain = CandlestickDomain'+ { _cdReversed :: !(Maybe Bool)+ , _cdData :: !(Maybe ChartData)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CandlestickDomain' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdReversed'+--+-- * 'cdData'+candlestickDomain+ :: CandlestickDomain+candlestickDomain =+ CandlestickDomain'+ { _cdReversed = Nothing+ , _cdData = Nothing+ }++-- | True to reverse the order of the domain values (horizontal axis).+cdReversed :: Lens' CandlestickDomain (Maybe Bool)+cdReversed+ = lens _cdReversed (\ s a -> s{_cdReversed = a})++-- | The data of the CandlestickDomain.+cdData :: Lens' CandlestickDomain (Maybe ChartData)+cdData = lens _cdData (\ s a -> s{_cdData = a})++instance FromJSON CandlestickDomain where+ parseJSON+ = withObject "CandlestickDomain"+ (\ o ->+ CandlestickDomain' <$>+ (o .:? "reversed") <*> (o .:? "data"))++instance ToJSON CandlestickDomain where+ toJSON CandlestickDomain'{..}+ = object+ (catMaybes+ [("reversed" .=) <$> _cdReversed,+ ("data" .=) <$> _cdData])++-- | The result of adding a new protected range.+--+-- /See:/ 'addProtectedRangeResponse' smart constructor.+newtype AddProtectedRangeResponse = AddProtectedRangeResponse'+ { _aProtectedRange :: Maybe ProtectedRange+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AddProtectedRangeResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aProtectedRange'+addProtectedRangeResponse+ :: AddProtectedRangeResponse+addProtectedRangeResponse =+ AddProtectedRangeResponse'+ { _aProtectedRange = Nothing+ }++-- | The newly added protected range.+aProtectedRange :: Lens' AddProtectedRangeResponse (Maybe ProtectedRange)+aProtectedRange+ = lens _aProtectedRange+ (\ s a -> s{_aProtectedRange = a})++instance FromJSON AddProtectedRangeResponse where+ parseJSON+ = withObject "AddProtectedRangeResponse"+ (\ o ->+ AddProtectedRangeResponse' <$>+ (o .:? "protectedRange"))++instance ToJSON AddProtectedRangeResponse where+ toJSON AddProtectedRangeResponse'{..}+ = object+ (catMaybes+ [("protectedRange" .=) <$> _aProtectedRange])++-- | Appends rows or columns to the end of a sheet.+--+-- /See:/ 'appendDimensionRequest' smart constructor.+data AppendDimensionRequest = AppendDimensionRequest'+ { _adrLength :: !(Maybe (Textual Int32))+ , _adrDimension :: !(Maybe AppendDimensionRequestDimension)+ , _adrSheetId :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AppendDimensionRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'adrLength'+--+-- * 'adrDimension'+--+-- * 'adrSheetId'+appendDimensionRequest+ :: AppendDimensionRequest+appendDimensionRequest =+ AppendDimensionRequest'+ { _adrLength = Nothing+ , _adrDimension = Nothing+ , _adrSheetId = Nothing+ }++-- | The number of rows or columns to append.+adrLength :: Lens' AppendDimensionRequest (Maybe Int32)+adrLength+ = lens _adrLength (\ s a -> s{_adrLength = a}) .+ mapping _Coerce++-- | Whether rows or columns should be appended.+adrDimension :: Lens' AppendDimensionRequest (Maybe AppendDimensionRequestDimension)+adrDimension+ = lens _adrDimension (\ s a -> s{_adrDimension = a})++-- | The sheet to append rows or columns to.+adrSheetId :: Lens' AppendDimensionRequest (Maybe Int32)+adrSheetId+ = lens _adrSheetId (\ s a -> s{_adrSheetId = a}) .+ mapping _Coerce++instance FromJSON AppendDimensionRequest where+ parseJSON+ = withObject "AppendDimensionRequest"+ (\ o ->+ AppendDimensionRequest' <$>+ (o .:? "length") <*> (o .:? "dimension") <*>+ (o .:? "sheetId"))++instance ToJSON AppendDimensionRequest where+ toJSON AppendDimensionRequest'{..}+ = object+ (catMaybes+ [("length" .=) <$> _adrLength,+ ("dimension" .=) <$> _adrDimension,+ ("sheetId" .=) <$> _adrSheetId])++-- | The definition of how a value in a pivot table should be calculated.+--+-- /See:/ 'pivotValue' smart constructor.+data PivotValue = PivotValue'+ { _pvSourceColumnOffSet :: !(Maybe (Textual Int32))+ , _pvFormula :: !(Maybe Text)+ , _pvName :: !(Maybe Text)+ , _pvCalculatedDisplayType :: !(Maybe PivotValueCalculatedDisplayType)+ , _pvSummarizeFunction :: !(Maybe PivotValueSummarizeFunction)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PivotValue' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pvSourceColumnOffSet'+--+-- * 'pvFormula'+--+-- * 'pvName'+--+-- * 'pvCalculatedDisplayType'+--+-- * 'pvSummarizeFunction'+pivotValue+ :: PivotValue+pivotValue =+ PivotValue'+ { _pvSourceColumnOffSet = Nothing+ , _pvFormula = Nothing+ , _pvName = Nothing+ , _pvCalculatedDisplayType = Nothing+ , _pvSummarizeFunction = Nothing+ }++-- | The column offset of the source range that this value reads from. For+-- example, if the source was \`C10:E15\`, a \`sourceColumnOffset\` of+-- \`0\` means this value refers to column \`C\`, whereas the offset \`1\`+-- would refer to column \`D\`.+pvSourceColumnOffSet :: Lens' PivotValue (Maybe Int32)+pvSourceColumnOffSet+ = lens _pvSourceColumnOffSet+ (\ s a -> s{_pvSourceColumnOffSet = a})+ . mapping _Coerce++-- | A custom formula to calculate the value. The formula must start with an+-- \`=\` character.+pvFormula :: Lens' PivotValue (Maybe Text)+pvFormula+ = lens _pvFormula (\ s a -> s{_pvFormula = a})++-- | A name to use for the value.+pvName :: Lens' PivotValue (Maybe Text)+pvName = lens _pvName (\ s a -> s{_pvName = a})++-- | If specified, indicates that pivot values should be displayed as the+-- result of a calculation with another pivot value. For example, if+-- calculated_display_type is specified as PERCENT_OF_GRAND_TOTAL, all the+-- pivot values are displayed as the percentage of the grand total. In the+-- Sheets UI, this is referred to as \"Show As\" in the value section of a+-- pivot table.+pvCalculatedDisplayType :: Lens' PivotValue (Maybe PivotValueCalculatedDisplayType)+pvCalculatedDisplayType+ = lens _pvCalculatedDisplayType+ (\ s a -> s{_pvCalculatedDisplayType = a})++-- | A function to summarize the value. If formula is set, the only supported+-- values are SUM and CUSTOM. If sourceColumnOffset is set, then \`CUSTOM\`+-- is not supported.+pvSummarizeFunction :: Lens' PivotValue (Maybe PivotValueSummarizeFunction)+pvSummarizeFunction+ = lens _pvSummarizeFunction+ (\ s a -> s{_pvSummarizeFunction = a})++instance FromJSON PivotValue where+ parseJSON+ = withObject "PivotValue"+ (\ o ->+ PivotValue' <$>+ (o .:? "sourceColumnOffset") <*> (o .:? "formula")+ <*> (o .:? "name")+ <*> (o .:? "calculatedDisplayType")+ <*> (o .:? "summarizeFunction"))++instance ToJSON PivotValue where+ toJSON PivotValue'{..}+ = object+ (catMaybes+ [("sourceColumnOffset" .=) <$> _pvSourceColumnOffSet,+ ("formula" .=) <$> _pvFormula,+ ("name" .=) <$> _pvName,+ ("calculatedDisplayType" .=) <$>+ _pvCalculatedDisplayType,+ ("summarizeFunction" .=) <$> _pvSummarizeFunction])++-- | Unmerges cells in the given range.+--+-- /See:/ 'unmergeCellsRequest' smart constructor.+newtype UnmergeCellsRequest = UnmergeCellsRequest'+ { _ucrRange :: Maybe GridRange+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UnmergeCellsRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ucrRange'+unmergeCellsRequest+ :: UnmergeCellsRequest+unmergeCellsRequest =+ UnmergeCellsRequest'+ { _ucrRange = Nothing+ }++-- | The range within which all cells should be unmerged. If the range spans+-- multiple merges, all will be unmerged. The range must not partially span+-- any merge.+ucrRange :: Lens' UnmergeCellsRequest (Maybe GridRange)+ucrRange = lens _ucrRange (\ s a -> s{_ucrRange = a})++instance FromJSON UnmergeCellsRequest where+ parseJSON+ = withObject "UnmergeCellsRequest"+ (\ o -> UnmergeCellsRequest' <$> (o .:? "range"))++instance ToJSON UnmergeCellsRequest where+ toJSON UnmergeCellsRequest'{..}+ = object (catMaybes [("range" .=) <$> _ucrRange])++-- | Deletes the requested sheet.+--+-- /See:/ 'deleteSheetRequest' smart constructor.+newtype DeleteSheetRequest = DeleteSheetRequest'+ { _dsrSheetId :: Maybe (Textual Int32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteSheetRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsrSheetId'+deleteSheetRequest+ :: DeleteSheetRequest+deleteSheetRequest =+ DeleteSheetRequest'+ { _dsrSheetId = Nothing+ }++-- | The ID of the sheet to delete.+dsrSheetId :: Lens' DeleteSheetRequest (Maybe Int32)+dsrSheetId+ = lens _dsrSheetId (\ s a -> s{_dsrSheetId = a}) .+ mapping _Coerce++instance FromJSON DeleteSheetRequest where+ parseJSON+ = withObject "DeleteSheetRequest"+ (\ o -> DeleteSheetRequest' <$> (o .:? "sheetId"))++instance ToJSON DeleteSheetRequest where+ toJSON DeleteSheetRequest'{..}+ = object (catMaybes [("sheetId" .=) <$> _dsrSheetId])++-- | Creates a group over the specified range. If the requested range is a+-- superset of the range of an existing group G, then the depth of G is+-- incremented and this new group G\' has the depth of that group. For+-- example, a group [C:D, depth 1] + [B:E] results in groups [B:E, depth 1]+-- and [C:D, depth 2]. If the requested range is a subset of the range of+-- an existing group G, then the depth of the new group G\' becomes one+-- greater than the depth of G. For example, a group [B:E, depth 1] + [C:D]+-- results in groups [B:E, depth 1] and [C:D, depth 2]. If the requested+-- range starts before and ends within, or starts within and ends after,+-- the range of an existing group G, then the range of the existing group G+-- becomes the union of the ranges, and the new group G\' has depth one+-- greater than the depth of G and range as the intersection of the ranges.+-- For example, a group [B:D, depth 1] + [C:E] results in groups [B:E,+-- depth 1] and [C:D, depth 2].+--+-- /See:/ 'addDimensionGroupRequest' smart constructor.+newtype AddDimensionGroupRequest = AddDimensionGroupRequest'+ { _adgrRange :: Maybe DimensionRange+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AddDimensionGroupRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'adgrRange'+addDimensionGroupRequest+ :: AddDimensionGroupRequest+addDimensionGroupRequest =+ AddDimensionGroupRequest'+ { _adgrRange = Nothing+ }++-- | The range over which to create a group.+adgrRange :: Lens' AddDimensionGroupRequest (Maybe DimensionRange)+adgrRange+ = lens _adgrRange (\ s a -> s{_adgrRange = a})++instance FromJSON AddDimensionGroupRequest where+ parseJSON+ = withObject "AddDimensionGroupRequest"+ (\ o ->+ AddDimensionGroupRequest' <$> (o .:? "range"))++instance ToJSON AddDimensionGroupRequest where+ toJSON AddDimensionGroupRequest'{..}+ = object (catMaybes [("range" .=) <$> _adgrRange])++-- | Styles for a waterfall chart column.+--+-- /See:/ 'waterfallChartColumnStyle' smart constructor.+data WaterfallChartColumnStyle = WaterfallChartColumnStyle'+ { _wColor :: !(Maybe Color)+ , _wLabel :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WaterfallChartColumnStyle' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wColor'+--+-- * 'wLabel'+waterfallChartColumnStyle+ :: WaterfallChartColumnStyle+waterfallChartColumnStyle =+ WaterfallChartColumnStyle'+ { _wColor = Nothing+ , _wLabel = Nothing+ }++-- | The color of the column.+wColor :: Lens' WaterfallChartColumnStyle (Maybe Color)+wColor = lens _wColor (\ s a -> s{_wColor = a})++-- | The label of the column\'s legend.+wLabel :: Lens' WaterfallChartColumnStyle (Maybe Text)+wLabel = lens _wLabel (\ s a -> s{_wLabel = a})++instance FromJSON WaterfallChartColumnStyle where+ parseJSON+ = withObject "WaterfallChartColumnStyle"+ (\ o ->+ WaterfallChartColumnStyle' <$>+ (o .:? "color") <*> (o .:? "label"))++instance ToJSON WaterfallChartColumnStyle where+ toJSON WaterfallChartColumnStyle'{..}+ = object+ (catMaybes+ [("color" .=) <$> _wColor, ("label" .=) <$> _wLabel])++-- | The Candlestick chart data, each containing the low, open, close, and+-- high values for a series.+--+-- /See:/ 'candlestickData' smart constructor.+data CandlestickData = CandlestickData'+ { _cdLowSeries :: !(Maybe CandlestickSeries)+ , _cdHighSeries :: !(Maybe CandlestickSeries)+ , _cdOpenSeries :: !(Maybe CandlestickSeries)+ , _cdCloseSeries :: !(Maybe CandlestickSeries)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CandlestickData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdLowSeries'+--+-- * 'cdHighSeries'+--+-- * 'cdOpenSeries'+--+-- * 'cdCloseSeries'+candlestickData+ :: CandlestickData+candlestickData =+ CandlestickData'+ { _cdLowSeries = Nothing+ , _cdHighSeries = Nothing+ , _cdOpenSeries = Nothing+ , _cdCloseSeries = Nothing+ }++-- | The range data (vertical axis) for the low\/minimum value for each+-- candle. This is the bottom of the candle\'s center line.+cdLowSeries :: Lens' CandlestickData (Maybe CandlestickSeries)+cdLowSeries+ = lens _cdLowSeries (\ s a -> s{_cdLowSeries = a})++-- | The range data (vertical axis) for the high\/maximum value for each+-- candle. This is the top of the candle\'s center line.+cdHighSeries :: Lens' CandlestickData (Maybe CandlestickSeries)+cdHighSeries+ = lens _cdHighSeries (\ s a -> s{_cdHighSeries = a})++-- | The range data (vertical axis) for the open\/initial value for each+-- candle. This is the bottom of the candle body. If less than the close+-- value the candle will be filled. Otherwise the candle will be hollow.+cdOpenSeries :: Lens' CandlestickData (Maybe CandlestickSeries)+cdOpenSeries+ = lens _cdOpenSeries (\ s a -> s{_cdOpenSeries = a})++-- | The range data (vertical axis) for the close\/final value for each+-- candle. This is the top of the candle body. If greater than the open+-- value the candle will be filled. Otherwise the candle will be hollow.+cdCloseSeries :: Lens' CandlestickData (Maybe CandlestickSeries)+cdCloseSeries+ = lens _cdCloseSeries+ (\ s a -> s{_cdCloseSeries = a})++instance FromJSON CandlestickData where+ parseJSON+ = withObject "CandlestickData"+ (\ o ->+ CandlestickData' <$>+ (o .:? "lowSeries") <*> (o .:? "highSeries") <*>+ (o .:? "openSeries")+ <*> (o .:? "closeSeries"))++instance ToJSON CandlestickData where+ toJSON CandlestickData'{..}+ = object+ (catMaybes+ [("lowSeries" .=) <$> _cdLowSeries,+ ("highSeries" .=) <$> _cdHighSeries,+ ("openSeries" .=) <$> _cdOpenSeries,+ ("closeSeries" .=) <$> _cdCloseSeries])++-- | A banded (alternating colors) range in a sheet.+--+-- /See:/ 'bandedRange' smart constructor.+data BandedRange = BandedRange'+ { _brBandedRangeId :: !(Maybe (Textual Int32))+ , _brRowProperties :: !(Maybe BandingProperties)+ , _brRange :: !(Maybe GridRange)+ , _brColumnProperties :: !(Maybe BandingProperties)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BandedRange' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'brBandedRangeId'+--+-- * 'brRowProperties'+--+-- * 'brRange'+--+-- * 'brColumnProperties'+bandedRange+ :: BandedRange+bandedRange =+ BandedRange'+ { _brBandedRangeId = Nothing+ , _brRowProperties = Nothing+ , _brRange = Nothing+ , _brColumnProperties = Nothing+ }++-- | The id of the banded range.+brBandedRangeId :: Lens' BandedRange (Maybe Int32)+brBandedRangeId+ = lens _brBandedRangeId+ (\ s a -> s{_brBandedRangeId = a})+ . mapping _Coerce++-- | Properties for row bands. These properties are applied on a row-by-row+-- basis throughout all the rows in the range. At least one of+-- row_properties or column_properties must be specified.+brRowProperties :: Lens' BandedRange (Maybe BandingProperties)+brRowProperties+ = lens _brRowProperties+ (\ s a -> s{_brRowProperties = a})++-- | The range over which these properties are applied.+brRange :: Lens' BandedRange (Maybe GridRange)+brRange = lens _brRange (\ s a -> s{_brRange = a})++-- | Properties for column bands. These properties are applied on a column-+-- by-column basis throughout all the columns in the range. At least one of+-- row_properties or column_properties must be specified.+brColumnProperties :: Lens' BandedRange (Maybe BandingProperties)+brColumnProperties+ = lens _brColumnProperties+ (\ s a -> s{_brColumnProperties = a})++instance FromJSON BandedRange where+ parseJSON+ = withObject "BandedRange"+ (\ o ->+ BandedRange' <$>+ (o .:? "bandedRangeId") <*> (o .:? "rowProperties")+ <*> (o .:? "range")+ <*> (o .:? "columnProperties"))++instance ToJSON BandedRange where+ toJSON BandedRange'{..}+ = object+ (catMaybes+ [("bandedRangeId" .=) <$> _brBandedRangeId,+ ("rowProperties" .=) <$> _brRowProperties,+ ("range" .=) <$> _brRange,+ ("columnProperties" .=) <$> _brColumnProperties])++-- | Updates the borders of a range. If a field is not set in the request,+-- that means the border remains as-is. For example, with two subsequent+-- UpdateBordersRequest: 1. range: A1:A5 \`{ top: RED, bottom: WHITE }\` 2.+-- range: A1:A5 \`{ left: BLUE }\` That would result in A1:A5 having a+-- borders of \`{ top: RED, bottom: WHITE, left: BLUE }\`. If you want to+-- clear a border, explicitly set the style to NONE.+--+-- /See:/ 'updateBOrdersRequest' smart constructor.+data UpdateBOrdersRequest = UpdateBOrdersRequest'+ { _uborBottom :: !(Maybe BOrder)+ , _uborInnerHorizontal :: !(Maybe BOrder)+ , _uborLeft :: !(Maybe BOrder)+ , _uborInnerVertical :: !(Maybe BOrder)+ , _uborRange :: !(Maybe GridRange)+ , _uborRight :: !(Maybe BOrder)+ , _uborTop :: !(Maybe BOrder)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateBOrdersRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uborBottom'+--+-- * 'uborInnerHorizontal'+--+-- * 'uborLeft'+--+-- * 'uborInnerVertical'+--+-- * 'uborRange'+--+-- * 'uborRight'+--+-- * 'uborTop'+updateBOrdersRequest+ :: UpdateBOrdersRequest+updateBOrdersRequest =+ UpdateBOrdersRequest'+ { _uborBottom = Nothing+ , _uborInnerHorizontal = Nothing+ , _uborLeft = Nothing+ , _uborInnerVertical = Nothing+ , _uborRange = Nothing+ , _uborRight = Nothing+ , _uborTop = Nothing+ }++-- | The border to put at the bottom of the range.+uborBottom :: Lens' UpdateBOrdersRequest (Maybe BOrder)+uborBottom+ = lens _uborBottom (\ s a -> s{_uborBottom = a})++-- | The horizontal border to put within the range.+uborInnerHorizontal :: Lens' UpdateBOrdersRequest (Maybe BOrder)+uborInnerHorizontal+ = lens _uborInnerHorizontal+ (\ s a -> s{_uborInnerHorizontal = a})++-- | The border to put at the left of the range.+uborLeft :: Lens' UpdateBOrdersRequest (Maybe BOrder)+uborLeft = lens _uborLeft (\ s a -> s{_uborLeft = a})++-- | The vertical border to put within the range.+uborInnerVertical :: Lens' UpdateBOrdersRequest (Maybe BOrder)+uborInnerVertical+ = lens _uborInnerVertical+ (\ s a -> s{_uborInnerVertical = a})++-- | The range whose borders should be updated.+uborRange :: Lens' UpdateBOrdersRequest (Maybe GridRange)+uborRange+ = lens _uborRange (\ s a -> s{_uborRange = a})++-- | The border to put at the right of the range.+uborRight :: Lens' UpdateBOrdersRequest (Maybe BOrder)+uborRight+ = lens _uborRight (\ s a -> s{_uborRight = a})++-- | The border to put at the top of the range.+uborTop :: Lens' UpdateBOrdersRequest (Maybe BOrder)+uborTop = lens _uborTop (\ s a -> s{_uborTop = a})++instance FromJSON UpdateBOrdersRequest where+ parseJSON+ = withObject "UpdateBOrdersRequest"+ (\ o ->+ UpdateBOrdersRequest' <$>+ (o .:? "bottom") <*> (o .:? "innerHorizontal") <*>+ (o .:? "left")+ <*> (o .:? "innerVertical")+ <*> (o .:? "range")+ <*> (o .:? "right")+ <*> (o .:? "top"))++instance ToJSON UpdateBOrdersRequest where+ toJSON UpdateBOrdersRequest'{..}+ = object+ (catMaybes+ [("bottom" .=) <$> _uborBottom,+ ("innerHorizontal" .=) <$> _uborInnerHorizontal,+ ("left" .=) <$> _uborLeft,+ ("innerVertical" .=) <$> _uborInnerVertical,+ ("range" .=) <$> _uborRange,+ ("right" .=) <$> _uborRight,+ ("top" .=) <$> _uborTop])++-- | The request for updating more than one range of values in a spreadsheet.+--+-- /See:/ 'batchUpdateValuesByDataFilterRequest' smart constructor.+data BatchUpdateValuesByDataFilterRequest = BatchUpdateValuesByDataFilterRequest'+ { _buvbdfrData :: !(Maybe [DataFilterValueRange])+ , _buvbdfrValueInputOption :: !(Maybe BatchUpdateValuesByDataFilterRequestValueInputOption)+ , _buvbdfrIncludeValuesInResponse :: !(Maybe Bool)+ , _buvbdfrResponseDateTimeRenderOption :: !(Maybe BatchUpdateValuesByDataFilterRequestResponseDateTimeRenderOption)+ , _buvbdfrResponseValueRenderOption :: !(Maybe BatchUpdateValuesByDataFilterRequestResponseValueRenderOption)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BatchUpdateValuesByDataFilterRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'buvbdfrData'+--+-- * 'buvbdfrValueInputOption'+--+-- * 'buvbdfrIncludeValuesInResponse'+--+-- * 'buvbdfrResponseDateTimeRenderOption'+--+-- * 'buvbdfrResponseValueRenderOption'+batchUpdateValuesByDataFilterRequest+ :: BatchUpdateValuesByDataFilterRequest+batchUpdateValuesByDataFilterRequest =+ BatchUpdateValuesByDataFilterRequest'+ { _buvbdfrData = Nothing+ , _buvbdfrValueInputOption = Nothing+ , _buvbdfrIncludeValuesInResponse = Nothing+ , _buvbdfrResponseDateTimeRenderOption = Nothing+ , _buvbdfrResponseValueRenderOption = Nothing+ }++-- | The new values to apply to the spreadsheet. If more than one range is+-- matched by the specified DataFilter the specified values will be applied+-- to all of those ranges.+buvbdfrData :: Lens' BatchUpdateValuesByDataFilterRequest [DataFilterValueRange]+buvbdfrData+ = lens _buvbdfrData (\ s a -> s{_buvbdfrData = a}) .+ _Default+ . _Coerce++-- | How the input data should be interpreted.+buvbdfrValueInputOption :: Lens' BatchUpdateValuesByDataFilterRequest (Maybe BatchUpdateValuesByDataFilterRequestValueInputOption)+buvbdfrValueInputOption+ = lens _buvbdfrValueInputOption+ (\ s a -> s{_buvbdfrValueInputOption = a})++-- | Determines if the update response should include the values of the cells+-- that were updated. By default, responses do not include the updated+-- values. The \`updatedData\` field within each of the+-- BatchUpdateValuesResponse.responses will contain the updated values. If+-- the range to write was larger than than the range actually written, the+-- response will include all values in the requested range (excluding+-- trailing empty rows and columns).+buvbdfrIncludeValuesInResponse :: Lens' BatchUpdateValuesByDataFilterRequest (Maybe Bool)+buvbdfrIncludeValuesInResponse+ = lens _buvbdfrIncludeValuesInResponse+ (\ s a -> s{_buvbdfrIncludeValuesInResponse = a})++-- | Determines how dates, times, and durations in the response should be+-- rendered. This is ignored if response_value_render_option is+-- FORMATTED_VALUE. The default dateTime render option is+-- DateTimeRenderOption.SERIAL_NUMBER.+buvbdfrResponseDateTimeRenderOption :: Lens' BatchUpdateValuesByDataFilterRequest (Maybe BatchUpdateValuesByDataFilterRequestResponseDateTimeRenderOption)+buvbdfrResponseDateTimeRenderOption+ = lens _buvbdfrResponseDateTimeRenderOption+ (\ s a ->+ s{_buvbdfrResponseDateTimeRenderOption = a})++-- | Determines how values in the response should be rendered. The default+-- render option is ValueRenderOption.FORMATTED_VALUE.+buvbdfrResponseValueRenderOption :: Lens' BatchUpdateValuesByDataFilterRequest (Maybe BatchUpdateValuesByDataFilterRequestResponseValueRenderOption)+buvbdfrResponseValueRenderOption+ = lens _buvbdfrResponseValueRenderOption+ (\ s a -> s{_buvbdfrResponseValueRenderOption = a})++instance FromJSON+ BatchUpdateValuesByDataFilterRequest where+ parseJSON+ = withObject "BatchUpdateValuesByDataFilterRequest"+ (\ o ->+ BatchUpdateValuesByDataFilterRequest' <$>+ (o .:? "data" .!= mempty) <*>+ (o .:? "valueInputOption")+ <*> (o .:? "includeValuesInResponse")+ <*> (o .:? "responseDateTimeRenderOption")+ <*> (o .:? "responseValueRenderOption"))++instance ToJSON BatchUpdateValuesByDataFilterRequest+ where+ toJSON BatchUpdateValuesByDataFilterRequest'{..}+ = object+ (catMaybes+ [("data" .=) <$> _buvbdfrData,+ ("valueInputOption" .=) <$> _buvbdfrValueInputOption,+ ("includeValuesInResponse" .=) <$>+ _buvbdfrIncludeValuesInResponse,+ ("responseDateTimeRenderOption" .=) <$>+ _buvbdfrResponseDateTimeRenderOption,+ ("responseValueRenderOption" .=) <$>+ _buvbdfrResponseValueRenderOption])++-- | A chart embedded in a sheet.+--+-- /See:/ 'embeddedChart' smart constructor.+data EmbeddedChart = EmbeddedChart'+ { _ecSpec :: !(Maybe ChartSpec)+ , _ecPosition :: !(Maybe EmbeddedObjectPosition)+ , _ecChartId :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EmbeddedChart' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ecSpec'+--+-- * 'ecPosition'+--+-- * 'ecChartId'+embeddedChart+ :: EmbeddedChart+embeddedChart =+ EmbeddedChart'+ { _ecSpec = Nothing+ , _ecPosition = Nothing+ , _ecChartId = Nothing+ }++-- | The specification of the chart.+ecSpec :: Lens' EmbeddedChart (Maybe ChartSpec)+ecSpec = lens _ecSpec (\ s a -> s{_ecSpec = a})++-- | The position of the chart.+ecPosition :: Lens' EmbeddedChart (Maybe EmbeddedObjectPosition)+ecPosition+ = lens _ecPosition (\ s a -> s{_ecPosition = a})++-- | The ID of the chart.+ecChartId :: Lens' EmbeddedChart (Maybe Int32)+ecChartId+ = lens _ecChartId (\ s a -> s{_ecChartId = a}) .+ mapping _Coerce++instance FromJSON EmbeddedChart where+ parseJSON+ = withObject "EmbeddedChart"+ (\ o ->+ EmbeddedChart' <$>+ (o .:? "spec") <*> (o .:? "position") <*>+ (o .:? "chartId"))++instance ToJSON EmbeddedChart where+ toJSON EmbeddedChart'{..}+ = object+ (catMaybes+ [("spec" .=) <$> _ecSpec,+ ("position" .=) <$> _ecPosition,+ ("chartId" .=) <$> _ecChartId])++-- | Data about each cell in a row.+--+-- /See:/ 'rowData' smart constructor.+newtype RowData = RowData'+ { _rdValues :: Maybe [CellData]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RowData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rdValues'+rowData+ :: RowData+rowData =+ RowData'+ { _rdValues = Nothing+ }++-- | The values in the row, one per column.+rdValues :: Lens' RowData [CellData]+rdValues+ = lens _rdValues (\ s a -> s{_rdValues = a}) .+ _Default+ . _Coerce++instance FromJSON RowData where+ parseJSON+ = withObject "RowData"+ (\ o -> RowData' <$> (o .:? "values" .!= mempty))++instance ToJSON RowData where+ toJSON RowData'{..}+ = object (catMaybes [("values" .=) <$> _rdValues])++-- | The editors of a protected range.+--+-- /See:/ 'editors' smart constructor.+data Editors = Editors'+ { _eGroups :: !(Maybe [Text])+ , _eUsers :: !(Maybe [Text])+ , _eDomainUsersCanEdit :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Editors' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eGroups'+--+-- * 'eUsers'+--+-- * 'eDomainUsersCanEdit'+editors+ :: Editors+editors =+ Editors'+ { _eGroups = Nothing+ , _eUsers = Nothing+ , _eDomainUsersCanEdit = Nothing+ }++-- | The email addresses of groups with edit access to the protected range.+eGroups :: Lens' Editors [Text]+eGroups+ = lens _eGroups (\ s a -> s{_eGroups = a}) . _Default+ . _Coerce++-- | The email addresses of users with edit access to the protected range.+eUsers :: Lens' Editors [Text]+eUsers+ = lens _eUsers (\ s a -> s{_eUsers = a}) . _Default .+ _Coerce++-- | True if anyone in the document\'s domain has edit access to the+-- protected range. Domain protection is only supported on documents within+-- a domain.+eDomainUsersCanEdit :: Lens' Editors (Maybe Bool)+eDomainUsersCanEdit+ = lens _eDomainUsersCanEdit+ (\ s a -> s{_eDomainUsersCanEdit = a})++instance FromJSON Editors where+ parseJSON+ = withObject "Editors"+ (\ o ->+ Editors' <$>+ (o .:? "groups" .!= mempty) <*>+ (o .:? "users" .!= mempty)+ <*> (o .:? "domainUsersCanEdit"))++instance ToJSON Editors where+ toJSON Editors'{..}+ = object+ (catMaybes+ [("groups" .=) <$> _eGroups,+ ("users" .=) <$> _eUsers,+ ("domainUsersCanEdit" .=) <$> _eDomainUsersCanEdit])++-- | A pivot table.+--+-- /See:/ 'pivotTable' smart constructor.+data PivotTable = PivotTable'+ { _ptValues :: !(Maybe [PivotValue])+ , _ptValueLayout :: !(Maybe PivotTableValueLayout)+ , _ptRows :: !(Maybe [PivotGroup])+ , _ptSource :: !(Maybe GridRange)+ , _ptColumns :: !(Maybe [PivotGroup])+ , _ptCriteria :: !(Maybe PivotTableCriteria)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PivotTable' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ptValues'+--+-- * 'ptValueLayout'+--+-- * 'ptRows'+--+-- * 'ptSource'+--+-- * 'ptColumns'+--+-- * 'ptCriteria'+pivotTable+ :: PivotTable+pivotTable =+ PivotTable'+ { _ptValues = Nothing+ , _ptValueLayout = Nothing+ , _ptRows = Nothing+ , _ptSource = Nothing+ , _ptColumns = Nothing+ , _ptCriteria = Nothing+ }++-- | A list of values to include in the pivot table.+ptValues :: Lens' PivotTable [PivotValue]+ptValues+ = lens _ptValues (\ s a -> s{_ptValues = a}) .+ _Default+ . _Coerce++-- | Whether values should be listed horizontally (as columns) or vertically+-- (as rows).+ptValueLayout :: Lens' PivotTable (Maybe PivotTableValueLayout)+ptValueLayout+ = lens _ptValueLayout+ (\ s a -> s{_ptValueLayout = a})++-- | Each row grouping in the pivot table.+ptRows :: Lens' PivotTable [PivotGroup]+ptRows+ = lens _ptRows (\ s a -> s{_ptRows = a}) . _Default .+ _Coerce++-- | The range the pivot table is reading data from.+ptSource :: Lens' PivotTable (Maybe GridRange)+ptSource = lens _ptSource (\ s a -> s{_ptSource = a})++-- | Each column grouping in the pivot table.+ptColumns :: Lens' PivotTable [PivotGroup]+ptColumns+ = lens _ptColumns (\ s a -> s{_ptColumns = a}) .+ _Default+ . _Coerce++-- | An optional mapping of filters per source column offset. The filters are+-- applied before aggregating data into the pivot table. The map\'s key is+-- the column offset of the source range that you want to filter, and the+-- value is the criteria for that column. For example, if the source was+-- \`C10:E15\`, a key of \`0\` will have the filter for column \`C\`,+-- whereas the key \`1\` is for column \`D\`.+ptCriteria :: Lens' PivotTable (Maybe PivotTableCriteria)+ptCriteria+ = lens _ptCriteria (\ s a -> s{_ptCriteria = a})++instance FromJSON PivotTable where+ parseJSON+ = withObject "PivotTable"+ (\ o ->+ PivotTable' <$>+ (o .:? "values" .!= mempty) <*> (o .:? "valueLayout")+ <*> (o .:? "rows" .!= mempty)+ <*> (o .:? "source")+ <*> (o .:? "columns" .!= mempty)+ <*> (o .:? "criteria"))++instance ToJSON PivotTable where+ toJSON PivotTable'{..}+ = object+ (catMaybes+ [("values" .=) <$> _ptValues,+ ("valueLayout" .=) <$> _ptValueLayout,+ ("rows" .=) <$> _ptRows, ("source" .=) <$> _ptSource,+ ("columns" .=) <$> _ptColumns,+ ("criteria" .=) <$> _ptCriteria])++-- | The position of an embedded object such as a chart.+--+-- /See:/ 'embeddedObjectPosition' smart constructor.+data EmbeddedObjectPosition = EmbeddedObjectPosition'+ { _eopOverlayPosition :: !(Maybe OverlayPosition)+ , _eopSheetId :: !(Maybe (Textual Int32))+ , _eopNewSheet :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'EmbeddedObjectPosition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eopOverlayPosition'+--+-- * 'eopSheetId'+--+-- * 'eopNewSheet'+embeddedObjectPosition+ :: EmbeddedObjectPosition+embeddedObjectPosition =+ EmbeddedObjectPosition'+ { _eopOverlayPosition = Nothing+ , _eopSheetId = Nothing+ , _eopNewSheet = Nothing+ }++-- | The position at which the object is overlaid on top of a grid.+eopOverlayPosition :: Lens' EmbeddedObjectPosition (Maybe OverlayPosition)+eopOverlayPosition+ = lens _eopOverlayPosition+ (\ s a -> s{_eopOverlayPosition = a})++-- | The sheet this is on. Set only if the embedded object is on its own+-- sheet. Must be non-negative.+eopSheetId :: Lens' EmbeddedObjectPosition (Maybe Int32)+eopSheetId+ = lens _eopSheetId (\ s a -> s{_eopSheetId = a}) .+ mapping _Coerce++-- | If true, the embedded object is put on a new sheet whose ID is chosen+-- for you. Used only when writing.+eopNewSheet :: Lens' EmbeddedObjectPosition (Maybe Bool)+eopNewSheet+ = lens _eopNewSheet (\ s a -> s{_eopNewSheet = a})++instance FromJSON EmbeddedObjectPosition where+ parseJSON+ = withObject "EmbeddedObjectPosition"+ (\ o ->+ EmbeddedObjectPosition' <$>+ (o .:? "overlayPosition") <*> (o .:? "sheetId") <*>+ (o .:? "newSheet"))++instance ToJSON EmbeddedObjectPosition where+ toJSON EmbeddedObjectPosition'{..}+ = object+ (catMaybes+ [("overlayPosition" .=) <$> _eopOverlayPosition,+ ("sheetId" .=) <$> _eopSheetId,+ ("newSheet" .=) <$> _eopNewSheet])++-- | The default filter associated with a sheet.+--+-- /See:/ 'basicFilter' smart constructor.+data BasicFilter = BasicFilter'+ { _bfSortSpecs :: !(Maybe [SortSpec])+ , _bfRange :: !(Maybe GridRange)+ , _bfCriteria :: !(Maybe BasicFilterCriteria)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BasicFilter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bfSortSpecs'+--+-- * 'bfRange'+--+-- * 'bfCriteria'+basicFilter+ :: BasicFilter+basicFilter =+ BasicFilter'+ { _bfSortSpecs = Nothing+ , _bfRange = Nothing+ , _bfCriteria = Nothing+ }++-- | The sort order per column. Later specifications are used when values are+-- equal in the earlier specifications.+bfSortSpecs :: Lens' BasicFilter [SortSpec]+bfSortSpecs+ = lens _bfSortSpecs (\ s a -> s{_bfSortSpecs = a}) .+ _Default+ . _Coerce++-- | The range the filter covers.+bfRange :: Lens' BasicFilter (Maybe GridRange)+bfRange = lens _bfRange (\ s a -> s{_bfRange = a})++-- | The criteria for showing\/hiding values per column. The map\'s key is+-- the column index, and the value is the criteria for that column.+bfCriteria :: Lens' BasicFilter (Maybe BasicFilterCriteria)+bfCriteria+ = lens _bfCriteria (\ s a -> s{_bfCriteria = a})++instance FromJSON BasicFilter where+ parseJSON+ = withObject "BasicFilter"+ (\ o ->+ BasicFilter' <$>+ (o .:? "sortSpecs" .!= mempty) <*> (o .:? "range")+ <*> (o .:? "criteria"))++instance ToJSON BasicFilter where+ toJSON BasicFilter'{..}+ = object+ (catMaybes+ [("sortSpecs" .=) <$> _bfSortSpecs,+ ("range" .=) <$> _bfRange,+ ("criteria" .=) <$> _bfCriteria])++-- | Splits a column of text into multiple columns, based on a delimiter in+-- each cell.+--+-- /See:/ 'textToColumnsRequest' smart constructor.+data TextToColumnsRequest = TextToColumnsRequest'+ { _ttcrDelimiterType :: !(Maybe TextToColumnsRequestDelimiterType)+ , _ttcrSource :: !(Maybe GridRange)+ , _ttcrDelimiter :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TextToColumnsRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ttcrDelimiterType'+--+-- * 'ttcrSource'+--+-- * 'ttcrDelimiter'+textToColumnsRequest+ :: TextToColumnsRequest+textToColumnsRequest =+ TextToColumnsRequest'+ { _ttcrDelimiterType = Nothing+ , _ttcrSource = Nothing+ , _ttcrDelimiter = Nothing+ }++-- | The delimiter type to use.+ttcrDelimiterType :: Lens' TextToColumnsRequest (Maybe TextToColumnsRequestDelimiterType)+ttcrDelimiterType+ = lens _ttcrDelimiterType+ (\ s a -> s{_ttcrDelimiterType = a})++-- | The source data range. This must span exactly one column.+ttcrSource :: Lens' TextToColumnsRequest (Maybe GridRange)+ttcrSource+ = lens _ttcrSource (\ s a -> s{_ttcrSource = a})++-- | The delimiter to use. Used only if delimiterType is CUSTOM.+ttcrDelimiter :: Lens' TextToColumnsRequest (Maybe Text)+ttcrDelimiter+ = lens _ttcrDelimiter+ (\ s a -> s{_ttcrDelimiter = a})++instance FromJSON TextToColumnsRequest where+ parseJSON+ = withObject "TextToColumnsRequest"+ (\ o ->+ TextToColumnsRequest' <$>+ (o .:? "delimiterType") <*> (o .:? "source") <*>+ (o .:? "delimiter"))++instance ToJSON TextToColumnsRequest where+ toJSON TextToColumnsRequest'{..}+ = object+ (catMaybes+ [("delimiterType" .=) <$> _ttcrDelimiterType,+ ("source" .=) <$> _ttcrSource,+ ("delimiter" .=) <$> _ttcrDelimiter])++-- | The request for retrieving a Spreadsheet.+--+-- /See:/ 'getSpreadsheetByDataFilterRequest' smart constructor.+data GetSpreadsheetByDataFilterRequest = GetSpreadsheetByDataFilterRequest'+ { _gsbdfrDataFilters :: !(Maybe [DataFilter])+ , _gsbdfrIncludeGridData :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetSpreadsheetByDataFilterRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gsbdfrDataFilters'+--+-- * 'gsbdfrIncludeGridData'+getSpreadsheetByDataFilterRequest+ :: GetSpreadsheetByDataFilterRequest+getSpreadsheetByDataFilterRequest =+ GetSpreadsheetByDataFilterRequest'+ { _gsbdfrDataFilters = Nothing+ , _gsbdfrIncludeGridData = Nothing+ }++-- | The DataFilters used to select which ranges to retrieve from the+-- spreadsheet.+gsbdfrDataFilters :: Lens' GetSpreadsheetByDataFilterRequest [DataFilter]+gsbdfrDataFilters+ = lens _gsbdfrDataFilters+ (\ s a -> s{_gsbdfrDataFilters = a})+ . _Default+ . _Coerce++-- | True if grid data should be returned. This parameter is ignored if a+-- field mask was set in the request.+gsbdfrIncludeGridData :: Lens' GetSpreadsheetByDataFilterRequest (Maybe Bool)+gsbdfrIncludeGridData+ = lens _gsbdfrIncludeGridData+ (\ s a -> s{_gsbdfrIncludeGridData = a})++instance FromJSON GetSpreadsheetByDataFilterRequest+ where+ parseJSON+ = withObject "GetSpreadsheetByDataFilterRequest"+ (\ o ->+ GetSpreadsheetByDataFilterRequest' <$>+ (o .:? "dataFilters" .!= mempty) <*>+ (o .:? "includeGridData"))++instance ToJSON GetSpreadsheetByDataFilterRequest+ where+ toJSON GetSpreadsheetByDataFilterRequest'{..}+ = object+ (catMaybes+ [("dataFilters" .=) <$> _gsbdfrDataFilters,+ ("includeGridData" .=) <$> _gsbdfrIncludeGridData])++-- | The request for updating any aspect of a spreadsheet.+--+-- /See:/ 'batchUpdateSpreadsheetRequest' smart constructor.+data BatchUpdateSpreadsheetRequest = BatchUpdateSpreadsheetRequest'+ { _busrResponseIncludeGridData :: !(Maybe Bool)+ , _busrResponseRanges :: !(Maybe [Text])+ , _busrRequests :: !(Maybe [Request'])+ , _busrIncludeSpreadsheetInResponse :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BatchUpdateSpreadsheetRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'busrResponseIncludeGridData'+--+-- * 'busrResponseRanges'+--+-- * 'busrRequests'+--+-- * 'busrIncludeSpreadsheetInResponse'+batchUpdateSpreadsheetRequest+ :: BatchUpdateSpreadsheetRequest+batchUpdateSpreadsheetRequest =+ BatchUpdateSpreadsheetRequest'+ { _busrResponseIncludeGridData = Nothing+ , _busrResponseRanges = Nothing+ , _busrRequests = Nothing+ , _busrIncludeSpreadsheetInResponse = Nothing+ }++-- | True if grid data should be returned. Meaningful only if if+-- include_spreadsheet_in_response is \'true\'. This parameter is ignored+-- if a field mask was set in the request.+busrResponseIncludeGridData :: Lens' BatchUpdateSpreadsheetRequest (Maybe Bool)+busrResponseIncludeGridData+ = lens _busrResponseIncludeGridData+ (\ s a -> s{_busrResponseIncludeGridData = a})++-- | Limits the ranges included in the response spreadsheet. Meaningful only+-- if include_spreadsheet_response is \'true\'.+busrResponseRanges :: Lens' BatchUpdateSpreadsheetRequest [Text]+busrResponseRanges+ = lens _busrResponseRanges+ (\ s a -> s{_busrResponseRanges = a})+ . _Default+ . _Coerce++-- | A list of updates to apply to the spreadsheet. Requests will be applied+-- in the order they are specified. If any request is not valid, no+-- requests will be applied.+busrRequests :: Lens' BatchUpdateSpreadsheetRequest [Request']+busrRequests+ = lens _busrRequests (\ s a -> s{_busrRequests = a})+ . _Default+ . _Coerce++-- | Determines if the update response should include the spreadsheet+-- resource.+busrIncludeSpreadsheetInResponse :: Lens' BatchUpdateSpreadsheetRequest (Maybe Bool)+busrIncludeSpreadsheetInResponse+ = lens _busrIncludeSpreadsheetInResponse+ (\ s a -> s{_busrIncludeSpreadsheetInResponse = a})++instance FromJSON BatchUpdateSpreadsheetRequest where+ parseJSON+ = withObject "BatchUpdateSpreadsheetRequest"+ (\ o ->+ BatchUpdateSpreadsheetRequest' <$>+ (o .:? "responseIncludeGridData") <*>+ (o .:? "responseRanges" .!= mempty)+ <*> (o .:? "requests" .!= mempty)+ <*> (o .:? "includeSpreadsheetInResponse"))++instance ToJSON BatchUpdateSpreadsheetRequest where+ toJSON BatchUpdateSpreadsheetRequest'{..}+ = object+ (catMaybes+ [("responseIncludeGridData" .=) <$>+ _busrResponseIncludeGridData,+ ("responseRanges" .=) <$> _busrResponseRanges,+ ("requests" .=) <$> _busrRequests,+ ("includeSpreadsheetInResponse" .=) <$>+ _busrIncludeSpreadsheetInResponse])++-- | The response when updating a range of values in a spreadsheet.+--+-- /See:/ 'updateValuesResponse' smart constructor.+data UpdateValuesResponse = UpdateValuesResponse'+ { _uvrUpdatedCells :: !(Maybe (Textual Int32))+ , _uvrSpreadsheetId :: !(Maybe Text)+ , _uvrUpdatedRows :: !(Maybe (Textual Int32))+ , _uvrUpdatedRange :: !(Maybe Text)+ , _uvrUpdatedData :: !(Maybe ValueRange)+ , _uvrUpdatedColumns :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateValuesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uvrUpdatedCells'+--+-- * 'uvrSpreadsheetId'+--+-- * 'uvrUpdatedRows'+--+-- * 'uvrUpdatedRange'+--+-- * 'uvrUpdatedData'+--+-- * 'uvrUpdatedColumns'+updateValuesResponse+ :: UpdateValuesResponse+updateValuesResponse =+ UpdateValuesResponse'+ { _uvrUpdatedCells = Nothing+ , _uvrSpreadsheetId = Nothing+ , _uvrUpdatedRows = Nothing+ , _uvrUpdatedRange = Nothing+ , _uvrUpdatedData = Nothing+ , _uvrUpdatedColumns = Nothing+ }++-- | The number of cells updated.+uvrUpdatedCells :: Lens' UpdateValuesResponse (Maybe Int32)+uvrUpdatedCells+ = lens _uvrUpdatedCells+ (\ s a -> s{_uvrUpdatedCells = a})+ . mapping _Coerce++-- | The spreadsheet the updates were applied to.+uvrSpreadsheetId :: Lens' UpdateValuesResponse (Maybe Text)+uvrSpreadsheetId+ = lens _uvrSpreadsheetId+ (\ s a -> s{_uvrSpreadsheetId = a})++-- | The number of rows where at least one cell in the row was updated.+uvrUpdatedRows :: Lens' UpdateValuesResponse (Maybe Int32)+uvrUpdatedRows+ = lens _uvrUpdatedRows+ (\ s a -> s{_uvrUpdatedRows = a})+ . mapping _Coerce++-- | The range (in A1 notation) that updates were applied to.+uvrUpdatedRange :: Lens' UpdateValuesResponse (Maybe Text)+uvrUpdatedRange+ = lens _uvrUpdatedRange+ (\ s a -> s{_uvrUpdatedRange = a})++-- | The values of the cells after updates were applied. This is only+-- included if the request\'s \`includeValuesInResponse\` field was+-- \`true\`.+uvrUpdatedData :: Lens' UpdateValuesResponse (Maybe ValueRange)+uvrUpdatedData+ = lens _uvrUpdatedData+ (\ s a -> s{_uvrUpdatedData = a})++-- | The number of columns where at least one cell in the column was updated.+uvrUpdatedColumns :: Lens' UpdateValuesResponse (Maybe Int32)+uvrUpdatedColumns+ = lens _uvrUpdatedColumns+ (\ s a -> s{_uvrUpdatedColumns = a})+ . mapping _Coerce++instance FromJSON UpdateValuesResponse where+ parseJSON+ = withObject "UpdateValuesResponse"+ (\ o ->+ UpdateValuesResponse' <$>+ (o .:? "updatedCells") <*> (o .:? "spreadsheetId")+ <*> (o .:? "updatedRows")+ <*> (o .:? "updatedRange")+ <*> (o .:? "updatedData")+ <*> (o .:? "updatedColumns"))++instance ToJSON UpdateValuesResponse where+ toJSON UpdateValuesResponse'{..}+ = object+ (catMaybes+ [("updatedCells" .=) <$> _uvrUpdatedCells,+ ("spreadsheetId" .=) <$> _uvrSpreadsheetId,+ ("updatedRows" .=) <$> _uvrUpdatedRows,+ ("updatedRange" .=) <$> _uvrUpdatedRange,+ ("updatedData" .=) <$> _uvrUpdatedData,+ ("updatedColumns" .=) <$> _uvrUpdatedColumns])++-- | The result of deleting a group.+--+-- /See:/ 'deleteDimensionGroupResponse' smart constructor.+newtype DeleteDimensionGroupResponse = DeleteDimensionGroupResponse'+ { _ddgrDimensionGroups :: Maybe [DimensionGroup]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteDimensionGroupResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddgrDimensionGroups'+deleteDimensionGroupResponse+ :: DeleteDimensionGroupResponse+deleteDimensionGroupResponse =+ DeleteDimensionGroupResponse'+ { _ddgrDimensionGroups = Nothing+ }++-- | All groups of a dimension after deleting a group from that dimension.+ddgrDimensionGroups :: Lens' DeleteDimensionGroupResponse [DimensionGroup]+ddgrDimensionGroups+ = lens _ddgrDimensionGroups+ (\ s a -> s{_ddgrDimensionGroups = a})+ . _Default+ . _Coerce++instance FromJSON DeleteDimensionGroupResponse where+ parseJSON+ = withObject "DeleteDimensionGroupResponse"+ (\ o ->+ DeleteDimensionGroupResponse' <$>+ (o .:? "dimensionGroups" .!= mempty))++instance ToJSON DeleteDimensionGroupResponse where+ toJSON DeleteDimensionGroupResponse'{..}+ = object+ (catMaybes+ [("dimensionGroups" .=) <$> _ddgrDimensionGroups])++-- | The request to copy a sheet across spreadsheets.+--+-- /See:/ 'copySheetToAnotherSpreadsheetRequest' smart constructor.+newtype CopySheetToAnotherSpreadsheetRequest = CopySheetToAnotherSpreadsheetRequest'+ { _cstasrDestinationSpreadsheetId :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CopySheetToAnotherSpreadsheetRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cstasrDestinationSpreadsheetId'+copySheetToAnotherSpreadsheetRequest+ :: CopySheetToAnotherSpreadsheetRequest+copySheetToAnotherSpreadsheetRequest =+ CopySheetToAnotherSpreadsheetRequest'+ { _cstasrDestinationSpreadsheetId = Nothing+ }++-- | The ID of the spreadsheet to copy the sheet to.+cstasrDestinationSpreadsheetId :: Lens' CopySheetToAnotherSpreadsheetRequest (Maybe Text)+cstasrDestinationSpreadsheetId+ = lens _cstasrDestinationSpreadsheetId+ (\ s a -> s{_cstasrDestinationSpreadsheetId = a})++instance FromJSON+ CopySheetToAnotherSpreadsheetRequest where+ parseJSON+ = withObject "CopySheetToAnotherSpreadsheetRequest"+ (\ o ->+ CopySheetToAnotherSpreadsheetRequest' <$>+ (o .:? "destinationSpreadsheetId"))++instance ToJSON CopySheetToAnotherSpreadsheetRequest+ where+ toJSON CopySheetToAnotherSpreadsheetRequest'{..}+ = object+ (catMaybes+ [("destinationSpreadsheetId" .=) <$>+ _cstasrDestinationSpreadsheetId])++-- | Adds a filter view.+--+-- /See:/ 'addFilterViewRequest' smart constructor.+newtype AddFilterViewRequest = AddFilterViewRequest'+ { _aFilter :: Maybe FilterView+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AddFilterViewRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aFilter'+addFilterViewRequest+ :: AddFilterViewRequest+addFilterViewRequest =+ AddFilterViewRequest'+ { _aFilter = Nothing+ }++-- | The filter to add. The filterViewId field is optional; if one is not+-- set, an id will be randomly generated. (It is an error to specify the ID+-- of a filter that already exists.)+aFilter :: Lens' AddFilterViewRequest (Maybe FilterView)+aFilter = lens _aFilter (\ s a -> s{_aFilter = a})++instance FromJSON AddFilterViewRequest where+ parseJSON+ = withObject "AddFilterViewRequest"+ (\ o -> AddFilterViewRequest' <$> (o .:? "filter"))++instance ToJSON AddFilterViewRequest where+ toJSON AddFilterViewRequest'{..}+ = object (catMaybes [("filter" .=) <$> _aFilter])++-- | Metadata about a value in a pivot grouping.+--+-- /See:/ 'pivotGroupValueMetadata' smart constructor.+data PivotGroupValueMetadata = PivotGroupValueMetadata'+ { _pgvmValue :: !(Maybe ExtendedValue)+ , _pgvmCollapsed :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PivotGroupValueMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pgvmValue'+--+-- * 'pgvmCollapsed'+pivotGroupValueMetadata+ :: PivotGroupValueMetadata+pivotGroupValueMetadata =+ PivotGroupValueMetadata'+ { _pgvmValue = Nothing+ , _pgvmCollapsed = Nothing+ }++-- | The calculated value the metadata corresponds to. (Note that+-- formulaValue is not valid, because the values will be calculated.)+pgvmValue :: Lens' PivotGroupValueMetadata (Maybe ExtendedValue)+pgvmValue+ = lens _pgvmValue (\ s a -> s{_pgvmValue = a})++-- | True if the data corresponding to the value is collapsed.+pgvmCollapsed :: Lens' PivotGroupValueMetadata (Maybe Bool)+pgvmCollapsed+ = lens _pgvmCollapsed+ (\ s a -> s{_pgvmCollapsed = a})++instance FromJSON PivotGroupValueMetadata where+ parseJSON+ = withObject "PivotGroupValueMetadata"+ (\ o ->+ PivotGroupValueMetadata' <$>+ (o .:? "value") <*> (o .:? "collapsed"))++instance ToJSON PivotGroupValueMetadata where+ toJSON PivotGroupValueMetadata'{..}+ = object+ (catMaybes+ [("value" .=) <$> _pgvmValue,+ ("collapsed" .=) <$> _pgvmCollapsed])++-- | The response when clearing a range of values selected with DataFilters+-- in a spreadsheet.+--+-- /See:/ 'batchClearValuesByDataFilterResponse' smart constructor.+data BatchClearValuesByDataFilterResponse = BatchClearValuesByDataFilterResponse'+ { _bcvbdfrClearedRanges :: !(Maybe [Text])+ , _bcvbdfrSpreadsheetId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BatchClearValuesByDataFilterResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bcvbdfrClearedRanges'+--+-- * 'bcvbdfrSpreadsheetId'+batchClearValuesByDataFilterResponse+ :: BatchClearValuesByDataFilterResponse+batchClearValuesByDataFilterResponse =+ BatchClearValuesByDataFilterResponse'+ { _bcvbdfrClearedRanges = Nothing+ , _bcvbdfrSpreadsheetId = Nothing+ }++-- | The ranges that were cleared, in A1 notation. (If the requests were for+-- an unbounded range or a ranger larger than the bounds of the sheet, this+-- will be the actual ranges that were cleared, bounded to the sheet\'s+-- limits.)+bcvbdfrClearedRanges :: Lens' BatchClearValuesByDataFilterResponse [Text]+bcvbdfrClearedRanges+ = lens _bcvbdfrClearedRanges+ (\ s a -> s{_bcvbdfrClearedRanges = a})+ . _Default+ . _Coerce++-- | The spreadsheet the updates were applied to.+bcvbdfrSpreadsheetId :: Lens' BatchClearValuesByDataFilterResponse (Maybe Text)+bcvbdfrSpreadsheetId+ = lens _bcvbdfrSpreadsheetId+ (\ s a -> s{_bcvbdfrSpreadsheetId = a})++instance FromJSON+ BatchClearValuesByDataFilterResponse where+ parseJSON+ = withObject "BatchClearValuesByDataFilterResponse"+ (\ o ->+ BatchClearValuesByDataFilterResponse' <$>+ (o .:? "clearedRanges" .!= mempty) <*>+ (o .:? "spreadsheetId"))++instance ToJSON BatchClearValuesByDataFilterResponse+ where+ toJSON BatchClearValuesByDataFilterResponse'{..}+ = object+ (catMaybes+ [("clearedRanges" .=) <$> _bcvbdfrClearedRanges,+ ("spreadsheetId" .=) <$> _bcvbdfrSpreadsheetId])++-- | A single series of data for a waterfall chart.+--+-- /See:/ 'waterfallChartSeries' smart constructor.+data WaterfallChartSeries = WaterfallChartSeries'+ { _wcsData :: !(Maybe ChartData)+ , _wcsCustomSubtotals :: !(Maybe [WaterfallChartCustomSubtotal])+ , _wcsNegativeColumnsStyle :: !(Maybe WaterfallChartColumnStyle)+ , _wcsHideTrailingSubtotal :: !(Maybe Bool)+ , _wcsSubtotalColumnsStyle :: !(Maybe WaterfallChartColumnStyle)+ , _wcsPositiveColumnsStyle :: !(Maybe WaterfallChartColumnStyle)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'WaterfallChartSeries' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wcsData'+--+-- * 'wcsCustomSubtotals'+--+-- * 'wcsNegativeColumnsStyle'+--+-- * 'wcsHideTrailingSubtotal'+--+-- * 'wcsSubtotalColumnsStyle'+--+-- * 'wcsPositiveColumnsStyle'+waterfallChartSeries+ :: WaterfallChartSeries+waterfallChartSeries =+ WaterfallChartSeries'+ { _wcsData = Nothing+ , _wcsCustomSubtotals = Nothing+ , _wcsNegativeColumnsStyle = Nothing+ , _wcsHideTrailingSubtotal = Nothing+ , _wcsSubtotalColumnsStyle = Nothing+ , _wcsPositiveColumnsStyle = Nothing+ }++-- | The data being visualized in this series.+wcsData :: Lens' WaterfallChartSeries (Maybe ChartData)+wcsData = lens _wcsData (\ s a -> s{_wcsData = a})++-- | Custom subtotal columns appearing in this series. The order in which+-- subtotals are defined is not significant. Only one subtotal may be+-- defined for each data point.+wcsCustomSubtotals :: Lens' WaterfallChartSeries [WaterfallChartCustomSubtotal]+wcsCustomSubtotals+ = lens _wcsCustomSubtotals+ (\ s a -> s{_wcsCustomSubtotals = a})+ . _Default+ . _Coerce++-- | Styles for all columns in this series with negative values.+wcsNegativeColumnsStyle :: Lens' WaterfallChartSeries (Maybe WaterfallChartColumnStyle)+wcsNegativeColumnsStyle+ = lens _wcsNegativeColumnsStyle+ (\ s a -> s{_wcsNegativeColumnsStyle = a})++-- | True to hide the subtotal column from the end of the series. By default,+-- a subtotal column will appear at the end of each series. Setting this+-- field to true will hide that subtotal column for this series.+wcsHideTrailingSubtotal :: Lens' WaterfallChartSeries (Maybe Bool)+wcsHideTrailingSubtotal+ = lens _wcsHideTrailingSubtotal+ (\ s a -> s{_wcsHideTrailingSubtotal = a})++-- | Styles for all subtotal columns in this series.+wcsSubtotalColumnsStyle :: Lens' WaterfallChartSeries (Maybe WaterfallChartColumnStyle)+wcsSubtotalColumnsStyle+ = lens _wcsSubtotalColumnsStyle+ (\ s a -> s{_wcsSubtotalColumnsStyle = a})++-- | Styles for all columns in this series with positive values.+wcsPositiveColumnsStyle :: Lens' WaterfallChartSeries (Maybe WaterfallChartColumnStyle)+wcsPositiveColumnsStyle+ = lens _wcsPositiveColumnsStyle+ (\ s a -> s{_wcsPositiveColumnsStyle = a})++instance FromJSON WaterfallChartSeries where+ parseJSON+ = withObject "WaterfallChartSeries"+ (\ o ->+ WaterfallChartSeries' <$>+ (o .:? "data") <*>+ (o .:? "customSubtotals" .!= mempty)+ <*> (o .:? "negativeColumnsStyle")+ <*> (o .:? "hideTrailingSubtotal")+ <*> (o .:? "subtotalColumnsStyle")+ <*> (o .:? "positiveColumnsStyle"))++instance ToJSON WaterfallChartSeries where+ toJSON WaterfallChartSeries'{..}+ = object+ (catMaybes+ [("data" .=) <$> _wcsData,+ ("customSubtotals" .=) <$> _wcsCustomSubtotals,+ ("negativeColumnsStyle" .=) <$>+ _wcsNegativeColumnsStyle,+ ("hideTrailingSubtotal" .=) <$>+ _wcsHideTrailingSubtotal,+ ("subtotalColumnsStyle" .=) <$>+ _wcsSubtotalColumnsStyle,+ ("positiveColumnsStyle" .=) <$>+ _wcsPositiveColumnsStyle])++-- | Updates all cells in a range with new data.+--+-- /See:/ 'updateCellsRequest' smart constructor.+data UpdateCellsRequest = UpdateCellsRequest'+ { _updStart :: !(Maybe GridCoordinate)+ , _updRows :: !(Maybe [RowData])+ , _updRange :: !(Maybe GridRange)+ , _updFields :: !(Maybe GFieldMask)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateCellsRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'updStart'+--+-- * 'updRows'+--+-- * 'updRange'+--+-- * 'updFields'+updateCellsRequest+ :: UpdateCellsRequest+updateCellsRequest =+ UpdateCellsRequest'+ { _updStart = Nothing+ , _updRows = Nothing+ , _updRange = Nothing+ , _updFields = Nothing+ }++-- | The coordinate to start writing data at. Any number of rows and columns+-- (including a different number of columns per row) may be written.+updStart :: Lens' UpdateCellsRequest (Maybe GridCoordinate)+updStart = lens _updStart (\ s a -> s{_updStart = a})++-- | The data to write.+updRows :: Lens' UpdateCellsRequest [RowData]+updRows+ = lens _updRows (\ s a -> s{_updRows = a}) . _Default+ . _Coerce++-- | The range to write data to. If the data in rows does not cover the+-- entire requested range, the fields matching those set in fields will be+-- cleared.+updRange :: Lens' UpdateCellsRequest (Maybe GridRange)+updRange = lens _updRange (\ s a -> s{_updRange = a})++-- | The fields of CellData that should be updated. At least one field must+-- be specified. The root is the CellData; \'row.values.\' should not be+-- specified. A single \`\"*\"\` can be used as short-hand for listing+-- every field.+updFields :: Lens' UpdateCellsRequest (Maybe GFieldMask)+updFields+ = lens _updFields (\ s a -> s{_updFields = a})++instance FromJSON UpdateCellsRequest where+ parseJSON+ = withObject "UpdateCellsRequest"+ (\ o ->+ UpdateCellsRequest' <$>+ (o .:? "start") <*> (o .:? "rows" .!= mempty) <*>+ (o .:? "range")+ <*> (o .:? "fields"))++instance ToJSON UpdateCellsRequest where+ toJSON UpdateCellsRequest'{..}+ = object+ (catMaybes+ [("start" .=) <$> _updStart,+ ("rows" .=) <$> _updRows, ("range" .=) <$> _updRange,+ ("fields" .=) <$> _updFields])++-- | The format of a cell.+--+-- /See:/ 'cellFormat' smart constructor.+data CellFormat = CellFormat'+ { _cfBOrders :: !(Maybe BOrders)+ , _cfVerticalAlignment :: !(Maybe CellFormatVerticalAlignment)+ , _cfBackgRoundColor :: !(Maybe Color)+ , _cfTextRotation :: !(Maybe TextRotation)+ , _cfHyperlinkDisplayType :: !(Maybe CellFormatHyperlinkDisplayType)+ , _cfWrapStrategy :: !(Maybe CellFormatWrapStrategy)+ , _cfNumberFormat :: !(Maybe NumberFormat)+ , _cfTextDirection :: !(Maybe CellFormatTextDirection)+ , _cfTextFormat :: !(Maybe TextFormat)+ , _cfHorizontalAlignment :: !(Maybe CellFormatHorizontalAlignment)+ , _cfPadding :: !(Maybe Padding)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CellFormat' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cfBOrders'+--+-- * 'cfVerticalAlignment'+--+-- * 'cfBackgRoundColor'+--+-- * 'cfTextRotation'+--+-- * 'cfHyperlinkDisplayType'+--+-- * 'cfWrapStrategy'+--+-- * 'cfNumberFormat'+--+-- * 'cfTextDirection'+--+-- * 'cfTextFormat'+--+-- * 'cfHorizontalAlignment'+--+-- * 'cfPadding'+cellFormat+ :: CellFormat+cellFormat =+ CellFormat'+ { _cfBOrders = Nothing+ , _cfVerticalAlignment = Nothing+ , _cfBackgRoundColor = Nothing+ , _cfTextRotation = Nothing+ , _cfHyperlinkDisplayType = Nothing+ , _cfWrapStrategy = Nothing+ , _cfNumberFormat = Nothing+ , _cfTextDirection = Nothing+ , _cfTextFormat = Nothing+ , _cfHorizontalAlignment = Nothing+ , _cfPadding = Nothing+ }++-- | The borders of the cell.+cfBOrders :: Lens' CellFormat (Maybe BOrders)+cfBOrders+ = lens _cfBOrders (\ s a -> s{_cfBOrders = a})++-- | The vertical alignment of the value in the cell.+cfVerticalAlignment :: Lens' CellFormat (Maybe CellFormatVerticalAlignment)+cfVerticalAlignment+ = lens _cfVerticalAlignment+ (\ s a -> s{_cfVerticalAlignment = a})++-- | The background color of the cell.+cfBackgRoundColor :: Lens' CellFormat (Maybe Color)+cfBackgRoundColor+ = lens _cfBackgRoundColor+ (\ s a -> s{_cfBackgRoundColor = a})++-- | The rotation applied to text in a cell+cfTextRotation :: Lens' CellFormat (Maybe TextRotation)+cfTextRotation+ = lens _cfTextRotation+ (\ s a -> s{_cfTextRotation = a})++-- | How a hyperlink, if it exists, should be displayed in the cell.+cfHyperlinkDisplayType :: Lens' CellFormat (Maybe CellFormatHyperlinkDisplayType)+cfHyperlinkDisplayType+ = lens _cfHyperlinkDisplayType+ (\ s a -> s{_cfHyperlinkDisplayType = a})++-- | The wrap strategy for the value in the cell.+cfWrapStrategy :: Lens' CellFormat (Maybe CellFormatWrapStrategy)+cfWrapStrategy+ = lens _cfWrapStrategy+ (\ s a -> s{_cfWrapStrategy = a})++-- | A format describing how number values should be represented to the user.+cfNumberFormat :: Lens' CellFormat (Maybe NumberFormat)+cfNumberFormat+ = lens _cfNumberFormat+ (\ s a -> s{_cfNumberFormat = a})++-- | The direction of the text in the cell.+cfTextDirection :: Lens' CellFormat (Maybe CellFormatTextDirection)+cfTextDirection+ = lens _cfTextDirection+ (\ s a -> s{_cfTextDirection = a})++-- | The format of the text in the cell (unless overridden by a format run).+cfTextFormat :: Lens' CellFormat (Maybe TextFormat)+cfTextFormat+ = lens _cfTextFormat (\ s a -> s{_cfTextFormat = a})++-- | The horizontal alignment of the value in the cell.+cfHorizontalAlignment :: Lens' CellFormat (Maybe CellFormatHorizontalAlignment)+cfHorizontalAlignment+ = lens _cfHorizontalAlignment+ (\ s a -> s{_cfHorizontalAlignment = a})++-- | The padding of the cell.+cfPadding :: Lens' CellFormat (Maybe Padding)+cfPadding+ = lens _cfPadding (\ s a -> s{_cfPadding = a})++instance FromJSON CellFormat where+ parseJSON+ = withObject "CellFormat"+ (\ o ->+ CellFormat' <$>+ (o .:? "borders") <*> (o .:? "verticalAlignment") <*>+ (o .:? "backgroundColor")+ <*> (o .:? "textRotation")+ <*> (o .:? "hyperlinkDisplayType")+ <*> (o .:? "wrapStrategy")+ <*> (o .:? "numberFormat")+ <*> (o .:? "textDirection")+ <*> (o .:? "textFormat")+ <*> (o .:? "horizontalAlignment")+ <*> (o .:? "padding"))++instance ToJSON CellFormat where+ toJSON CellFormat'{..}+ = object+ (catMaybes+ [("borders" .=) <$> _cfBOrders,+ ("verticalAlignment" .=) <$> _cfVerticalAlignment,+ ("backgroundColor" .=) <$> _cfBackgRoundColor,+ ("textRotation" .=) <$> _cfTextRotation,+ ("hyperlinkDisplayType" .=) <$>+ _cfHyperlinkDisplayType,+ ("wrapStrategy" .=) <$> _cfWrapStrategy,+ ("numberFormat" .=) <$> _cfNumberFormat,+ ("textDirection" .=) <$> _cfTextDirection,+ ("textFormat" .=) <$> _cfTextFormat,+ ("horizontalAlignment" .=) <$>+ _cfHorizontalAlignment,+ ("padding" .=) <$> _cfPadding])++-- | Deletes the protected range with the given ID.+--+-- /See:/ 'deleteProtectedRangeRequest' smart constructor.+newtype DeleteProtectedRangeRequest = DeleteProtectedRangeRequest'+ { _dprrProtectedRangeId :: Maybe (Textual Int32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteProtectedRangeRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dprrProtectedRangeId'+deleteProtectedRangeRequest+ :: DeleteProtectedRangeRequest+deleteProtectedRangeRequest =+ DeleteProtectedRangeRequest'+ { _dprrProtectedRangeId = Nothing+ }++-- | The ID of the protected range to delete.+dprrProtectedRangeId :: Lens' DeleteProtectedRangeRequest (Maybe Int32)+dprrProtectedRangeId+ = lens _dprrProtectedRangeId+ (\ s a -> s{_dprrProtectedRangeId = a})+ . mapping _Coerce++instance FromJSON DeleteProtectedRangeRequest where+ parseJSON+ = withObject "DeleteProtectedRangeRequest"+ (\ o ->+ DeleteProtectedRangeRequest' <$>+ (o .:? "protectedRangeId"))++instance ToJSON DeleteProtectedRangeRequest where+ toJSON DeleteProtectedRangeRequest'{..}+ = object+ (catMaybes+ [("protectedRangeId" .=) <$> _dprrProtectedRangeId])++-- | Updates an existing protected range with the specified protectedRangeId.+--+-- /See:/ 'updateProtectedRangeRequest' smart constructor.+data UpdateProtectedRangeRequest = UpdateProtectedRangeRequest'+ { _uprrProtectedRange :: !(Maybe ProtectedRange)+ , _uprrFields :: !(Maybe GFieldMask)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateProtectedRangeRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uprrProtectedRange'+--+-- * 'uprrFields'+updateProtectedRangeRequest+ :: UpdateProtectedRangeRequest+updateProtectedRangeRequest =+ UpdateProtectedRangeRequest'+ { _uprrProtectedRange = Nothing+ , _uprrFields = Nothing+ }++-- | The protected range to update with the new properties.+uprrProtectedRange :: Lens' UpdateProtectedRangeRequest (Maybe ProtectedRange)+uprrProtectedRange+ = lens _uprrProtectedRange+ (\ s a -> s{_uprrProtectedRange = a})++-- | The fields that should be updated. At least one field must be specified.+-- The root \`protectedRange\` is implied and should not be specified. A+-- single \`\"*\"\` can be used as short-hand for listing every field.+uprrFields :: Lens' UpdateProtectedRangeRequest (Maybe GFieldMask)+uprrFields+ = lens _uprrFields (\ s a -> s{_uprrFields = a})++instance FromJSON UpdateProtectedRangeRequest where+ parseJSON+ = withObject "UpdateProtectedRangeRequest"+ (\ o ->+ UpdateProtectedRangeRequest' <$>+ (o .:? "protectedRange") <*> (o .:? "fields"))++instance ToJSON UpdateProtectedRangeRequest where+ toJSON UpdateProtectedRangeRequest'{..}+ = object+ (catMaybes+ [("protectedRange" .=) <$> _uprrProtectedRange,+ ("fields" .=) <$> _uprrFields])++-- | The result of adding a sheet.+--+-- /See:/ 'addSheetResponse' smart constructor.+newtype AddSheetResponse = AddSheetResponse'+ { _aProperties :: Maybe SheetProperties+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AddSheetResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aProperties'+addSheetResponse+ :: AddSheetResponse+addSheetResponse =+ AddSheetResponse'+ { _aProperties = Nothing+ }++-- | The properties of the newly added sheet.+aProperties :: Lens' AddSheetResponse (Maybe SheetProperties)+aProperties+ = lens _aProperties (\ s a -> s{_aProperties = a})++instance FromJSON AddSheetResponse where+ parseJSON+ = withObject "AddSheetResponse"+ (\ o -> AddSheetResponse' <$> (o .:? "properties"))++instance ToJSON AddSheetResponse where+ toJSON AddSheetResponse'{..}+ = object+ (catMaybes [("properties" .=) <$> _aProperties])++-- | A protected range.+--+-- /See:/ 'protectedRange' smart constructor.+data ProtectedRange = ProtectedRange'+ { _prProtectedRangeId :: !(Maybe (Textual Int32))+ , _prWarningOnly :: !(Maybe Bool)+ , _prNamedRangeId :: !(Maybe Text)+ , _prRange :: !(Maybe GridRange)+ , _prEditors :: !(Maybe Editors)+ , _prUnprotectedRanges :: !(Maybe [GridRange])+ , _prRequestingUserCanEdit :: !(Maybe Bool)+ , _prDescription :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProtectedRange' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'prProtectedRangeId'+--+-- * 'prWarningOnly'+--+-- * 'prNamedRangeId'+--+-- * 'prRange'+--+-- * 'prEditors'+--+-- * 'prUnprotectedRanges'+--+-- * 'prRequestingUserCanEdit'+--+-- * 'prDescription'+protectedRange+ :: ProtectedRange+protectedRange =+ ProtectedRange'+ { _prProtectedRangeId = Nothing+ , _prWarningOnly = Nothing+ , _prNamedRangeId = Nothing+ , _prRange = Nothing+ , _prEditors = Nothing+ , _prUnprotectedRanges = Nothing+ , _prRequestingUserCanEdit = Nothing+ , _prDescription = Nothing+ }++-- | The ID of the protected range. This field is read-only.+prProtectedRangeId :: Lens' ProtectedRange (Maybe Int32)+prProtectedRangeId+ = lens _prProtectedRangeId+ (\ s a -> s{_prProtectedRangeId = a})+ . mapping _Coerce++-- | True if this protected range will show a warning when editing.+-- Warning-based protection means that every user can edit data in the+-- protected range, except editing will prompt a warning asking the user to+-- confirm the edit. When writing: if this field is true, then editors is+-- ignored. Additionally, if this field is changed from true to false and+-- the \`editors\` field is not set (nor included in the field mask), then+-- the editors will be set to all the editors in the document.+prWarningOnly :: Lens' ProtectedRange (Maybe Bool)+prWarningOnly+ = lens _prWarningOnly+ (\ s a -> s{_prWarningOnly = a})++-- | The named range this protected range is backed by, if any. When writing,+-- only one of range or named_range_id may be set.+prNamedRangeId :: Lens' ProtectedRange (Maybe Text)+prNamedRangeId+ = lens _prNamedRangeId+ (\ s a -> s{_prNamedRangeId = a})++-- | The range that is being protected. The range may be fully unbounded, in+-- which case this is considered a protected sheet. When writing, only one+-- of range or named_range_id may be set.+prRange :: Lens' ProtectedRange (Maybe GridRange)+prRange = lens _prRange (\ s a -> s{_prRange = a})++-- | The users and groups with edit access to the protected range. This field+-- is only visible to users with edit access to the protected range and the+-- document. Editors are not supported with warning_only protection.+prEditors :: Lens' ProtectedRange (Maybe Editors)+prEditors+ = lens _prEditors (\ s a -> s{_prEditors = a})++-- | The list of unprotected ranges within a protected sheet. Unprotected+-- ranges are only supported on protected sheets.+prUnprotectedRanges :: Lens' ProtectedRange [GridRange]+prUnprotectedRanges+ = lens _prUnprotectedRanges+ (\ s a -> s{_prUnprotectedRanges = a})+ . _Default+ . _Coerce++-- | True if the user who requested this protected range can edit the+-- protected area. This field is read-only.+prRequestingUserCanEdit :: Lens' ProtectedRange (Maybe Bool)+prRequestingUserCanEdit+ = lens _prRequestingUserCanEdit+ (\ s a -> s{_prRequestingUserCanEdit = a})++-- | The description of this protected range.+prDescription :: Lens' ProtectedRange (Maybe Text)+prDescription+ = lens _prDescription+ (\ s a -> s{_prDescription = a})++instance FromJSON ProtectedRange where+ parseJSON+ = withObject "ProtectedRange"+ (\ o ->+ ProtectedRange' <$>+ (o .:? "protectedRangeId") <*> (o .:? "warningOnly")+ <*> (o .:? "namedRangeId")+ <*> (o .:? "range")+ <*> (o .:? "editors")+ <*> (o .:? "unprotectedRanges" .!= mempty)+ <*> (o .:? "requestingUserCanEdit")+ <*> (o .:? "description"))++instance ToJSON ProtectedRange where+ toJSON ProtectedRange'{..}+ = object+ (catMaybes+ [("protectedRangeId" .=) <$> _prProtectedRangeId,+ ("warningOnly" .=) <$> _prWarningOnly,+ ("namedRangeId" .=) <$> _prNamedRangeId,+ ("range" .=) <$> _prRange,+ ("editors" .=) <$> _prEditors,+ ("unprotectedRanges" .=) <$> _prUnprotectedRanges,+ ("requestingUserCanEdit" .=) <$>+ _prRequestingUserCanEdit,+ ("description" .=) <$> _prDescription])++-- | An axis of the chart. A chart may not have more than one axis per axis+-- position.+--+-- /See:/ 'basicChartAxis' smart constructor.+data BasicChartAxis = BasicChartAxis'+ { _bcaTitleTextPosition :: !(Maybe TextPosition)+ , _bcaFormat :: !(Maybe TextFormat)+ , _bcaTitle :: !(Maybe Text)+ , _bcaPosition :: !(Maybe BasicChartAxisPosition)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BasicChartAxis' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bcaTitleTextPosition'+--+-- * 'bcaFormat'+--+-- * 'bcaTitle'+--+-- * 'bcaPosition'+basicChartAxis+ :: BasicChartAxis+basicChartAxis =+ BasicChartAxis'+ { _bcaTitleTextPosition = Nothing+ , _bcaFormat = Nothing+ , _bcaTitle = Nothing+ , _bcaPosition = Nothing+ }++-- | The axis title text position.+bcaTitleTextPosition :: Lens' BasicChartAxis (Maybe TextPosition)+bcaTitleTextPosition+ = lens _bcaTitleTextPosition+ (\ s a -> s{_bcaTitleTextPosition = a})++-- | The format of the title. Only valid if the axis is not associated with+-- the domain.+bcaFormat :: Lens' BasicChartAxis (Maybe TextFormat)+bcaFormat+ = lens _bcaFormat (\ s a -> s{_bcaFormat = a})++-- | The title of this axis. If set, this overrides any title inferred from+-- headers of the data.+bcaTitle :: Lens' BasicChartAxis (Maybe Text)+bcaTitle = lens _bcaTitle (\ s a -> s{_bcaTitle = a})++-- | The position of this axis.+bcaPosition :: Lens' BasicChartAxis (Maybe BasicChartAxisPosition)+bcaPosition+ = lens _bcaPosition (\ s a -> s{_bcaPosition = a})++instance FromJSON BasicChartAxis where+ parseJSON+ = withObject "BasicChartAxis"+ (\ o ->+ BasicChartAxis' <$>+ (o .:? "titleTextPosition") <*> (o .:? "format") <*>+ (o .:? "title")+ <*> (o .:? "position"))++instance ToJSON BasicChartAxis where+ toJSON BasicChartAxis'{..}+ = object+ (catMaybes+ [("titleTextPosition" .=) <$> _bcaTitleTextPosition,+ ("format" .=) <$> _bcaFormat,+ ("title" .=) <$> _bcaTitle,+ ("position" .=) <$> _bcaPosition])++-- | Data in the grid, as well as metadata about the dimensions.+--+-- /See:/ 'gridData' smart constructor.+data GridData = GridData'+ { _gdRowMetadata :: !(Maybe [DimensionProperties])+ , _gdStartRow :: !(Maybe (Textual Int32))+ , _gdRowData :: !(Maybe [RowData])+ , _gdColumnMetadata :: !(Maybe [DimensionProperties])+ , _gdStartColumn :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GridData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdRowMetadata'+--+-- * 'gdStartRow'+--+-- * 'gdRowData'+--+-- * 'gdColumnMetadata'+--+-- * 'gdStartColumn'+gridData+ :: GridData+gridData =+ GridData'+ { _gdRowMetadata = Nothing+ , _gdStartRow = Nothing+ , _gdRowData = Nothing+ , _gdColumnMetadata = Nothing+ , _gdStartColumn = Nothing+ }++-- | Metadata about the requested rows in the grid, starting with the row in+-- start_row.+gdRowMetadata :: Lens' GridData [DimensionProperties]+gdRowMetadata+ = lens _gdRowMetadata+ (\ s a -> s{_gdRowMetadata = a})+ . _Default+ . _Coerce++-- | The first row this GridData refers to, zero-based.+gdStartRow :: Lens' GridData (Maybe Int32)+gdStartRow+ = lens _gdStartRow (\ s a -> s{_gdStartRow = a}) .+ mapping _Coerce++-- | The data in the grid, one entry per row, starting with the row in+-- startRow. The values in RowData will correspond to columns starting at+-- start_column.+gdRowData :: Lens' GridData [RowData]+gdRowData+ = lens _gdRowData (\ s a -> s{_gdRowData = a}) .+ _Default+ . _Coerce++-- | Metadata about the requested columns in the grid, starting with the+-- column in start_column.+gdColumnMetadata :: Lens' GridData [DimensionProperties]+gdColumnMetadata+ = lens _gdColumnMetadata+ (\ s a -> s{_gdColumnMetadata = a})+ . _Default+ . _Coerce++-- | The first column this GridData refers to, zero-based.+gdStartColumn :: Lens' GridData (Maybe Int32)+gdStartColumn+ = lens _gdStartColumn+ (\ s a -> s{_gdStartColumn = a})+ . mapping _Coerce++instance FromJSON GridData where+ parseJSON+ = withObject "GridData"+ (\ o ->+ GridData' <$>+ (o .:? "rowMetadata" .!= mempty) <*>+ (o .:? "startRow")+ <*> (o .:? "rowData" .!= mempty)+ <*> (o .:? "columnMetadata" .!= mempty)+ <*> (o .:? "startColumn"))++instance ToJSON GridData where+ toJSON GridData'{..}+ = object+ (catMaybes+ [("rowMetadata" .=) <$> _gdRowMetadata,+ ("startRow" .=) <$> _gdStartRow,+ ("rowData" .=) <$> _gdRowData,+ ("columnMetadata" .=) <$> _gdColumnMetadata,+ ("startColumn" .=) <$> _gdStartColumn])++-- | The number format of a cell.+--+-- /See:/ 'numberFormat' smart constructor.+data NumberFormat = NumberFormat'+ { _nfPattern :: !(Maybe Text)+ , _nfType :: !(Maybe NumberFormatType)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'NumberFormat' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'nfPattern'+--+-- * 'nfType'+numberFormat+ :: NumberFormat+numberFormat =+ NumberFormat'+ { _nfPattern = Nothing+ , _nfType = Nothing+ }++-- | Pattern string used for formatting. If not set, a default pattern based+-- on the user\'s locale will be used if necessary for the given type. See+-- the [Date and Number Formats guide](\/sheets\/api\/guides\/formats) for+-- more information about the supported patterns.+nfPattern :: Lens' NumberFormat (Maybe Text)+nfPattern+ = lens _nfPattern (\ s a -> s{_nfPattern = a})++-- | The type of the number format. When writing, this field must be set.+nfType :: Lens' NumberFormat (Maybe NumberFormatType)+nfType = lens _nfType (\ s a -> s{_nfType = a})++instance FromJSON NumberFormat where+ parseJSON+ = withObject "NumberFormat"+ (\ o ->+ NumberFormat' <$>+ (o .:? "pattern") <*> (o .:? "type"))++instance ToJSON NumberFormat where+ toJSON NumberFormat'{..}+ = object+ (catMaybes+ [("pattern" .=) <$> _nfPattern,+ ("type" .=) <$> _nfType])++-- | The reply for batch updating a spreadsheet.+--+-- /See:/ 'batchUpdateSpreadsheetResponse' smart constructor.+data BatchUpdateSpreadsheetResponse = BatchUpdateSpreadsheetResponse'+ { _busrSpreadsheetId :: !(Maybe Text)+ , _busrReplies :: !(Maybe [Response])+ , _busrUpdatedSpreadsheet :: !(Maybe Spreadsheet)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BatchUpdateSpreadsheetResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'busrSpreadsheetId'+--+-- * 'busrReplies'+--+-- * 'busrUpdatedSpreadsheet'+batchUpdateSpreadsheetResponse+ :: BatchUpdateSpreadsheetResponse+batchUpdateSpreadsheetResponse =+ BatchUpdateSpreadsheetResponse'+ { _busrSpreadsheetId = Nothing+ , _busrReplies = Nothing+ , _busrUpdatedSpreadsheet = Nothing+ }++-- | The spreadsheet the updates were applied to.+busrSpreadsheetId :: Lens' BatchUpdateSpreadsheetResponse (Maybe Text)+busrSpreadsheetId+ = lens _busrSpreadsheetId+ (\ s a -> s{_busrSpreadsheetId = a})++-- | The reply of the updates. This maps 1:1 with the updates, although+-- replies to some requests may be empty.+busrReplies :: Lens' BatchUpdateSpreadsheetResponse [Response]+busrReplies+ = lens _busrReplies (\ s a -> s{_busrReplies = a}) .+ _Default+ . _Coerce++-- | The spreadsheet after updates were applied. This is only set if+-- [BatchUpdateSpreadsheetRequest.include_spreadsheet_in_response] is+-- \`true\`.+busrUpdatedSpreadsheet :: Lens' BatchUpdateSpreadsheetResponse (Maybe Spreadsheet)+busrUpdatedSpreadsheet+ = lens _busrUpdatedSpreadsheet+ (\ s a -> s{_busrUpdatedSpreadsheet = a})++instance FromJSON BatchUpdateSpreadsheetResponse+ where+ parseJSON+ = withObject "BatchUpdateSpreadsheetResponse"+ (\ o ->+ BatchUpdateSpreadsheetResponse' <$>+ (o .:? "spreadsheetId") <*>+ (o .:? "replies" .!= mempty)+ <*> (o .:? "updatedSpreadsheet"))++instance ToJSON BatchUpdateSpreadsheetResponse where+ toJSON BatchUpdateSpreadsheetResponse'{..}+ = object+ (catMaybes+ [("spreadsheetId" .=) <$> _busrSpreadsheetId,+ ("replies" .=) <$> _busrReplies,+ ("updatedSpreadsheet" .=) <$>+ _busrUpdatedSpreadsheet])++-- | Filter that describes what data should be selected or returned from a+-- request.+--+-- /See:/ 'dataFilter' smart constructor.+data DataFilter = DataFilter'+ { _dfGridRange :: !(Maybe GridRange)+ , _dfA1Range :: !(Maybe Text)+ , _dfDeveloperMetadataLookup :: !(Maybe DeveloperMetadataLookup)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DataFilter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dfGridRange'+--+-- * 'dfA1Range'+--+-- * 'dfDeveloperMetadataLookup'+dataFilter+ :: DataFilter+dataFilter =+ DataFilter'+ { _dfGridRange = Nothing+ , _dfA1Range = Nothing+ , _dfDeveloperMetadataLookup = Nothing+ }++-- | Selects data that matches the range described by the GridRange.+dfGridRange :: Lens' DataFilter (Maybe GridRange)+dfGridRange+ = lens _dfGridRange (\ s a -> s{_dfGridRange = a})++-- | Selects data that matches the specified A1 range.+dfA1Range :: Lens' DataFilter (Maybe Text)+dfA1Range+ = lens _dfA1Range (\ s a -> s{_dfA1Range = a})++-- | Selects data associated with the developer metadata matching the+-- criteria described by this DeveloperMetadataLookup.+dfDeveloperMetadataLookup :: Lens' DataFilter (Maybe DeveloperMetadataLookup)+dfDeveloperMetadataLookup+ = lens _dfDeveloperMetadataLookup+ (\ s a -> s{_dfDeveloperMetadataLookup = a})++instance FromJSON DataFilter where+ parseJSON+ = withObject "DataFilter"+ (\ o ->+ DataFilter' <$>+ (o .:? "gridRange") <*> (o .:? "a1Range") <*>+ (o .:? "developerMetadataLookup"))++instance ToJSON DataFilter where+ toJSON DataFilter'{..}+ = object+ (catMaybes+ [("gridRange" .=) <$> _dfGridRange,+ ("a1Range" .=) <$> _dfA1Range,+ ("developerMetadataLookup" .=) <$>+ _dfDeveloperMetadataLookup])++-- | Sets a data validation rule to every cell in the range. To clear+-- validation in a range, call this with no rule specified.+--+-- /See:/ 'setDataValidationRequest' smart constructor.+data SetDataValidationRequest = SetDataValidationRequest'+ { _sdvrRule :: !(Maybe DataValidationRule)+ , _sdvrRange :: !(Maybe GridRange)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SetDataValidationRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdvrRule'+--+-- * 'sdvrRange'+setDataValidationRequest+ :: SetDataValidationRequest+setDataValidationRequest =+ SetDataValidationRequest'+ { _sdvrRule = Nothing+ , _sdvrRange = Nothing+ }++-- | The data validation rule to set on each cell in the range, or empty to+-- clear the data validation in the range.+sdvrRule :: Lens' SetDataValidationRequest (Maybe DataValidationRule)+sdvrRule = lens _sdvrRule (\ s a -> s{_sdvrRule = a})++-- | The range the data validation rule should apply to.+sdvrRange :: Lens' SetDataValidationRequest (Maybe GridRange)+sdvrRange+ = lens _sdvrRange (\ s a -> s{_sdvrRange = a})++instance FromJSON SetDataValidationRequest where+ parseJSON+ = withObject "SetDataValidationRequest"+ (\ o ->+ SetDataValidationRequest' <$>+ (o .:? "rule") <*> (o .:? "range"))++instance ToJSON SetDataValidationRequest where+ toJSON SetDataValidationRequest'{..}+ = object+ (catMaybes+ [("rule" .=) <$> _sdvrRule,+ ("range" .=) <$> _sdvrRange])++-- | Properties referring a single dimension (either row or column). If both+-- BandedRange.row_properties and BandedRange.column_properties are set,+-- the fill colors are applied to cells according to the following rules: *+-- header_color and footer_color take priority over band colors. *+-- first_band_color takes priority over second_band_color. * row_properties+-- takes priority over column_properties. For example, the first row color+-- takes priority over the first column color, but the first column color+-- takes priority over the second row color. Similarly, the row header+-- takes priority over the column header in the top left cell, but the+-- column header takes priority over the first row color if the row header+-- is not set.+--+-- /See:/ 'bandingProperties' smart constructor.+data BandingProperties = BandingProperties'+ { _bpSecondBandColor :: !(Maybe Color)+ , _bpHeaderColor :: !(Maybe Color)+ , _bpFooterColor :: !(Maybe Color)+ , _bpFirstBandColor :: !(Maybe Color)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BandingProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bpSecondBandColor'+--+-- * 'bpHeaderColor'+--+-- * 'bpFooterColor'+--+-- * 'bpFirstBandColor'+bandingProperties+ :: BandingProperties+bandingProperties =+ BandingProperties'+ { _bpSecondBandColor = Nothing+ , _bpHeaderColor = Nothing+ , _bpFooterColor = Nothing+ , _bpFirstBandColor = Nothing+ }++-- | The second color that is alternating. (Required)+bpSecondBandColor :: Lens' BandingProperties (Maybe Color)+bpSecondBandColor+ = lens _bpSecondBandColor+ (\ s a -> s{_bpSecondBandColor = a})++-- | The color of the first row or column. If this field is set, the first+-- row or column will be filled with this color and the colors will+-- alternate between first_band_color and second_band_color starting from+-- the second row or column. Otherwise, the first row or column will be+-- filled with first_band_color and the colors will proceed to alternate as+-- they normally would.+bpHeaderColor :: Lens' BandingProperties (Maybe Color)+bpHeaderColor+ = lens _bpHeaderColor+ (\ s a -> s{_bpHeaderColor = a})++-- | The color of the last row or column. If this field is not set, the last+-- row or column will be filled with either first_band_color or+-- second_band_color, depending on the color of the previous row or column.+bpFooterColor :: Lens' BandingProperties (Maybe Color)+bpFooterColor+ = lens _bpFooterColor+ (\ s a -> s{_bpFooterColor = a})++-- | The first color that is alternating. (Required)+bpFirstBandColor :: Lens' BandingProperties (Maybe Color)+bpFirstBandColor+ = lens _bpFirstBandColor+ (\ s a -> s{_bpFirstBandColor = a})++instance FromJSON BandingProperties where+ parseJSON+ = withObject "BandingProperties"+ (\ o ->+ BandingProperties' <$>+ (o .:? "secondBandColor") <*> (o .:? "headerColor")+ <*> (o .:? "footerColor")+ <*> (o .:? "firstBandColor"))++instance ToJSON BandingProperties where+ toJSON BandingProperties'{..}+ = object+ (catMaybes+ [("secondBandColor" .=) <$> _bpSecondBandColor,+ ("headerColor" .=) <$> _bpHeaderColor,+ ("footerColor" .=) <$> _bpFooterColor,+ ("firstBandColor" .=) <$> _bpFirstBandColor])++-- | Duplicates a particular filter view.+--+-- /See:/ 'duplicateFilterViewRequest' smart constructor.+newtype DuplicateFilterViewRequest = DuplicateFilterViewRequest'+ { _dFilterId :: Maybe (Textual Int32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DuplicateFilterViewRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dFilterId'+duplicateFilterViewRequest+ :: DuplicateFilterViewRequest+duplicateFilterViewRequest =+ DuplicateFilterViewRequest'+ { _dFilterId = Nothing+ }++-- | The ID of the filter being duplicated.+dFilterId :: Lens' DuplicateFilterViewRequest (Maybe Int32)+dFilterId+ = lens _dFilterId (\ s a -> s{_dFilterId = a}) .+ mapping _Coerce++instance FromJSON DuplicateFilterViewRequest where+ parseJSON+ = withObject "DuplicateFilterViewRequest"+ (\ o ->+ DuplicateFilterViewRequest' <$> (o .:? "filterId"))++instance ToJSON DuplicateFilterViewRequest where+ toJSON DuplicateFilterViewRequest'{..}+ = object (catMaybes [("filterId" .=) <$> _dFilterId])++-- | A single grouping (either row or column) in a pivot table.+--+-- /See:/ 'pivotGroup' smart constructor.+data PivotGroup = PivotGroup'+ { _pgRepeatHeadings :: !(Maybe Bool)+ , _pgValueMetadata :: !(Maybe [PivotGroupValueMetadata])+ , _pgSourceColumnOffSet :: !(Maybe (Textual Int32))+ , _pgSortOrder :: !(Maybe PivotGroupSortOrder)+ , _pgShowTotals :: !(Maybe Bool)+ , _pgValueBucket :: !(Maybe PivotGroupSortValueBucket)+ , _pgLabel :: !(Maybe Text)+ , _pgGroupRule :: !(Maybe PivotGroupRule)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PivotGroup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pgRepeatHeadings'+--+-- * 'pgValueMetadata'+--+-- * 'pgSourceColumnOffSet'+--+-- * 'pgSortOrder'+--+-- * 'pgShowTotals'+--+-- * 'pgValueBucket'+--+-- * 'pgLabel'+--+-- * 'pgGroupRule'+pivotGroup+ :: PivotGroup+pivotGroup =+ PivotGroup'+ { _pgRepeatHeadings = Nothing+ , _pgValueMetadata = Nothing+ , _pgSourceColumnOffSet = Nothing+ , _pgSortOrder = Nothing+ , _pgShowTotals = Nothing+ , _pgValueBucket = Nothing+ , _pgLabel = Nothing+ , _pgGroupRule = Nothing+ }++-- | True if the headings in this pivot group should be repeated. This is+-- only valid for row groupings and is ignored by columns. By default, we+-- minimize repitition of headings by not showing higher level headings+-- where they are the same. For example, even though the third row below+-- corresponds to \"Q1 Mar\", \"Q1\" is not shown because it is redundant+-- with previous rows. Setting repeat_headings to true would cause \"Q1\"+-- to be repeated for \"Feb\" and \"Mar\". +--------------+ | Q1 | Jan | |+-- | Feb | | | Mar | +--------+-----+ | Q1 Total | +--------------++pgRepeatHeadings :: Lens' PivotGroup (Maybe Bool)+pgRepeatHeadings+ = lens _pgRepeatHeadings+ (\ s a -> s{_pgRepeatHeadings = a})++-- | Metadata about values in the grouping.+pgValueMetadata :: Lens' PivotGroup [PivotGroupValueMetadata]+pgValueMetadata+ = lens _pgValueMetadata+ (\ s a -> s{_pgValueMetadata = a})+ . _Default+ . _Coerce++-- | The column offset of the source range that this grouping is based on.+-- For example, if the source was \`C10:E15\`, a \`sourceColumnOffset\` of+-- \`0\` means this group refers to column \`C\`, whereas the offset \`1\`+-- would refer to column \`D\`.+pgSourceColumnOffSet :: Lens' PivotGroup (Maybe Int32)+pgSourceColumnOffSet+ = lens _pgSourceColumnOffSet+ (\ s a -> s{_pgSourceColumnOffSet = a})+ . mapping _Coerce++-- | The order the values in this group should be sorted.+pgSortOrder :: Lens' PivotGroup (Maybe PivotGroupSortOrder)+pgSortOrder+ = lens _pgSortOrder (\ s a -> s{_pgSortOrder = a})++-- | True if the pivot table should include the totals for this grouping.+pgShowTotals :: Lens' PivotGroup (Maybe Bool)+pgShowTotals+ = lens _pgShowTotals (\ s a -> s{_pgShowTotals = a})++-- | The bucket of the opposite pivot group to sort by. If not specified,+-- sorting is alphabetical by this group\'s values.+pgValueBucket :: Lens' PivotGroup (Maybe PivotGroupSortValueBucket)+pgValueBucket+ = lens _pgValueBucket+ (\ s a -> s{_pgValueBucket = a})++-- | The labels to use for the row\/column groups which can be customized.+-- For example, in the following pivot table, the row label is \`Region\`+-- (which could be renamed to \`State\`) and the column label is+-- \`Product\` (which could be renamed \`Item\`). Pivot tables created+-- before December 2017 do not have header labels. If you\'d like to add+-- header labels to an existing pivot table, please delete the existing+-- pivot table and then create a new pivot table with same parameters.+-- +--------------+---------+-------+ | SUM of Units | Product | | | Region+-- | Pen | Paper | +--------------+---------+-------+ | New York | 345 | 98+-- | | Oregon | 234 | 123 | | Tennessee | 531 | 415 |+-- +--------------+---------+-------+ | Grand Total | 1110 | 636 |+-- +--------------+---------+-------++pgLabel :: Lens' PivotGroup (Maybe Text)+pgLabel = lens _pgLabel (\ s a -> s{_pgLabel = a})++-- | The group rule to apply to this row\/column group.+pgGroupRule :: Lens' PivotGroup (Maybe PivotGroupRule)+pgGroupRule+ = lens _pgGroupRule (\ s a -> s{_pgGroupRule = a})++instance FromJSON PivotGroup where+ parseJSON+ = withObject "PivotGroup"+ (\ o ->+ PivotGroup' <$>+ (o .:? "repeatHeadings") <*>+ (o .:? "valueMetadata" .!= mempty)+ <*> (o .:? "sourceColumnOffset")+ <*> (o .:? "sortOrder")+ <*> (o .:? "showTotals")+ <*> (o .:? "valueBucket")+ <*> (o .:? "label")+ <*> (o .:? "groupRule"))++instance ToJSON PivotGroup where+ toJSON PivotGroup'{..}+ = object+ (catMaybes+ [("repeatHeadings" .=) <$> _pgRepeatHeadings,+ ("valueMetadata" .=) <$> _pgValueMetadata,+ ("sourceColumnOffset" .=) <$> _pgSourceColumnOffSet,+ ("sortOrder" .=) <$> _pgSortOrder,+ ("showTotals" .=) <$> _pgShowTotals,+ ("valueBucket" .=) <$> _pgValueBucket,+ ("label" .=) <$> _pgLabel,+ ("groupRule" .=) <$> _pgGroupRule])++-- | The result of adding a banded range.+--+-- /See:/ 'addBandingResponse' smart constructor.+newtype AddBandingResponse = AddBandingResponse'+ { _aBandedRange :: Maybe BandedRange+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AddBandingResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aBandedRange'+addBandingResponse+ :: AddBandingResponse+addBandingResponse =+ AddBandingResponse'+ { _aBandedRange = Nothing+ }++-- | The banded range that was added.+aBandedRange :: Lens' AddBandingResponse (Maybe BandedRange)+aBandedRange+ = lens _aBandedRange (\ s a -> s{_aBandedRange = a})++instance FromJSON AddBandingResponse where+ parseJSON+ = withObject "AddBandingResponse"+ (\ o ->+ AddBandingResponse' <$> (o .:? "bandedRange"))++instance ToJSON AddBandingResponse where+ toJSON AddBandingResponse'{..}+ = object+ (catMaybes [("bandedRange" .=) <$> _aBandedRange])++-- | An </chart/interactive/docs/gallery/orgchart org chart>. Org charts+-- require a unique set of labels in labels and may optionally include+-- parent_labels and tooltips. parent_labels contain, for each node, the+-- label identifying the parent node. tooltips contain, for each node, an+-- optional tooltip. For example, to describe an OrgChart with Alice as the+-- CEO, Bob as the President (reporting to Alice) and Cathy as VP of Sales+-- (also reporting to Alice), have labels contain \"Alice\", \"Bob\",+-- \"Cathy\", parent_labels contain \"\", \"Alice\", \"Alice\" and tooltips+-- contain \"CEO\", \"President\", \"VP Sales\".+--+-- /See:/ 'orgChartSpec' smart constructor.+data OrgChartSpec = OrgChartSpec'+ { _ocsNodeColor :: !(Maybe Color)+ , _ocsNodeSize :: !(Maybe OrgChartSpecNodeSize)+ , _ocsTooltips :: !(Maybe ChartData)+ , _ocsSelectedNodeColor :: !(Maybe Color)+ , _ocsLabels :: !(Maybe ChartData)+ , _ocsParentLabels :: !(Maybe ChartData)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'OrgChartSpec' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ocsNodeColor'+--+-- * 'ocsNodeSize'+--+-- * 'ocsTooltips'+--+-- * 'ocsSelectedNodeColor'+--+-- * 'ocsLabels'+--+-- * 'ocsParentLabels'+orgChartSpec+ :: OrgChartSpec+orgChartSpec =+ OrgChartSpec'+ { _ocsNodeColor = Nothing+ , _ocsNodeSize = Nothing+ , _ocsTooltips = Nothing+ , _ocsSelectedNodeColor = Nothing+ , _ocsLabels = Nothing+ , _ocsParentLabels = Nothing+ }++-- | The color of the org chart nodes.+ocsNodeColor :: Lens' OrgChartSpec (Maybe Color)+ocsNodeColor+ = lens _ocsNodeColor (\ s a -> s{_ocsNodeColor = a})++-- | The size of the org chart nodes.+ocsNodeSize :: Lens' OrgChartSpec (Maybe OrgChartSpecNodeSize)+ocsNodeSize+ = lens _ocsNodeSize (\ s a -> s{_ocsNodeSize = a})++-- | The data containing the tooltip for the corresponding node. A blank+-- value results in no tooltip being displayed for the node. This field is+-- optional.+ocsTooltips :: Lens' OrgChartSpec (Maybe ChartData)+ocsTooltips+ = lens _ocsTooltips (\ s a -> s{_ocsTooltips = a})++-- | The color of the selected org chart nodes.+ocsSelectedNodeColor :: Lens' OrgChartSpec (Maybe Color)+ocsSelectedNodeColor+ = lens _ocsSelectedNodeColor+ (\ s a -> s{_ocsSelectedNodeColor = a})++-- | The data containing the labels for all the nodes in the chart. Labels+-- must be unique.+ocsLabels :: Lens' OrgChartSpec (Maybe ChartData)+ocsLabels+ = lens _ocsLabels (\ s a -> s{_ocsLabels = a})++-- | The data containing the label of the parent for the corresponding node.+-- A blank value indicates that the node has no parent and is a top-level+-- node. This field is optional.+ocsParentLabels :: Lens' OrgChartSpec (Maybe ChartData)+ocsParentLabels+ = lens _ocsParentLabels+ (\ s a -> s{_ocsParentLabels = a})++instance FromJSON OrgChartSpec where+ parseJSON+ = withObject "OrgChartSpec"+ (\ o ->+ OrgChartSpec' <$>+ (o .:? "nodeColor") <*> (o .:? "nodeSize") <*>+ (o .:? "tooltips")+ <*> (o .:? "selectedNodeColor")+ <*> (o .:? "labels")+ <*> (o .:? "parentLabels"))++instance ToJSON OrgChartSpec where+ toJSON OrgChartSpec'{..}+ = object+ (catMaybes+ [("nodeColor" .=) <$> _ocsNodeColor,+ ("nodeSize" .=) <$> _ocsNodeSize,+ ("tooltips" .=) <$> _ocsTooltips,+ ("selectedNodeColor" .=) <$> _ocsSelectedNodeColor,+ ("labels" .=) <$> _ocsLabels,+ ("parentLabels" .=) <$> _ocsParentLabels])++-- | Randomizes the order of the rows in a range.+--+-- /See:/ 'randomizeRangeRequest' smart constructor.+newtype RandomizeRangeRequest = RandomizeRangeRequest'+ { _rrrRange :: Maybe GridRange+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RandomizeRangeRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rrrRange'+randomizeRangeRequest+ :: RandomizeRangeRequest+randomizeRangeRequest =+ RandomizeRangeRequest'+ { _rrrRange = Nothing+ }++-- | The range to randomize.+rrrRange :: Lens' RandomizeRangeRequest (Maybe GridRange)+rrrRange = lens _rrrRange (\ s a -> s{_rrrRange = a})++instance FromJSON RandomizeRangeRequest where+ parseJSON+ = withObject "RandomizeRangeRequest"+ (\ o -> RandomizeRangeRequest' <$> (o .:? "range"))++instance ToJSON RandomizeRangeRequest where+ toJSON RandomizeRangeRequest'{..}+ = object (catMaybes [("range" .=) <$> _rrrRange])++-- | A histogram series containing the series color and data.+--+-- /See:/ 'histogramSeries' smart constructor.+data HistogramSeries = HistogramSeries'+ { _hsBarColor :: !(Maybe Color)+ , _hsData :: !(Maybe ChartData)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HistogramSeries' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hsBarColor'+--+-- * 'hsData'+histogramSeries+ :: HistogramSeries+histogramSeries =+ HistogramSeries'+ { _hsBarColor = Nothing+ , _hsData = Nothing+ }++-- | The color of the column representing this series in each bucket. This+-- field is optional.+hsBarColor :: Lens' HistogramSeries (Maybe Color)+hsBarColor+ = lens _hsBarColor (\ s a -> s{_hsBarColor = a})++-- | The data for this histogram series.+hsData :: Lens' HistogramSeries (Maybe ChartData)+hsData = lens _hsData (\ s a -> s{_hsData = a})++instance FromJSON HistogramSeries where+ parseJSON+ = withObject "HistogramSeries"+ (\ o ->+ HistogramSeries' <$>+ (o .:? "barColor") <*> (o .:? "data"))++instance ToJSON HistogramSeries where+ toJSON HistogramSeries'{..}+ = object+ (catMaybes+ [("barColor" .=) <$> _hsBarColor,+ ("data" .=) <$> _hsData])++-- | A </chart/interactive/docs/gallery/treemap Treemap chart>.+--+-- /See:/ 'treemapChartSpec' smart constructor.+data TreemapChartSpec = TreemapChartSpec'+ { _tcsHintedLevels :: !(Maybe (Textual Int32))+ , _tcsMaxValue :: !(Maybe (Textual Double))+ , _tcsHeaderColor :: !(Maybe Color)+ , _tcsSizeData :: !(Maybe ChartData)+ , _tcsColorData :: !(Maybe ChartData)+ , _tcsHideTooltips :: !(Maybe Bool)+ , _tcsLevels :: !(Maybe (Textual Int32))+ , _tcsLabels :: !(Maybe ChartData)+ , _tcsColorScale :: !(Maybe TreemapChartColorScale)+ , _tcsTextFormat :: !(Maybe TextFormat)+ , _tcsMinValue :: !(Maybe (Textual Double))+ , _tcsParentLabels :: !(Maybe ChartData)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TreemapChartSpec' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tcsHintedLevels'+--+-- * 'tcsMaxValue'+--+-- * 'tcsHeaderColor'+--+-- * 'tcsSizeData'+--+-- * 'tcsColorData'+--+-- * 'tcsHideTooltips'+--+-- * 'tcsLevels'+--+-- * 'tcsLabels'+--+-- * 'tcsColorScale'+--+-- * 'tcsTextFormat'+--+-- * 'tcsMinValue'+--+-- * 'tcsParentLabels'+treemapChartSpec+ :: TreemapChartSpec+treemapChartSpec =+ TreemapChartSpec'+ { _tcsHintedLevels = Nothing+ , _tcsMaxValue = Nothing+ , _tcsHeaderColor = Nothing+ , _tcsSizeData = Nothing+ , _tcsColorData = Nothing+ , _tcsHideTooltips = Nothing+ , _tcsLevels = Nothing+ , _tcsLabels = Nothing+ , _tcsColorScale = Nothing+ , _tcsTextFormat = Nothing+ , _tcsMinValue = Nothing+ , _tcsParentLabels = Nothing+ }++-- | The number of additional data levels beyond the labeled levels to be+-- shown on the treemap chart. These levels are not interactive and are+-- shown without their labels. Defaults to 0 if not specified.+tcsHintedLevels :: Lens' TreemapChartSpec (Maybe Int32)+tcsHintedLevels+ = lens _tcsHintedLevels+ (\ s a -> s{_tcsHintedLevels = a})+ . mapping _Coerce++-- | The maximum possible data value. Cells with values greater than this+-- will have the same color as cells with this value. If not specified,+-- defaults to the actual maximum value from color_data, or the maximum+-- value from size_data if color_data is not specified.+tcsMaxValue :: Lens' TreemapChartSpec (Maybe Double)+tcsMaxValue+ = lens _tcsMaxValue (\ s a -> s{_tcsMaxValue = a}) .+ mapping _Coerce++-- | The background color for header cells.+tcsHeaderColor :: Lens' TreemapChartSpec (Maybe Color)+tcsHeaderColor+ = lens _tcsHeaderColor+ (\ s a -> s{_tcsHeaderColor = a})++-- | The data that determines the size of each treemap data cell. This data+-- is expected to be numeric. The cells corresponding to non-numeric or+-- missing data will not be rendered. If color_data is not specified, this+-- data is used to determine data cell background colors as well.+tcsSizeData :: Lens' TreemapChartSpec (Maybe ChartData)+tcsSizeData+ = lens _tcsSizeData (\ s a -> s{_tcsSizeData = a})++-- | The data that determines the background color of each treemap data cell.+-- This field is optional. If not specified, size_data is used to determine+-- background colors. If specified, the data is expected to be numeric.+-- color_scale will determine how the values in this data map to data cell+-- background colors.+tcsColorData :: Lens' TreemapChartSpec (Maybe ChartData)+tcsColorData+ = lens _tcsColorData (\ s a -> s{_tcsColorData = a})++-- | True to hide tooltips.+tcsHideTooltips :: Lens' TreemapChartSpec (Maybe Bool)+tcsHideTooltips+ = lens _tcsHideTooltips+ (\ s a -> s{_tcsHideTooltips = a})++-- | The number of data levels to show on the treemap chart. These levels are+-- interactive and are shown with their labels. Defaults to 2 if not+-- specified.+tcsLevels :: Lens' TreemapChartSpec (Maybe Int32)+tcsLevels+ = lens _tcsLevels (\ s a -> s{_tcsLevels = a}) .+ mapping _Coerce++-- | The data that contains the treemap cell labels.+tcsLabels :: Lens' TreemapChartSpec (Maybe ChartData)+tcsLabels+ = lens _tcsLabels (\ s a -> s{_tcsLabels = a})++-- | The color scale for data cells in the treemap chart. Data cells are+-- assigned colors based on their color values. These color values come+-- from color_data, or from size_data if color_data is not specified. Cells+-- with color values less than or equal to min_value will have+-- minValueColor as their background color. Cells with color values greater+-- than or equal to max_value will have maxValueColor as their background+-- color. Cells with color values between min_value and max_value will have+-- background colors on a gradient between minValueColor and maxValueColor,+-- the midpoint of the gradient being midValueColor. Cells with missing or+-- non-numeric color values will have noDataColor as their background+-- color.+tcsColorScale :: Lens' TreemapChartSpec (Maybe TreemapChartColorScale)+tcsColorScale+ = lens _tcsColorScale+ (\ s a -> s{_tcsColorScale = a})++-- | The text format for all labels on the chart.+tcsTextFormat :: Lens' TreemapChartSpec (Maybe TextFormat)+tcsTextFormat+ = lens _tcsTextFormat+ (\ s a -> s{_tcsTextFormat = a})++-- | The minimum possible data value. Cells with values less than this will+-- have the same color as cells with this value. If not specified, defaults+-- to the actual minimum value from color_data, or the minimum value from+-- size_data if color_data is not specified.+tcsMinValue :: Lens' TreemapChartSpec (Maybe Double)+tcsMinValue+ = lens _tcsMinValue (\ s a -> s{_tcsMinValue = a}) .+ mapping _Coerce++-- | The data the contains the treemap cells\' parent labels.+tcsParentLabels :: Lens' TreemapChartSpec (Maybe ChartData)+tcsParentLabels+ = lens _tcsParentLabels+ (\ s a -> s{_tcsParentLabels = a})++instance FromJSON TreemapChartSpec where+ parseJSON+ = withObject "TreemapChartSpec"+ (\ o ->+ TreemapChartSpec' <$>+ (o .:? "hintedLevels") <*> (o .:? "maxValue") <*>+ (o .:? "headerColor")+ <*> (o .:? "sizeData")+ <*> (o .:? "colorData")+ <*> (o .:? "hideTooltips")+ <*> (o .:? "levels")+ <*> (o .:? "labels")+ <*> (o .:? "colorScale")+ <*> (o .:? "textFormat")+ <*> (o .:? "minValue")+ <*> (o .:? "parentLabels"))++instance ToJSON TreemapChartSpec where+ toJSON TreemapChartSpec'{..}+ = object+ (catMaybes+ [("hintedLevels" .=) <$> _tcsHintedLevels,+ ("maxValue" .=) <$> _tcsMaxValue,+ ("headerColor" .=) <$> _tcsHeaderColor,+ ("sizeData" .=) <$> _tcsSizeData,+ ("colorData" .=) <$> _tcsColorData,+ ("hideTooltips" .=) <$> _tcsHideTooltips,+ ("levels" .=) <$> _tcsLevels,+ ("labels" .=) <$> _tcsLabels,+ ("colorScale" .=) <$> _tcsColorScale,+ ("textFormat" .=) <$> _tcsTextFormat,+ ("minValue" .=) <$> _tcsMinValue,+ ("parentLabels" .=) <$> _tcsParentLabels])++-- | A rule describing a conditional format.+--+-- /See:/ 'conditionalFormatRule' smart constructor.+data ConditionalFormatRule = ConditionalFormatRule'+ { _cfrBooleanRule :: !(Maybe BooleanRule)+ , _cfrGradientRule :: !(Maybe GradientRule)+ , _cfrRanges :: !(Maybe [GridRange])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ConditionalFormatRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cfrBooleanRule'+--+-- * 'cfrGradientRule'+--+-- * 'cfrRanges'+conditionalFormatRule+ :: ConditionalFormatRule+conditionalFormatRule =+ ConditionalFormatRule'+ { _cfrBooleanRule = Nothing+ , _cfrGradientRule = Nothing+ , _cfrRanges = Nothing+ }++-- | The formatting is either \"on\" or \"off\" according to the rule.+cfrBooleanRule :: Lens' ConditionalFormatRule (Maybe BooleanRule)+cfrBooleanRule+ = lens _cfrBooleanRule+ (\ s a -> s{_cfrBooleanRule = a})++-- | The formatting will vary based on the gradients in the rule.+cfrGradientRule :: Lens' ConditionalFormatRule (Maybe GradientRule)+cfrGradientRule+ = lens _cfrGradientRule+ (\ s a -> s{_cfrGradientRule = a})++-- | The ranges that are formatted if the condition is true. All the ranges+-- must be on the same grid.+cfrRanges :: Lens' ConditionalFormatRule [GridRange]+cfrRanges+ = lens _cfrRanges (\ s a -> s{_cfrRanges = a}) .+ _Default+ . _Coerce++instance FromJSON ConditionalFormatRule where+ parseJSON+ = withObject "ConditionalFormatRule"+ (\ o ->+ ConditionalFormatRule' <$>+ (o .:? "booleanRule") <*> (o .:? "gradientRule") <*>+ (o .:? "ranges" .!= mempty))++instance ToJSON ConditionalFormatRule where+ toJSON ConditionalFormatRule'{..}+ = object+ (catMaybes+ [("booleanRule" .=) <$> _cfrBooleanRule,+ ("gradientRule" .=) <$> _cfrGradientRule,+ ("ranges" .=) <$> _cfrRanges])++-- | The specification for a basic chart. See BasicChartType for the list of+-- charts this supports.+--+-- /See:/ 'basicChartSpec' smart constructor.+data BasicChartSpec = BasicChartSpec'+ { _basHeaderCount :: !(Maybe (Textual Int32))+ , _basLineSmoothing :: !(Maybe Bool)+ , _basInterpolateNulls :: !(Maybe Bool)+ , _basStackedType :: !(Maybe BasicChartSpecStackedType)+ , _basLegendPosition :: !(Maybe BasicChartSpecLegendPosition)+ , _basSeries :: !(Maybe [BasicChartSeries])+ , _basCompareMode :: !(Maybe BasicChartSpecCompareMode)+ , _basChartType :: !(Maybe BasicChartSpecChartType)+ , _basThreeDimensional :: !(Maybe Bool)+ , _basDomains :: !(Maybe [BasicChartDomain])+ , _basAxis :: !(Maybe [BasicChartAxis])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BasicChartSpec' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'basHeaderCount'+--+-- * 'basLineSmoothing'+--+-- * 'basInterpolateNulls'+--+-- * 'basStackedType'+--+-- * 'basLegendPosition'+--+-- * 'basSeries'+--+-- * 'basCompareMode'+--+-- * 'basChartType'+--+-- * 'basThreeDimensional'+--+-- * 'basDomains'+--+-- * 'basAxis'+basicChartSpec+ :: BasicChartSpec+basicChartSpec =+ BasicChartSpec'+ { _basHeaderCount = Nothing+ , _basLineSmoothing = Nothing+ , _basInterpolateNulls = Nothing+ , _basStackedType = Nothing+ , _basLegendPosition = Nothing+ , _basSeries = Nothing+ , _basCompareMode = Nothing+ , _basChartType = Nothing+ , _basThreeDimensional = Nothing+ , _basDomains = Nothing+ , _basAxis = Nothing+ }++-- | The number of rows or columns in the data that are \"headers\". If not+-- set, Google Sheets will guess how many rows are headers based on the+-- data. (Note that BasicChartAxis.title may override the axis title+-- inferred from the header values.)+basHeaderCount :: Lens' BasicChartSpec (Maybe Int32)+basHeaderCount+ = lens _basHeaderCount+ (\ s a -> s{_basHeaderCount = a})+ . mapping _Coerce++-- | Gets whether all lines should be rendered smooth or straight by default.+-- Applies to Line charts.+basLineSmoothing :: Lens' BasicChartSpec (Maybe Bool)+basLineSmoothing+ = lens _basLineSmoothing+ (\ s a -> s{_basLineSmoothing = a})++-- | If some values in a series are missing, gaps may appear in the chart+-- (e.g, segments of lines in a line chart will be missing). To eliminate+-- these gaps set this to true. Applies to Line, Area, and Combo charts.+basInterpolateNulls :: Lens' BasicChartSpec (Maybe Bool)+basInterpolateNulls+ = lens _basInterpolateNulls+ (\ s a -> s{_basInterpolateNulls = a})++-- | The stacked type for charts that support vertical stacking. Applies to+-- Area, Bar, Column, Combo, and Stepped Area charts.+basStackedType :: Lens' BasicChartSpec (Maybe BasicChartSpecStackedType)+basStackedType+ = lens _basStackedType+ (\ s a -> s{_basStackedType = a})++-- | The position of the chart legend.+basLegendPosition :: Lens' BasicChartSpec (Maybe BasicChartSpecLegendPosition)+basLegendPosition+ = lens _basLegendPosition+ (\ s a -> s{_basLegendPosition = a})++-- | The data this chart is visualizing.+basSeries :: Lens' BasicChartSpec [BasicChartSeries]+basSeries+ = lens _basSeries (\ s a -> s{_basSeries = a}) .+ _Default+ . _Coerce++-- | The behavior of tooltips and data highlighting when hovering on data and+-- chart area.+basCompareMode :: Lens' BasicChartSpec (Maybe BasicChartSpecCompareMode)+basCompareMode+ = lens _basCompareMode+ (\ s a -> s{_basCompareMode = a})++-- | The type of the chart.+basChartType :: Lens' BasicChartSpec (Maybe BasicChartSpecChartType)+basChartType+ = lens _basChartType (\ s a -> s{_basChartType = a})++-- | True to make the chart 3D. Applies to Bar and Column charts.+basThreeDimensional :: Lens' BasicChartSpec (Maybe Bool)+basThreeDimensional+ = lens _basThreeDimensional+ (\ s a -> s{_basThreeDimensional = a})++-- | The domain of data this is charting. Only a single domain is supported.+basDomains :: Lens' BasicChartSpec [BasicChartDomain]+basDomains+ = lens _basDomains (\ s a -> s{_basDomains = a}) .+ _Default+ . _Coerce++-- | The axis on the chart.+basAxis :: Lens' BasicChartSpec [BasicChartAxis]+basAxis+ = lens _basAxis (\ s a -> s{_basAxis = a}) . _Default+ . _Coerce++instance FromJSON BasicChartSpec where+ parseJSON+ = withObject "BasicChartSpec"+ (\ o ->+ BasicChartSpec' <$>+ (o .:? "headerCount") <*> (o .:? "lineSmoothing") <*>+ (o .:? "interpolateNulls")+ <*> (o .:? "stackedType")+ <*> (o .:? "legendPosition")+ <*> (o .:? "series" .!= mempty)+ <*> (o .:? "compareMode")+ <*> (o .:? "chartType")+ <*> (o .:? "threeDimensional")+ <*> (o .:? "domains" .!= mempty)+ <*> (o .:? "axis" .!= mempty))++instance ToJSON BasicChartSpec where+ toJSON BasicChartSpec'{..}+ = object+ (catMaybes+ [("headerCount" .=) <$> _basHeaderCount,+ ("lineSmoothing" .=) <$> _basLineSmoothing,+ ("interpolateNulls" .=) <$> _basInterpolateNulls,+ ("stackedType" .=) <$> _basStackedType,+ ("legendPosition" .=) <$> _basLegendPosition,+ ("series" .=) <$> _basSeries,+ ("compareMode" .=) <$> _basCompareMode,+ ("chartType" .=) <$> _basChartType,+ ("threeDimensional" .=) <$> _basThreeDimensional,+ ("domains" .=) <$> _basDomains,+ ("axis" .=) <$> _basAxis])++-- | A group name and a list of items from the source data that should be+-- placed in the group with this name.+--+-- /See:/ 'manualRuleGroup' smart constructor.+data ManualRuleGroup = ManualRuleGroup'+ { _mrgItems :: !(Maybe [ExtendedValue])+ , _mrgGroupName :: !(Maybe ExtendedValue)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ManualRuleGroup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mrgItems'+--+-- * 'mrgGroupName'+manualRuleGroup+ :: ManualRuleGroup+manualRuleGroup =+ ManualRuleGroup'+ { _mrgItems = Nothing+ , _mrgGroupName = Nothing+ }++-- | The items in the source data that should be placed into this group. Each+-- item may be a string, number, or boolean. Items may appear in at most+-- one group within a given ManualRule. Items that do not appear in any+-- group will appear on their own.+mrgItems :: Lens' ManualRuleGroup [ExtendedValue]+mrgItems+ = lens _mrgItems (\ s a -> s{_mrgItems = a}) .+ _Default+ . _Coerce++-- | The group name, which must be a string. Each group in a given ManualRule+-- must have a unique group name.+mrgGroupName :: Lens' ManualRuleGroup (Maybe ExtendedValue)+mrgGroupName+ = lens _mrgGroupName (\ s a -> s{_mrgGroupName = a})++instance FromJSON ManualRuleGroup where+ parseJSON+ = withObject "ManualRuleGroup"+ (\ o ->+ ManualRuleGroup' <$>+ (o .:? "items" .!= mempty) <*> (o .:? "groupName"))++instance ToJSON ManualRuleGroup where+ toJSON ManualRuleGroup'{..}+ = object+ (catMaybes+ [("items" .=) <$> _mrgItems,+ ("groupName" .=) <$> _mrgGroupName])++-- | Adds a new conditional format rule at the given index. All subsequent+-- rules\' indexes are incremented.+--+-- /See:/ 'addConditionalFormatRuleRequest' smart constructor.+data AddConditionalFormatRuleRequest = AddConditionalFormatRuleRequest'+ { _acfrrRule :: !(Maybe ConditionalFormatRule)+ , _acfrrIndex :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AddConditionalFormatRuleRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'acfrrRule'+--+-- * 'acfrrIndex'+addConditionalFormatRuleRequest+ :: AddConditionalFormatRuleRequest+addConditionalFormatRuleRequest =+ AddConditionalFormatRuleRequest'+ { _acfrrRule = Nothing+ , _acfrrIndex = Nothing+ }++-- | The rule to add.+acfrrRule :: Lens' AddConditionalFormatRuleRequest (Maybe ConditionalFormatRule)+acfrrRule+ = lens _acfrrRule (\ s a -> s{_acfrrRule = a})++-- | The zero-based index where the rule should be inserted.+acfrrIndex :: Lens' AddConditionalFormatRuleRequest (Maybe Int32)+acfrrIndex+ = lens _acfrrIndex (\ s a -> s{_acfrrIndex = a}) .+ mapping _Coerce++instance FromJSON AddConditionalFormatRuleRequest+ where+ parseJSON+ = withObject "AddConditionalFormatRuleRequest"+ (\ o ->+ AddConditionalFormatRuleRequest' <$>+ (o .:? "rule") <*> (o .:? "index"))++instance ToJSON AddConditionalFormatRuleRequest where+ toJSON AddConditionalFormatRuleRequest'{..}+ = object+ (catMaybes+ [("rule" .=) <$> _acfrrRule,+ ("index" .=) <$> _acfrrIndex])++-- | Developer metadata associated with a location or object in a+-- spreadsheet. Developer metadata may be used to associate arbitrary data+-- with various parts of a spreadsheet and will remain associated at those+-- locations as they move around and the spreadsheet is edited. For+-- example, if developer metadata is associated with row 5 and another row+-- is then subsequently inserted above row 5, that original metadata will+-- still be associated with the row it was first associated with (what is+-- now row 6). If the associated object is deleted its metadata is deleted+-- too.+--+-- /See:/ 'developerMetadata' smart constructor.+data DeveloperMetadata = DeveloperMetadata'+ { _dmLocation :: !(Maybe DeveloperMetadataLocation)+ , _dmMetadataId :: !(Maybe (Textual Int32))+ , _dmVisibility :: !(Maybe DeveloperMetadataVisibility)+ , _dmMetadataKey :: !(Maybe Text)+ , _dmMetadataValue :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeveloperMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dmLocation'+--+-- * 'dmMetadataId'+--+-- * 'dmVisibility'+--+-- * 'dmMetadataKey'+--+-- * 'dmMetadataValue'+developerMetadata+ :: DeveloperMetadata+developerMetadata =+ DeveloperMetadata'+ { _dmLocation = Nothing+ , _dmMetadataId = Nothing+ , _dmVisibility = Nothing+ , _dmMetadataKey = Nothing+ , _dmMetadataValue = Nothing+ }++-- | The location where the metadata is associated.+dmLocation :: Lens' DeveloperMetadata (Maybe DeveloperMetadataLocation)+dmLocation+ = lens _dmLocation (\ s a -> s{_dmLocation = a})++-- | The spreadsheet-scoped unique ID that identifies the metadata. IDs may+-- be specified when metadata is created, otherwise one will be randomly+-- generated and assigned. Must be positive.+dmMetadataId :: Lens' DeveloperMetadata (Maybe Int32)+dmMetadataId+ = lens _dmMetadataId (\ s a -> s{_dmMetadataId = a})+ . mapping _Coerce++-- | The metadata visibility. Developer metadata must always have a+-- visibility specified.+dmVisibility :: Lens' DeveloperMetadata (Maybe DeveloperMetadataVisibility)+dmVisibility+ = lens _dmVisibility (\ s a -> s{_dmVisibility = a})++-- | The metadata key. There may be multiple metadata in a spreadsheet with+-- the same key. Developer metadata must always have a key specified.+dmMetadataKey :: Lens' DeveloperMetadata (Maybe Text)+dmMetadataKey+ = lens _dmMetadataKey+ (\ s a -> s{_dmMetadataKey = a})++-- | Data associated with the metadata\'s key.+dmMetadataValue :: Lens' DeveloperMetadata (Maybe Text)+dmMetadataValue+ = lens _dmMetadataValue+ (\ s a -> s{_dmMetadataValue = a})++instance FromJSON DeveloperMetadata where+ parseJSON+ = withObject "DeveloperMetadata"+ (\ o ->+ DeveloperMetadata' <$>+ (o .:? "location") <*> (o .:? "metadataId") <*>+ (o .:? "visibility")+ <*> (o .:? "metadataKey")+ <*> (o .:? "metadataValue"))++instance ToJSON DeveloperMetadata where+ toJSON DeveloperMetadata'{..}+ = object+ (catMaybes+ [("location" .=) <$> _dmLocation,+ ("metadataId" .=) <$> _dmMetadataId,+ ("visibility" .=) <$> _dmVisibility,+ ("metadataKey" .=) <$> _dmMetadataKey,+ ("metadataValue" .=) <$> _dmMetadataValue])++-- | A color scale for a treemap chart.+--+-- /See:/ 'treemapChartColorScale' smart constructor.+data TreemapChartColorScale = TreemapChartColorScale'+ { _tccsMinValueColor :: !(Maybe Color)+ , _tccsNoDataColor :: !(Maybe Color)+ , _tccsMaxValueColor :: !(Maybe Color)+ , _tccsMidValueColor :: !(Maybe Color)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TreemapChartColorScale' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tccsMinValueColor'+--+-- * 'tccsNoDataColor'+--+-- * 'tccsMaxValueColor'+--+-- * 'tccsMidValueColor'+treemapChartColorScale+ :: TreemapChartColorScale+treemapChartColorScale =+ TreemapChartColorScale'+ { _tccsMinValueColor = Nothing+ , _tccsNoDataColor = Nothing+ , _tccsMaxValueColor = Nothing+ , _tccsMidValueColor = Nothing+ }++-- | The background color for cells with a color value less than or equal to+-- minValue. Defaults to #dc3912 if not specified.+tccsMinValueColor :: Lens' TreemapChartColorScale (Maybe Color)+tccsMinValueColor+ = lens _tccsMinValueColor+ (\ s a -> s{_tccsMinValueColor = a})++-- | The background color for cells that have no color data associated with+-- them. Defaults to #000000 if not specified.+tccsNoDataColor :: Lens' TreemapChartColorScale (Maybe Color)+tccsNoDataColor+ = lens _tccsNoDataColor+ (\ s a -> s{_tccsNoDataColor = a})++-- | The background color for cells with a color value greater than or equal+-- to maxValue. Defaults to #109618 if not specified.+tccsMaxValueColor :: Lens' TreemapChartColorScale (Maybe Color)+tccsMaxValueColor+ = lens _tccsMaxValueColor+ (\ s a -> s{_tccsMaxValueColor = a})++-- | The background color for cells with a color value at the midpoint+-- between minValue and maxValue. Defaults to #efe6dc if not specified.+tccsMidValueColor :: Lens' TreemapChartColorScale (Maybe Color)+tccsMidValueColor+ = lens _tccsMidValueColor+ (\ s a -> s{_tccsMidValueColor = a})++instance FromJSON TreemapChartColorScale where+ parseJSON+ = withObject "TreemapChartColorScale"+ (\ o ->+ TreemapChartColorScale' <$>+ (o .:? "minValueColor") <*> (o .:? "noDataColor") <*>+ (o .:? "maxValueColor")+ <*> (o .:? "midValueColor"))++instance ToJSON TreemapChartColorScale where+ toJSON TreemapChartColorScale'{..}+ = object+ (catMaybes+ [("minValueColor" .=) <$> _tccsMinValueColor,+ ("noDataColor" .=) <$> _tccsNoDataColor,+ ("maxValueColor" .=) <$> _tccsMaxValueColor,+ ("midValueColor" .=) <$> _tccsMidValueColor])++-- | The result of duplicating a sheet.+--+-- /See:/ 'duplicateSheetResponse' smart constructor.+newtype DuplicateSheetResponse = DuplicateSheetResponse'+ { _dsrProperties :: Maybe SheetProperties+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DuplicateSheetResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsrProperties'+duplicateSheetResponse+ :: DuplicateSheetResponse+duplicateSheetResponse =+ DuplicateSheetResponse'+ { _dsrProperties = Nothing+ }++-- | The properties of the duplicate sheet.+dsrProperties :: Lens' DuplicateSheetResponse (Maybe SheetProperties)+dsrProperties+ = lens _dsrProperties+ (\ s a -> s{_dsrProperties = a})++instance FromJSON DuplicateSheetResponse where+ parseJSON+ = withObject "DuplicateSheetResponse"+ (\ o ->+ DuplicateSheetResponse' <$> (o .:? "properties"))++instance ToJSON DuplicateSheetResponse where+ toJSON DuplicateSheetResponse'{..}+ = object+ (catMaybes [("properties" .=) <$> _dsrProperties])++-- | The format of a run of text in a cell. Absent values indicate that the+-- field isn\'t specified.+--+-- /See:/ 'textFormat' smart constructor.+data TextFormat = TextFormat'+ { _tfFontFamily :: !(Maybe Text)+ , _tfForegRoundColor :: !(Maybe Color)+ , _tfFontSize :: !(Maybe (Textual Int32))+ , _tfUnderline :: !(Maybe Bool)+ , _tfItalic :: !(Maybe Bool)+ , _tfBold :: !(Maybe Bool)+ , _tfStrikethrough :: !(Maybe Bool)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TextFormat' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tfFontFamily'+--+-- * 'tfForegRoundColor'+--+-- * 'tfFontSize'+--+-- * 'tfUnderline'+--+-- * 'tfItalic'+--+-- * 'tfBold'+--+-- * 'tfStrikethrough'+textFormat+ :: TextFormat+textFormat =+ TextFormat'+ { _tfFontFamily = Nothing+ , _tfForegRoundColor = Nothing+ , _tfFontSize = Nothing+ , _tfUnderline = Nothing+ , _tfItalic = Nothing+ , _tfBold = Nothing+ , _tfStrikethrough = Nothing+ }++-- | The font family.+tfFontFamily :: Lens' TextFormat (Maybe Text)+tfFontFamily+ = lens _tfFontFamily (\ s a -> s{_tfFontFamily = a})++-- | The foreground color of the text.+tfForegRoundColor :: Lens' TextFormat (Maybe Color)+tfForegRoundColor+ = lens _tfForegRoundColor+ (\ s a -> s{_tfForegRoundColor = a})++-- | The size of the font.+tfFontSize :: Lens' TextFormat (Maybe Int32)+tfFontSize+ = lens _tfFontSize (\ s a -> s{_tfFontSize = a}) .+ mapping _Coerce++-- | True if the text is underlined.+tfUnderline :: Lens' TextFormat (Maybe Bool)+tfUnderline+ = lens _tfUnderline (\ s a -> s{_tfUnderline = a})++-- | True if the text is italicized.+tfItalic :: Lens' TextFormat (Maybe Bool)+tfItalic = lens _tfItalic (\ s a -> s{_tfItalic = a})++-- | True if the text is bold.+tfBold :: Lens' TextFormat (Maybe Bool)+tfBold = lens _tfBold (\ s a -> s{_tfBold = a})++-- | True if the text has a strikethrough.+tfStrikethrough :: Lens' TextFormat (Maybe Bool)+tfStrikethrough+ = lens _tfStrikethrough+ (\ s a -> s{_tfStrikethrough = a})++instance FromJSON TextFormat where+ parseJSON+ = withObject "TextFormat"+ (\ o ->+ TextFormat' <$>+ (o .:? "fontFamily") <*> (o .:? "foregroundColor")+ <*> (o .:? "fontSize")+ <*> (o .:? "underline")+ <*> (o .:? "italic")+ <*> (o .:? "bold")+ <*> (o .:? "strikethrough"))++instance ToJSON TextFormat where+ toJSON TextFormat'{..}+ = object+ (catMaybes+ [("fontFamily" .=) <$> _tfFontFamily,+ ("foregroundColor" .=) <$> _tfForegRoundColor,+ ("fontSize" .=) <$> _tfFontSize,+ ("underline" .=) <$> _tfUnderline,+ ("italic" .=) <$> _tfItalic, ("bold" .=) <$> _tfBold,+ ("strikethrough" .=) <$> _tfStrikethrough])++-- | A request to create developer metadata.+--+-- /See:/ 'createDeveloperMetadataRequest' smart constructor.+newtype CreateDeveloperMetadataRequest = CreateDeveloperMetadataRequest'+ { _cDeveloperMetadata :: Maybe DeveloperMetadata+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateDeveloperMetadataRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cDeveloperMetadata'+createDeveloperMetadataRequest+ :: CreateDeveloperMetadataRequest+createDeveloperMetadataRequest =+ CreateDeveloperMetadataRequest'+ { _cDeveloperMetadata = Nothing+ }++-- | The developer metadata to create.+cDeveloperMetadata :: Lens' CreateDeveloperMetadataRequest (Maybe DeveloperMetadata)+cDeveloperMetadata+ = lens _cDeveloperMetadata+ (\ s a -> s{_cDeveloperMetadata = a})++instance FromJSON CreateDeveloperMetadataRequest+ where+ parseJSON+ = withObject "CreateDeveloperMetadataRequest"+ (\ o ->+ CreateDeveloperMetadataRequest' <$>+ (o .:? "developerMetadata"))++instance ToJSON CreateDeveloperMetadataRequest where+ toJSON CreateDeveloperMetadataRequest'{..}+ = object+ (catMaybes+ [("developerMetadata" .=) <$> _cDeveloperMetadata])++-- | The response when clearing a range of values in a spreadsheet.+--+-- /See:/ 'batchClearValuesResponse' smart constructor.+data BatchClearValuesResponse = BatchClearValuesResponse'+ { _bcvrClearedRanges :: !(Maybe [Text])+ , _bcvrSpreadsheetId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BatchClearValuesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bcvrClearedRanges'+--+-- * 'bcvrSpreadsheetId'+batchClearValuesResponse+ :: BatchClearValuesResponse+batchClearValuesResponse =+ BatchClearValuesResponse'+ { _bcvrClearedRanges = Nothing+ , _bcvrSpreadsheetId = Nothing+ }++-- | The ranges that were cleared, in A1 notation. (If the requests were for+-- an unbounded range or a ranger larger than the bounds of the sheet, this+-- will be the actual ranges that were cleared, bounded to the sheet\'s+-- limits.)+bcvrClearedRanges :: Lens' BatchClearValuesResponse [Text]+bcvrClearedRanges+ = lens _bcvrClearedRanges+ (\ s a -> s{_bcvrClearedRanges = a})+ . _Default+ . _Coerce++-- | The spreadsheet the updates were applied to.+bcvrSpreadsheetId :: Lens' BatchClearValuesResponse (Maybe Text)+bcvrSpreadsheetId+ = lens _bcvrSpreadsheetId+ (\ s a -> s{_bcvrSpreadsheetId = a})++instance FromJSON BatchClearValuesResponse where+ parseJSON+ = withObject "BatchClearValuesResponse"+ (\ o ->+ BatchClearValuesResponse' <$>+ (o .:? "clearedRanges" .!= mempty) <*>+ (o .:? "spreadsheetId"))++instance ToJSON BatchClearValuesResponse where+ toJSON BatchClearValuesResponse'{..}+ = object+ (catMaybes+ [("clearedRanges" .=) <$> _bcvrClearedRanges,+ ("spreadsheetId" .=) <$> _bcvrSpreadsheetId])++-- | A value range that was matched by one or more data filers.+--+-- /See:/ 'matchedValueRange' smart constructor.+data MatchedValueRange = MatchedValueRange'+ { _mvrValueRange :: !(Maybe ValueRange)+ , _mvrDataFilters :: !(Maybe [DataFilter])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MatchedValueRange' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mvrValueRange'+--+-- * 'mvrDataFilters'+matchedValueRange+ :: MatchedValueRange+matchedValueRange =+ MatchedValueRange'+ { _mvrValueRange = Nothing+ , _mvrDataFilters = Nothing+ }++-- | The values matched by the DataFilter.+mvrValueRange :: Lens' MatchedValueRange (Maybe ValueRange)+mvrValueRange+ = lens _mvrValueRange+ (\ s a -> s{_mvrValueRange = a})++-- | The DataFilters from the request that matched the range of values.+mvrDataFilters :: Lens' MatchedValueRange [DataFilter]+mvrDataFilters+ = lens _mvrDataFilters+ (\ s a -> s{_mvrDataFilters = a})+ . _Default+ . _Coerce++instance FromJSON MatchedValueRange where+ parseJSON+ = withObject "MatchedValueRange"+ (\ o ->+ MatchedValueRange' <$>+ (o .:? "valueRange") <*>+ (o .:? "dataFilters" .!= mempty))++instance ToJSON MatchedValueRange where+ toJSON MatchedValueRange'{..}+ = object+ (catMaybes+ [("valueRange" .=) <$> _mvrValueRange,+ ("dataFilters" .=) <$> _mvrDataFilters])++-- | The domain of a chart. For example, if charting stock prices over time,+-- this would be the date.+--+-- /See:/ 'basicChartDomain' smart constructor.+data BasicChartDomain = BasicChartDomain'+ { _bcdReversed :: !(Maybe Bool)+ , _bcdDomain :: !(Maybe ChartData)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BasicChartDomain' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bcdReversed'+--+-- * 'bcdDomain'+basicChartDomain+ :: BasicChartDomain+basicChartDomain =+ BasicChartDomain'+ { _bcdReversed = Nothing+ , _bcdDomain = Nothing+ }++-- | True to reverse the order of the domain values (horizontal axis).+bcdReversed :: Lens' BasicChartDomain (Maybe Bool)+bcdReversed+ = lens _bcdReversed (\ s a -> s{_bcdReversed = a})++-- | The data of the domain. For example, if charting stock prices over time,+-- this is the data representing the dates.+bcdDomain :: Lens' BasicChartDomain (Maybe ChartData)+bcdDomain+ = lens _bcdDomain (\ s a -> s{_bcdDomain = a})++instance FromJSON BasicChartDomain where+ parseJSON+ = withObject "BasicChartDomain"+ (\ o ->+ BasicChartDomain' <$>+ (o .:? "reversed") <*> (o .:? "domain"))++instance ToJSON BasicChartDomain where+ toJSON BasicChartDomain'{..}+ = object+ (catMaybes+ [("reversed" .=) <$> _bcdReversed,+ ("domain" .=) <$> _bcdDomain])++-- | Allows you to organize the numeric values in a source data column into+-- buckets of a constant size. All values from HistogramRule.start to+-- HistogramRule.end are placed into groups of size HistogramRule.interval.+-- In addition, all values below HistogramRule.start are placed in one+-- group, and all values above HistogramRule.end are placed in another.+-- Only HistogramRule.interval is required, though if HistogramRule.start+-- and HistogramRule.end are both provided, HistogramRule.start must be+-- less than HistogramRule.end. For example, a pivot table showing average+-- purchase amount by age that has 50+ rows: +-----+-------------------+ |+-- Age | AVERAGE of Amount | +-----+-------------------+ | 16 | $27.13 | |+-- 17 | $5.24 | | 18 | $20.15 | ... +-----+-------------------+ could be+-- turned into a pivot table that looks like the one below by applying a+-- histogram group rule with a HistogramRule.start of 25, an+-- HistogramRule.interval of 20, and an HistogramRule.end of 65.+-- +-------------+-------------------+ | Grouped Age | AVERAGE of Amount |+-- +-------------+-------------------+ | \< 25 | $19.34 | | 25-45 | $31.43+-- | | 45-65 | $35.87 | | > 65 | $27.55 |+-- +-------------+-------------------+ | Grand Total | $29.12 |+-- +-------------+-------------------++--+-- /See:/ 'histogramRule' smart constructor.+data HistogramRule = HistogramRule'+ { _hrStart :: !(Maybe (Textual Double))+ , _hrInterval :: !(Maybe (Textual Double))+ , _hrEnd :: !(Maybe (Textual Double))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HistogramRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hrStart'+--+-- * 'hrInterval'+--+-- * 'hrEnd'+histogramRule+ :: HistogramRule+histogramRule =+ HistogramRule'+ { _hrStart = Nothing+ , _hrInterval = Nothing+ , _hrEnd = Nothing+ }++-- | The minimum value at which items are placed into buckets of constant+-- size. Values below start are lumped into a single bucket. This field is+-- optional.+hrStart :: Lens' HistogramRule (Maybe Double)+hrStart+ = lens _hrStart (\ s a -> s{_hrStart = a}) .+ mapping _Coerce++-- | The size of the buckets that are created. Must be positive.+hrInterval :: Lens' HistogramRule (Maybe Double)+hrInterval+ = lens _hrInterval (\ s a -> s{_hrInterval = a}) .+ mapping _Coerce++-- | The maximum value at which items are placed into buckets of constant+-- size. Values above end are lumped into a single bucket. This field is+-- optional.+hrEnd :: Lens' HistogramRule (Maybe Double)+hrEnd+ = lens _hrEnd (\ s a -> s{_hrEnd = a}) .+ mapping _Coerce++instance FromJSON HistogramRule where+ parseJSON+ = withObject "HistogramRule"+ (\ o ->+ HistogramRule' <$>+ (o .:? "start") <*> (o .:? "interval") <*>+ (o .:? "end"))++instance ToJSON HistogramRule where+ toJSON HistogramRule'{..}+ = object+ (catMaybes+ [("start" .=) <$> _hrStart,+ ("interval" .=) <$> _hrInterval,+ ("end" .=) <$> _hrEnd])++-- | A developer metadata entry and the data filters specified in the+-- original request that matched it.+--+-- /See:/ 'matchedDeveloperMetadata' smart constructor.+data MatchedDeveloperMetadata = MatchedDeveloperMetadata'+ { _mdmDataFilters :: !(Maybe [DataFilter])+ , _mdmDeveloperMetadata :: !(Maybe DeveloperMetadata)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MatchedDeveloperMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mdmDataFilters'+--+-- * 'mdmDeveloperMetadata'+matchedDeveloperMetadata+ :: MatchedDeveloperMetadata+matchedDeveloperMetadata =+ MatchedDeveloperMetadata'+ { _mdmDataFilters = Nothing+ , _mdmDeveloperMetadata = Nothing+ }++-- | All filters matching the returned developer metadata.+mdmDataFilters :: Lens' MatchedDeveloperMetadata [DataFilter]+mdmDataFilters+ = lens _mdmDataFilters+ (\ s a -> s{_mdmDataFilters = a})+ . _Default+ . _Coerce++-- | The developer metadata matching the specified filters.+mdmDeveloperMetadata :: Lens' MatchedDeveloperMetadata (Maybe DeveloperMetadata)+mdmDeveloperMetadata+ = lens _mdmDeveloperMetadata+ (\ s a -> s{_mdmDeveloperMetadata = a})++instance FromJSON MatchedDeveloperMetadata where+ parseJSON+ = withObject "MatchedDeveloperMetadata"+ (\ o ->+ MatchedDeveloperMetadata' <$>+ (o .:? "dataFilters" .!= mempty) <*>+ (o .:? "developerMetadata"))++instance ToJSON MatchedDeveloperMetadata where+ toJSON MatchedDeveloperMetadata'{..}+ = object+ (catMaybes+ [("dataFilters" .=) <$> _mdmDataFilters,+ ("developerMetadata" .=) <$> _mdmDeveloperMetadata])++-- | Inserts cells into a range, shifting the existing cells over or down.+--+-- /See:/ 'insertRangeRequest' smart constructor.+data InsertRangeRequest = InsertRangeRequest'+ { _irrShiftDimension :: !(Maybe InsertRangeRequestShiftDimension)+ , _irrRange :: !(Maybe GridRange)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InsertRangeRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'irrShiftDimension'+--+-- * 'irrRange'+insertRangeRequest+ :: InsertRangeRequest+insertRangeRequest =+ InsertRangeRequest'+ { _irrShiftDimension = Nothing+ , _irrRange = Nothing+ }++-- | The dimension which will be shifted when inserting cells. If ROWS,+-- existing cells will be shifted down. If COLUMNS, existing cells will be+-- shifted right.+irrShiftDimension :: Lens' InsertRangeRequest (Maybe InsertRangeRequestShiftDimension)+irrShiftDimension+ = lens _irrShiftDimension+ (\ s a -> s{_irrShiftDimension = a})++-- | The range to insert new cells into.+irrRange :: Lens' InsertRangeRequest (Maybe GridRange)+irrRange = lens _irrRange (\ s a -> s{_irrRange = a})++instance FromJSON InsertRangeRequest where+ parseJSON+ = withObject "InsertRangeRequest"+ (\ o ->+ InsertRangeRequest' <$>+ (o .:? "shiftDimension") <*> (o .:? "range"))++instance ToJSON InsertRangeRequest where+ toJSON InsertRangeRequest'{..}+ = object+ (catMaybes+ [("shiftDimension" .=) <$> _irrShiftDimension,+ ("range" .=) <$> _irrRange])++-- | The amount of padding around the cell, in pixels. When updating padding,+-- every field must be specified.+--+-- /See:/ 'padding' smart constructor.+data Padding = Padding'+ { _pBottom :: !(Maybe (Textual Int32))+ , _pLeft :: !(Maybe (Textual Int32))+ , _pRight :: !(Maybe (Textual Int32))+ , _pTop :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Padding' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pBottom'+--+-- * 'pLeft'+--+-- * 'pRight'+--+-- * 'pTop'+padding+ :: Padding+padding =+ Padding'+ { _pBottom = Nothing+ , _pLeft = Nothing+ , _pRight = Nothing+ , _pTop = Nothing+ }++-- | The bottom padding of the cell.+pBottom :: Lens' Padding (Maybe Int32)+pBottom+ = lens _pBottom (\ s a -> s{_pBottom = a}) .+ mapping _Coerce++-- | The left padding of the cell.+pLeft :: Lens' Padding (Maybe Int32)+pLeft+ = lens _pLeft (\ s a -> s{_pLeft = a}) .+ mapping _Coerce++-- | The right padding of the cell.+pRight :: Lens' Padding (Maybe Int32)+pRight+ = lens _pRight (\ s a -> s{_pRight = a}) .+ mapping _Coerce++-- | The top padding of the cell.+pTop :: Lens' Padding (Maybe Int32)+pTop+ = lens _pTop (\ s a -> s{_pTop = a}) .+ mapping _Coerce++instance FromJSON Padding where+ parseJSON+ = withObject "Padding"+ (\ o ->+ Padding' <$>+ (o .:? "bottom") <*> (o .:? "left") <*>+ (o .:? "right")+ <*> (o .:? "top"))++instance ToJSON Padding where+ toJSON Padding'{..}+ = object+ (catMaybes+ [("bottom" .=) <$> _pBottom, ("left" .=) <$> _pLeft,+ ("right" .=) <$> _pRight, ("top" .=) <$> _pTop])++-- | The specifications of a chart.+--+-- /See:/ 'chartSpec' smart constructor.+data ChartSpec = ChartSpec'+ { _csTitleTextPosition :: !(Maybe TextPosition)+ , _csFontName :: !(Maybe Text)+ , _csSubtitleTextPosition :: !(Maybe TextPosition)+ , _csBackgRoundColor :: !(Maybe Color)+ , _csCandlestickChart :: !(Maybe CandlestickChartSpec)+ , _csWaterfallChart :: !(Maybe WaterfallChartSpec)+ , _csTitleTextFormat :: !(Maybe TextFormat)+ , _csSubtitle :: !(Maybe Text)+ , _csAltText :: !(Maybe Text)+ , _csHistogramChart :: !(Maybe HistogramChartSpec)+ , _csBubbleChart :: !(Maybe BubbleChartSpec)+ , _csMaximized :: !(Maybe Bool)+ , _csSubtitleTextFormat :: !(Maybe TextFormat)+ , _csTitle :: !(Maybe Text)+ , _csPieChart :: !(Maybe PieChartSpec)+ , _csOrgChart :: !(Maybe OrgChartSpec)+ , _csTreemapChart :: !(Maybe TreemapChartSpec)+ , _csBasicChart :: !(Maybe BasicChartSpec)+ , _csHiddenDimensionStrategy :: !(Maybe ChartSpecHiddenDimensionStrategy)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ChartSpec' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csTitleTextPosition'+--+-- * 'csFontName'+--+-- * 'csSubtitleTextPosition'+--+-- * 'csBackgRoundColor'+--+-- * 'csCandlestickChart'+--+-- * 'csWaterfallChart'+--+-- * 'csTitleTextFormat'+--+-- * 'csSubtitle'+--+-- * 'csAltText'+--+-- * 'csHistogramChart'+--+-- * 'csBubbleChart'+--+-- * 'csMaximized'+--+-- * 'csSubtitleTextFormat'+--+-- * 'csTitle'+--+-- * 'csPieChart'+--+-- * 'csOrgChart'+--+-- * 'csTreemapChart'+--+-- * 'csBasicChart'+--+-- * 'csHiddenDimensionStrategy'+chartSpec+ :: ChartSpec+chartSpec =+ ChartSpec'+ { _csTitleTextPosition = Nothing+ , _csFontName = Nothing+ , _csSubtitleTextPosition = Nothing+ , _csBackgRoundColor = Nothing+ , _csCandlestickChart = Nothing+ , _csWaterfallChart = Nothing+ , _csTitleTextFormat = Nothing+ , _csSubtitle = Nothing+ , _csAltText = Nothing+ , _csHistogramChart = Nothing+ , _csBubbleChart = Nothing+ , _csMaximized = Nothing+ , _csSubtitleTextFormat = Nothing+ , _csTitle = Nothing+ , _csPieChart = Nothing+ , _csOrgChart = Nothing+ , _csTreemapChart = Nothing+ , _csBasicChart = Nothing+ , _csHiddenDimensionStrategy = Nothing+ }++-- | The title text position. This field is optional.+csTitleTextPosition :: Lens' ChartSpec (Maybe TextPosition)+csTitleTextPosition+ = lens _csTitleTextPosition+ (\ s a -> s{_csTitleTextPosition = a})++-- | The name of the font to use by default for all chart text (e.g. title,+-- axis labels, legend). If a font is specified for a specific part of the+-- chart it will override this font name.+csFontName :: Lens' ChartSpec (Maybe Text)+csFontName+ = lens _csFontName (\ s a -> s{_csFontName = a})++-- | The subtitle text position. This field is optional.+csSubtitleTextPosition :: Lens' ChartSpec (Maybe TextPosition)+csSubtitleTextPosition+ = lens _csSubtitleTextPosition+ (\ s a -> s{_csSubtitleTextPosition = a})++-- | The background color of the entire chart. Not applicable to Org charts.+csBackgRoundColor :: Lens' ChartSpec (Maybe Color)+csBackgRoundColor+ = lens _csBackgRoundColor+ (\ s a -> s{_csBackgRoundColor = a})++-- | A candlestick chart specification.+csCandlestickChart :: Lens' ChartSpec (Maybe CandlestickChartSpec)+csCandlestickChart+ = lens _csCandlestickChart+ (\ s a -> s{_csCandlestickChart = a})++-- | A waterfall chart specification.+csWaterfallChart :: Lens' ChartSpec (Maybe WaterfallChartSpec)+csWaterfallChart+ = lens _csWaterfallChart+ (\ s a -> s{_csWaterfallChart = a})++-- | The title text format. Strikethrough and underline are not supported.+csTitleTextFormat :: Lens' ChartSpec (Maybe TextFormat)+csTitleTextFormat+ = lens _csTitleTextFormat+ (\ s a -> s{_csTitleTextFormat = a})++-- | The subtitle of the chart.+csSubtitle :: Lens' ChartSpec (Maybe Text)+csSubtitle+ = lens _csSubtitle (\ s a -> s{_csSubtitle = a})++-- | The alternative text that describes the chart. This is often used for+-- accessibility.+csAltText :: Lens' ChartSpec (Maybe Text)+csAltText+ = lens _csAltText (\ s a -> s{_csAltText = a})++-- | A histogram chart specification.+csHistogramChart :: Lens' ChartSpec (Maybe HistogramChartSpec)+csHistogramChart+ = lens _csHistogramChart+ (\ s a -> s{_csHistogramChart = a})++-- | A bubble chart specification.+csBubbleChart :: Lens' ChartSpec (Maybe BubbleChartSpec)+csBubbleChart+ = lens _csBubbleChart+ (\ s a -> s{_csBubbleChart = a})++-- | True to make a chart fill the entire space in which it\'s rendered with+-- minimum padding. False to use the default padding. (Not applicable to+-- Geo and Org charts.)+csMaximized :: Lens' ChartSpec (Maybe Bool)+csMaximized+ = lens _csMaximized (\ s a -> s{_csMaximized = a})++-- | The subtitle text format. Strikethrough and underline are not supported.+csSubtitleTextFormat :: Lens' ChartSpec (Maybe TextFormat)+csSubtitleTextFormat+ = lens _csSubtitleTextFormat+ (\ s a -> s{_csSubtitleTextFormat = a})++-- | The title of the chart.+csTitle :: Lens' ChartSpec (Maybe Text)+csTitle = lens _csTitle (\ s a -> s{_csTitle = a})++-- | A pie chart specification.+csPieChart :: Lens' ChartSpec (Maybe PieChartSpec)+csPieChart+ = lens _csPieChart (\ s a -> s{_csPieChart = a})++-- | An org chart specification.+csOrgChart :: Lens' ChartSpec (Maybe OrgChartSpec)+csOrgChart+ = lens _csOrgChart (\ s a -> s{_csOrgChart = a})++-- | A treemap chart specification.+csTreemapChart :: Lens' ChartSpec (Maybe TreemapChartSpec)+csTreemapChart+ = lens _csTreemapChart+ (\ s a -> s{_csTreemapChart = a})++-- | A basic chart specification, can be one of many kinds of charts. See+-- BasicChartType for the list of all charts this supports.+csBasicChart :: Lens' ChartSpec (Maybe BasicChartSpec)+csBasicChart+ = lens _csBasicChart (\ s a -> s{_csBasicChart = a})++-- | Determines how the charts will use hidden rows or columns.+csHiddenDimensionStrategy :: Lens' ChartSpec (Maybe ChartSpecHiddenDimensionStrategy)+csHiddenDimensionStrategy+ = lens _csHiddenDimensionStrategy+ (\ s a -> s{_csHiddenDimensionStrategy = a})++instance FromJSON ChartSpec where+ parseJSON+ = withObject "ChartSpec"+ (\ o ->+ ChartSpec' <$>+ (o .:? "titleTextPosition") <*> (o .:? "fontName")+ <*> (o .:? "subtitleTextPosition")+ <*> (o .:? "backgroundColor")+ <*> (o .:? "candlestickChart")+ <*> (o .:? "waterfallChart")+ <*> (o .:? "titleTextFormat")+ <*> (o .:? "subtitle")+ <*> (o .:? "altText")+ <*> (o .:? "histogramChart")+ <*> (o .:? "bubbleChart")+ <*> (o .:? "maximized")+ <*> (o .:? "subtitleTextFormat")+ <*> (o .:? "title")+ <*> (o .:? "pieChart")+ <*> (o .:? "orgChart")+ <*> (o .:? "treemapChart")+ <*> (o .:? "basicChart")+ <*> (o .:? "hiddenDimensionStrategy"))++instance ToJSON ChartSpec where+ toJSON ChartSpec'{..}+ = object+ (catMaybes+ [("titleTextPosition" .=) <$> _csTitleTextPosition,+ ("fontName" .=) <$> _csFontName,+ ("subtitleTextPosition" .=) <$>+ _csSubtitleTextPosition,+ ("backgroundColor" .=) <$> _csBackgRoundColor,+ ("candlestickChart" .=) <$> _csCandlestickChart,+ ("waterfallChart" .=) <$> _csWaterfallChart,+ ("titleTextFormat" .=) <$> _csTitleTextFormat,+ ("subtitle" .=) <$> _csSubtitle,+ ("altText" .=) <$> _csAltText,+ ("histogramChart" .=) <$> _csHistogramChart,+ ("bubbleChart" .=) <$> _csBubbleChart,+ ("maximized" .=) <$> _csMaximized,+ ("subtitleTextFormat" .=) <$> _csSubtitleTextFormat,+ ("title" .=) <$> _csTitle,+ ("pieChart" .=) <$> _csPieChart,+ ("orgChart" .=) <$> _csOrgChart,+ ("treemapChart" .=) <$> _csTreemapChart,+ ("basicChart" .=) <$> _csBasicChart,+ ("hiddenDimensionStrategy" .=) <$>+ _csHiddenDimensionStrategy])++-- | Properties about a dimension.+--+-- /See:/ 'dimensionProperties' smart constructor.+data DimensionProperties = DimensionProperties'+ { _dpHiddenByFilter :: !(Maybe Bool)+ , _dpPixelSize :: !(Maybe (Textual Int32))+ , _dpHiddenByUser :: !(Maybe Bool)+ , _dpDeveloperMetadata :: !(Maybe [DeveloperMetadata])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DimensionProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dpHiddenByFilter'+--+-- * 'dpPixelSize'+--+-- * 'dpHiddenByUser'+--+-- * 'dpDeveloperMetadata'+dimensionProperties+ :: DimensionProperties+dimensionProperties =+ DimensionProperties'+ { _dpHiddenByFilter = Nothing+ , _dpPixelSize = Nothing+ , _dpHiddenByUser = Nothing+ , _dpDeveloperMetadata = Nothing+ }++-- | True if this dimension is being filtered. This field is read-only.+dpHiddenByFilter :: Lens' DimensionProperties (Maybe Bool)+dpHiddenByFilter+ = lens _dpHiddenByFilter+ (\ s a -> s{_dpHiddenByFilter = a})++-- | The height (if a row) or width (if a column) of the dimension in pixels.+dpPixelSize :: Lens' DimensionProperties (Maybe Int32)+dpPixelSize+ = lens _dpPixelSize (\ s a -> s{_dpPixelSize = a}) .+ mapping _Coerce++-- | True if this dimension is explicitly hidden.+dpHiddenByUser :: Lens' DimensionProperties (Maybe Bool)+dpHiddenByUser+ = lens _dpHiddenByUser+ (\ s a -> s{_dpHiddenByUser = a})++-- | The developer metadata associated with a single row or column.+dpDeveloperMetadata :: Lens' DimensionProperties [DeveloperMetadata]+dpDeveloperMetadata+ = lens _dpDeveloperMetadata+ (\ s a -> s{_dpDeveloperMetadata = a})+ . _Default+ . _Coerce++instance FromJSON DimensionProperties where+ parseJSON+ = withObject "DimensionProperties"+ (\ o ->+ DimensionProperties' <$>+ (o .:? "hiddenByFilter") <*> (o .:? "pixelSize") <*>+ (o .:? "hiddenByUser")+ <*> (o .:? "developerMetadata" .!= mempty))++instance ToJSON DimensionProperties where+ toJSON DimensionProperties'{..}+ = object+ (catMaybes+ [("hiddenByFilter" .=) <$> _dpHiddenByFilter,+ ("pixelSize" .=) <$> _dpPixelSize,+ ("hiddenByUser" .=) <$> _dpHiddenByUser,+ ("developerMetadata" .=) <$> _dpDeveloperMetadata])++-- | Updates properties of the supplied banded range.+--+-- /See:/ 'updateBandingRequest' smart constructor.+data UpdateBandingRequest = UpdateBandingRequest'+ { _ubrBandedRange :: !(Maybe BandedRange)+ , _ubrFields :: !(Maybe GFieldMask)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateBandingRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ubrBandedRange'+--+-- * 'ubrFields'+updateBandingRequest+ :: UpdateBandingRequest+updateBandingRequest =+ UpdateBandingRequest'+ { _ubrBandedRange = Nothing+ , _ubrFields = Nothing+ }++-- | The banded range to update with the new properties.+ubrBandedRange :: Lens' UpdateBandingRequest (Maybe BandedRange)+ubrBandedRange+ = lens _ubrBandedRange+ (\ s a -> s{_ubrBandedRange = a})++-- | The fields that should be updated. At least one field must be specified.+-- The root \`bandedRange\` is implied and should not be specified. A+-- single \`\"*\"\` can be used as short-hand for listing every field.+ubrFields :: Lens' UpdateBandingRequest (Maybe GFieldMask)+ubrFields+ = lens _ubrFields (\ s a -> s{_ubrFields = a})++instance FromJSON UpdateBandingRequest where+ parseJSON+ = withObject "UpdateBandingRequest"+ (\ o ->+ UpdateBandingRequest' <$>+ (o .:? "bandedRange") <*> (o .:? "fields"))++instance ToJSON UpdateBandingRequest where+ toJSON UpdateBandingRequest'{..}+ = object+ (catMaybes+ [("bandedRange" .=) <$> _ubrBandedRange,+ ("fields" .=) <$> _ubrFields])++-- | The response when retrieving more than one range of values in a+-- spreadsheet.+--+-- /See:/ 'batchGetValuesResponse' smart constructor.+data BatchGetValuesResponse = BatchGetValuesResponse'+ { _bgvrSpreadsheetId :: !(Maybe Text)+ , _bgvrValueRanges :: !(Maybe [ValueRange])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BatchGetValuesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bgvrSpreadsheetId'+--+-- * 'bgvrValueRanges'+batchGetValuesResponse+ :: BatchGetValuesResponse+batchGetValuesResponse =+ BatchGetValuesResponse'+ { _bgvrSpreadsheetId = Nothing+ , _bgvrValueRanges = Nothing+ }++-- | The ID of the spreadsheet the data was retrieved from.+bgvrSpreadsheetId :: Lens' BatchGetValuesResponse (Maybe Text)+bgvrSpreadsheetId+ = lens _bgvrSpreadsheetId+ (\ s a -> s{_bgvrSpreadsheetId = a})++-- | The requested values. The order of the ValueRanges is the same as the+-- order of the requested ranges.+bgvrValueRanges :: Lens' BatchGetValuesResponse [ValueRange]+bgvrValueRanges+ = lens _bgvrValueRanges+ (\ s a -> s{_bgvrValueRanges = a})+ . _Default+ . _Coerce++instance FromJSON BatchGetValuesResponse where+ parseJSON+ = withObject "BatchGetValuesResponse"+ (\ o ->+ BatchGetValuesResponse' <$>+ (o .:? "spreadsheetId") <*>+ (o .:? "valueRanges" .!= mempty))++instance ToJSON BatchGetValuesResponse where+ toJSON BatchGetValuesResponse'{..}+ = object+ (catMaybes+ [("spreadsheetId" .=) <$> _bgvrSpreadsheetId,+ ("valueRanges" .=) <$> _bgvrValueRanges])++-- | Removes the banded range with the given ID from the spreadsheet.+--+-- /See:/ 'deleteBandingRequest' smart constructor.+newtype DeleteBandingRequest = DeleteBandingRequest'+ { _dbrBandedRangeId :: Maybe (Textual Int32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteBandingRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dbrBandedRangeId'+deleteBandingRequest+ :: DeleteBandingRequest+deleteBandingRequest =+ DeleteBandingRequest'+ { _dbrBandedRangeId = Nothing+ }++-- | The ID of the banded range to delete.+dbrBandedRangeId :: Lens' DeleteBandingRequest (Maybe Int32)+dbrBandedRangeId+ = lens _dbrBandedRangeId+ (\ s a -> s{_dbrBandedRangeId = a})+ . mapping _Coerce++instance FromJSON DeleteBandingRequest where+ parseJSON+ = withObject "DeleteBandingRequest"+ (\ o ->+ DeleteBandingRequest' <$> (o .:? "bandedRangeId"))++instance ToJSON DeleteBandingRequest where+ toJSON DeleteBandingRequest'{..}+ = object+ (catMaybes+ [("bandedRangeId" .=) <$> _dbrBandedRangeId])++-- | The response from deleting developer metadata.+--+-- /See:/ 'deleteDeveloperMetadataResponse' smart constructor.+newtype DeleteDeveloperMetadataResponse = DeleteDeveloperMetadataResponse'+ { _ddmrDeletedDeveloperMetadata :: Maybe [DeveloperMetadata]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteDeveloperMetadataResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddmrDeletedDeveloperMetadata'+deleteDeveloperMetadataResponse+ :: DeleteDeveloperMetadataResponse+deleteDeveloperMetadataResponse =+ DeleteDeveloperMetadataResponse'+ { _ddmrDeletedDeveloperMetadata = Nothing+ }++-- | The metadata that was deleted.+ddmrDeletedDeveloperMetadata :: Lens' DeleteDeveloperMetadataResponse [DeveloperMetadata]+ddmrDeletedDeveloperMetadata+ = lens _ddmrDeletedDeveloperMetadata+ (\ s a -> s{_ddmrDeletedDeveloperMetadata = a})+ . _Default+ . _Coerce++instance FromJSON DeleteDeveloperMetadataResponse+ where+ parseJSON+ = withObject "DeleteDeveloperMetadataResponse"+ (\ o ->+ DeleteDeveloperMetadataResponse' <$>+ (o .:? "deletedDeveloperMetadata" .!= mempty))++instance ToJSON DeleteDeveloperMetadataResponse where+ toJSON DeleteDeveloperMetadataResponse'{..}+ = object+ (catMaybes+ [("deletedDeveloperMetadata" .=) <$>+ _ddmrDeletedDeveloperMetadata])++-- | The response from updating developer metadata.+--+-- /See:/ 'updateDeveloperMetadataResponse' smart constructor.+newtype UpdateDeveloperMetadataResponse = UpdateDeveloperMetadataResponse'+ { _uDeveloperMetadata :: Maybe [DeveloperMetadata]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateDeveloperMetadataResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uDeveloperMetadata'+updateDeveloperMetadataResponse+ :: UpdateDeveloperMetadataResponse+updateDeveloperMetadataResponse =+ UpdateDeveloperMetadataResponse'+ { _uDeveloperMetadata = Nothing+ }++-- | The updated developer metadata.+uDeveloperMetadata :: Lens' UpdateDeveloperMetadataResponse [DeveloperMetadata]+uDeveloperMetadata+ = lens _uDeveloperMetadata+ (\ s a -> s{_uDeveloperMetadata = a})+ . _Default+ . _Coerce++instance FromJSON UpdateDeveloperMetadataResponse+ where+ parseJSON+ = withObject "UpdateDeveloperMetadataResponse"+ (\ o ->+ UpdateDeveloperMetadataResponse' <$>+ (o .:? "developerMetadata" .!= mempty))++instance ToJSON UpdateDeveloperMetadataResponse where+ toJSON UpdateDeveloperMetadataResponse'{..}+ = object+ (catMaybes+ [("developerMetadata" .=) <$> _uDeveloperMetadata])++-- | A single kind of update to apply to a spreadsheet.+--+-- /See:/ 'request'' smart constructor.+data Request' = Request''+ { _reqAddFilterView :: !(Maybe AddFilterViewRequest)+ , _reqDeleteProtectedRange :: !(Maybe DeleteProtectedRangeRequest)+ , _reqUpdateProtectedRange :: !(Maybe UpdateProtectedRangeRequest)+ , _reqUpdateCells :: !(Maybe UpdateCellsRequest)+ , _reqCreateDeveloperMetadata :: !(Maybe CreateDeveloperMetadataRequest)+ , _reqDuplicateFilterView :: !(Maybe DuplicateFilterViewRequest)+ , _reqAddConditionalFormatRule :: !(Maybe AddConditionalFormatRuleRequest)+ , _reqRandomizeRange :: !(Maybe RandomizeRangeRequest)+ , _reqSortRange :: !(Maybe SortRangeRequest)+ , _reqUpdateNamedRange :: !(Maybe UpdateNamedRangeRequest)+ , _reqDeleteNamedRange :: !(Maybe DeleteNamedRangeRequest)+ , _reqInsertRange :: !(Maybe InsertRangeRequest)+ , _reqDeleteBanding :: !(Maybe DeleteBandingRequest)+ , _reqUpdateBanding :: !(Maybe UpdateBandingRequest)+ , _reqClearBasicFilter :: !(Maybe ClearBasicFilterRequest)+ , _reqAppendCells :: !(Maybe AppendCellsRequest)+ , _reqPasteData :: !(Maybe PasteDataRequest)+ , _reqUpdateEmbeddedObjectPosition :: !(Maybe UpdateEmbeddedObjectPositionRequest)+ , _reqDeleteRange :: !(Maybe DeleteRangeRequest)+ , _reqCopyPaste :: !(Maybe CopyPasteRequest)+ , _reqUpdateDimensionGroup :: !(Maybe UpdateDimensionGroupRequest)+ , _reqDeleteDimensionGroup :: !(Maybe DeleteDimensionGroupRequest)+ , _reqAutoResizeDimensions :: !(Maybe AutoResizeDimensionsRequest)+ , _reqAddSheet :: !(Maybe AddSheetRequest)+ , _reqFindReplace :: !(Maybe FindReplaceRequest)+ , _reqDeleteDimension :: !(Maybe DeleteDimensionRequest)+ , _reqCutPaste :: !(Maybe CutPasteRequest)+ , _reqMoveDimension :: !(Maybe MoveDimensionRequest)+ , _reqRepeatCell :: !(Maybe RepeatCellRequest)+ , _reqAddProtectedRange :: !(Maybe AddProtectedRangeRequest)+ , _reqUpdateFilterView :: !(Maybe UpdateFilterViewRequest)+ , _reqDeleteFilterView :: !(Maybe DeleteFilterViewRequest)+ , _reqInsertDimension :: !(Maybe InsertDimensionRequest)+ , _reqUpdateSheetProperties :: !(Maybe UpdateSheetPropertiesRequest)+ , _reqDeleteConditionalFormatRule :: !(Maybe DeleteConditionalFormatRuleRequest)+ , _reqUpdateConditionalFormatRule :: !(Maybe UpdateConditionalFormatRuleRequest)+ , _reqDeleteEmbeddedObject :: !(Maybe DeleteEmbeddedObjectRequest)+ , _reqDeleteDeveloperMetadata :: !(Maybe DeleteDeveloperMetadataRequest)+ , _reqUpdateDeveloperMetadata :: !(Maybe UpdateDeveloperMetadataRequest)+ , _reqMergeCells :: !(Maybe MergeCellsRequest)+ , _reqAddNamedRange :: !(Maybe AddNamedRangeRequest)+ , _reqAddChart :: !(Maybe AddChartRequest)+ , _reqAddBanding :: !(Maybe AddBandingRequest)+ , _reqDuplicateSheet :: !(Maybe DuplicateSheetRequest)+ , _reqAutoFill :: !(Maybe AutoFillRequest)+ , _reqUpdateDimensionProperties :: !(Maybe UpdateDimensionPropertiesRequest)+ , _reqUpdateChartSpec :: !(Maybe UpdateChartSpecRequest)+ , _reqSetBasicFilter :: !(Maybe SetBasicFilterRequest)+ , _reqTextToColumns :: !(Maybe TextToColumnsRequest)+ , _reqAddDimensionGroup :: !(Maybe AddDimensionGroupRequest)+ , _reqUpdateSpreadsheetProperties :: !(Maybe UpdateSpreadsheetPropertiesRequest)+ , _reqDeleteSheet :: !(Maybe DeleteSheetRequest)+ , _reqUnmergeCells :: !(Maybe UnmergeCellsRequest)+ , _reqUpdateBOrders :: !(Maybe UpdateBOrdersRequest)+ , _reqAppendDimension :: !(Maybe AppendDimensionRequest)+ , _reqSetDataValidation :: !(Maybe SetDataValidationRequest)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Request' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'reqAddFilterView'+--+-- * 'reqDeleteProtectedRange'+--+-- * 'reqUpdateProtectedRange'+--+-- * 'reqUpdateCells'+--+-- * 'reqCreateDeveloperMetadata'+--+-- * 'reqDuplicateFilterView'+--+-- * 'reqAddConditionalFormatRule'+--+-- * 'reqRandomizeRange'+--+-- * 'reqSortRange'+--+-- * 'reqUpdateNamedRange'+--+-- * 'reqDeleteNamedRange'+--+-- * 'reqInsertRange'+--+-- * 'reqDeleteBanding'+--+-- * 'reqUpdateBanding'+--+-- * 'reqClearBasicFilter'+--+-- * 'reqAppendCells'+--+-- * 'reqPasteData'+--+-- * 'reqUpdateEmbeddedObjectPosition'+--+-- * 'reqDeleteRange'+--+-- * 'reqCopyPaste'+--+-- * 'reqUpdateDimensionGroup'+--+-- * 'reqDeleteDimensionGroup'+--+-- * 'reqAutoResizeDimensions'+--+-- * 'reqAddSheet'+--+-- * 'reqFindReplace'+--+-- * 'reqDeleteDimension'+--+-- * 'reqCutPaste'+--+-- * 'reqMoveDimension'+--+-- * 'reqRepeatCell'+--+-- * 'reqAddProtectedRange'+--+-- * 'reqUpdateFilterView'+--+-- * 'reqDeleteFilterView'+--+-- * 'reqInsertDimension'+--+-- * 'reqUpdateSheetProperties'+--+-- * 'reqDeleteConditionalFormatRule'+--+-- * 'reqUpdateConditionalFormatRule'+--+-- * 'reqDeleteEmbeddedObject'+--+-- * 'reqDeleteDeveloperMetadata'+--+-- * 'reqUpdateDeveloperMetadata'+--+-- * 'reqMergeCells'+--+-- * 'reqAddNamedRange'+--+-- * 'reqAddChart'+--+-- * 'reqAddBanding'+--+-- * 'reqDuplicateSheet'+--+-- * 'reqAutoFill'+--+-- * 'reqUpdateDimensionProperties'+--+-- * 'reqUpdateChartSpec'+--+-- * 'reqSetBasicFilter'+--+-- * 'reqTextToColumns'+--+-- * 'reqAddDimensionGroup'+--+-- * 'reqUpdateSpreadsheetProperties'+--+-- * 'reqDeleteSheet'+--+-- * 'reqUnmergeCells'+--+-- * 'reqUpdateBOrders'+--+-- * 'reqAppendDimension'+--+-- * 'reqSetDataValidation'+request'+ :: Request'+request' =+ Request''+ { _reqAddFilterView = Nothing+ , _reqDeleteProtectedRange = Nothing+ , _reqUpdateProtectedRange = Nothing+ , _reqUpdateCells = Nothing+ , _reqCreateDeveloperMetadata = Nothing+ , _reqDuplicateFilterView = Nothing+ , _reqAddConditionalFormatRule = Nothing+ , _reqRandomizeRange = Nothing+ , _reqSortRange = Nothing+ , _reqUpdateNamedRange = Nothing+ , _reqDeleteNamedRange = Nothing+ , _reqInsertRange = Nothing+ , _reqDeleteBanding = Nothing+ , _reqUpdateBanding = Nothing+ , _reqClearBasicFilter = Nothing+ , _reqAppendCells = Nothing+ , _reqPasteData = Nothing+ , _reqUpdateEmbeddedObjectPosition = Nothing+ , _reqDeleteRange = Nothing+ , _reqCopyPaste = Nothing+ , _reqUpdateDimensionGroup = Nothing+ , _reqDeleteDimensionGroup = Nothing+ , _reqAutoResizeDimensions = Nothing+ , _reqAddSheet = Nothing+ , _reqFindReplace = Nothing+ , _reqDeleteDimension = Nothing+ , _reqCutPaste = Nothing+ , _reqMoveDimension = Nothing+ , _reqRepeatCell = Nothing+ , _reqAddProtectedRange = Nothing+ , _reqUpdateFilterView = Nothing+ , _reqDeleteFilterView = Nothing+ , _reqInsertDimension = Nothing+ , _reqUpdateSheetProperties = Nothing+ , _reqDeleteConditionalFormatRule = Nothing+ , _reqUpdateConditionalFormatRule = Nothing+ , _reqDeleteEmbeddedObject = Nothing+ , _reqDeleteDeveloperMetadata = Nothing+ , _reqUpdateDeveloperMetadata = Nothing+ , _reqMergeCells = Nothing+ , _reqAddNamedRange = Nothing+ , _reqAddChart = Nothing+ , _reqAddBanding = Nothing+ , _reqDuplicateSheet = Nothing+ , _reqAutoFill = Nothing+ , _reqUpdateDimensionProperties = Nothing+ , _reqUpdateChartSpec = Nothing+ , _reqSetBasicFilter = Nothing+ , _reqTextToColumns = Nothing+ , _reqAddDimensionGroup = Nothing+ , _reqUpdateSpreadsheetProperties = Nothing+ , _reqDeleteSheet = Nothing+ , _reqUnmergeCells = Nothing+ , _reqUpdateBOrders = Nothing+ , _reqAppendDimension = Nothing+ , _reqSetDataValidation = Nothing+ }++-- | Adds a filter view.+reqAddFilterView :: Lens' Request' (Maybe AddFilterViewRequest)+reqAddFilterView+ = lens _reqAddFilterView+ (\ s a -> s{_reqAddFilterView = a})++-- | Deletes a protected range.+reqDeleteProtectedRange :: Lens' Request' (Maybe DeleteProtectedRangeRequest)+reqDeleteProtectedRange+ = lens _reqDeleteProtectedRange+ (\ s a -> s{_reqDeleteProtectedRange = a})++-- | Updates a protected range.+reqUpdateProtectedRange :: Lens' Request' (Maybe UpdateProtectedRangeRequest)+reqUpdateProtectedRange+ = lens _reqUpdateProtectedRange+ (\ s a -> s{_reqUpdateProtectedRange = a})++-- | Updates many cells at once.+reqUpdateCells :: Lens' Request' (Maybe UpdateCellsRequest)+reqUpdateCells+ = lens _reqUpdateCells+ (\ s a -> s{_reqUpdateCells = a})++-- | Creates new developer metadata+reqCreateDeveloperMetadata :: Lens' Request' (Maybe CreateDeveloperMetadataRequest)+reqCreateDeveloperMetadata+ = lens _reqCreateDeveloperMetadata+ (\ s a -> s{_reqCreateDeveloperMetadata = a})++-- | Duplicates a filter view.+reqDuplicateFilterView :: Lens' Request' (Maybe DuplicateFilterViewRequest)+reqDuplicateFilterView+ = lens _reqDuplicateFilterView+ (\ s a -> s{_reqDuplicateFilterView = a})++-- | Adds a new conditional format rule.+reqAddConditionalFormatRule :: Lens' Request' (Maybe AddConditionalFormatRuleRequest)+reqAddConditionalFormatRule+ = lens _reqAddConditionalFormatRule+ (\ s a -> s{_reqAddConditionalFormatRule = a})++-- | Randomizes the order of the rows in a range.+reqRandomizeRange :: Lens' Request' (Maybe RandomizeRangeRequest)+reqRandomizeRange+ = lens _reqRandomizeRange+ (\ s a -> s{_reqRandomizeRange = a})++-- | Sorts data in a range.+reqSortRange :: Lens' Request' (Maybe SortRangeRequest)+reqSortRange+ = lens _reqSortRange (\ s a -> s{_reqSortRange = a})++-- | Updates a named range.+reqUpdateNamedRange :: Lens' Request' (Maybe UpdateNamedRangeRequest)+reqUpdateNamedRange+ = lens _reqUpdateNamedRange+ (\ s a -> s{_reqUpdateNamedRange = a})++-- | Deletes a named range.+reqDeleteNamedRange :: Lens' Request' (Maybe DeleteNamedRangeRequest)+reqDeleteNamedRange+ = lens _reqDeleteNamedRange+ (\ s a -> s{_reqDeleteNamedRange = a})++-- | Inserts new cells in a sheet, shifting the existing cells.+reqInsertRange :: Lens' Request' (Maybe InsertRangeRequest)+reqInsertRange+ = lens _reqInsertRange+ (\ s a -> s{_reqInsertRange = a})++-- | Removes a banded range+reqDeleteBanding :: Lens' Request' (Maybe DeleteBandingRequest)+reqDeleteBanding+ = lens _reqDeleteBanding+ (\ s a -> s{_reqDeleteBanding = a})++-- | Updates a banded range+reqUpdateBanding :: Lens' Request' (Maybe UpdateBandingRequest)+reqUpdateBanding+ = lens _reqUpdateBanding+ (\ s a -> s{_reqUpdateBanding = a})++-- | Clears the basic filter on a sheet.+reqClearBasicFilter :: Lens' Request' (Maybe ClearBasicFilterRequest)+reqClearBasicFilter+ = lens _reqClearBasicFilter+ (\ s a -> s{_reqClearBasicFilter = a})++-- | Appends cells after the last row with data in a sheet.+reqAppendCells :: Lens' Request' (Maybe AppendCellsRequest)+reqAppendCells+ = lens _reqAppendCells+ (\ s a -> s{_reqAppendCells = a})++-- | Pastes data (HTML or delimited) into a sheet.+reqPasteData :: Lens' Request' (Maybe PasteDataRequest)+reqPasteData+ = lens _reqPasteData (\ s a -> s{_reqPasteData = a})++-- | Updates an embedded object\'s (e.g. chart, image) position.+reqUpdateEmbeddedObjectPosition :: Lens' Request' (Maybe UpdateEmbeddedObjectPositionRequest)+reqUpdateEmbeddedObjectPosition+ = lens _reqUpdateEmbeddedObjectPosition+ (\ s a -> s{_reqUpdateEmbeddedObjectPosition = a})++-- | Deletes a range of cells from a sheet, shifting the remaining cells.+reqDeleteRange :: Lens' Request' (Maybe DeleteRangeRequest)+reqDeleteRange+ = lens _reqDeleteRange+ (\ s a -> s{_reqDeleteRange = a})++-- | Copies data from one area and pastes it to another.+reqCopyPaste :: Lens' Request' (Maybe CopyPasteRequest)+reqCopyPaste+ = lens _reqCopyPaste (\ s a -> s{_reqCopyPaste = a})++-- | Updates the state of the specified group.+reqUpdateDimensionGroup :: Lens' Request' (Maybe UpdateDimensionGroupRequest)+reqUpdateDimensionGroup+ = lens _reqUpdateDimensionGroup+ (\ s a -> s{_reqUpdateDimensionGroup = a})++-- | Deletes a group over the specified range.+reqDeleteDimensionGroup :: Lens' Request' (Maybe DeleteDimensionGroupRequest)+reqDeleteDimensionGroup+ = lens _reqDeleteDimensionGroup+ (\ s a -> s{_reqDeleteDimensionGroup = a})++-- | Automatically resizes one or more dimensions based on the contents of+-- the cells in that dimension.+reqAutoResizeDimensions :: Lens' Request' (Maybe AutoResizeDimensionsRequest)+reqAutoResizeDimensions+ = lens _reqAutoResizeDimensions+ (\ s a -> s{_reqAutoResizeDimensions = a})++-- | Adds a sheet.+reqAddSheet :: Lens' Request' (Maybe AddSheetRequest)+reqAddSheet+ = lens _reqAddSheet (\ s a -> s{_reqAddSheet = a})++-- | Finds and replaces occurrences of some text with other text.+reqFindReplace :: Lens' Request' (Maybe FindReplaceRequest)+reqFindReplace+ = lens _reqFindReplace+ (\ s a -> s{_reqFindReplace = a})++-- | Deletes rows or columns in a sheet.+reqDeleteDimension :: Lens' Request' (Maybe DeleteDimensionRequest)+reqDeleteDimension+ = lens _reqDeleteDimension+ (\ s a -> s{_reqDeleteDimension = a})++-- | Cuts data from one area and pastes it to another.+reqCutPaste :: Lens' Request' (Maybe CutPasteRequest)+reqCutPaste+ = lens _reqCutPaste (\ s a -> s{_reqCutPaste = a})++-- | Moves rows or columns to another location in a sheet.+reqMoveDimension :: Lens' Request' (Maybe MoveDimensionRequest)+reqMoveDimension+ = lens _reqMoveDimension+ (\ s a -> s{_reqMoveDimension = a})++-- | Repeats a single cell across a range.+reqRepeatCell :: Lens' Request' (Maybe RepeatCellRequest)+reqRepeatCell+ = lens _reqRepeatCell+ (\ s a -> s{_reqRepeatCell = a})++-- | Adds a protected range.+reqAddProtectedRange :: Lens' Request' (Maybe AddProtectedRangeRequest)+reqAddProtectedRange+ = lens _reqAddProtectedRange+ (\ s a -> s{_reqAddProtectedRange = a})++-- | Updates the properties of a filter view.+reqUpdateFilterView :: Lens' Request' (Maybe UpdateFilterViewRequest)+reqUpdateFilterView+ = lens _reqUpdateFilterView+ (\ s a -> s{_reqUpdateFilterView = a})++-- | Deletes a filter view from a sheet.+reqDeleteFilterView :: Lens' Request' (Maybe DeleteFilterViewRequest)+reqDeleteFilterView+ = lens _reqDeleteFilterView+ (\ s a -> s{_reqDeleteFilterView = a})++-- | Inserts new rows or columns in a sheet.+reqInsertDimension :: Lens' Request' (Maybe InsertDimensionRequest)+reqInsertDimension+ = lens _reqInsertDimension+ (\ s a -> s{_reqInsertDimension = a})++-- | Updates a sheet\'s properties.+reqUpdateSheetProperties :: Lens' Request' (Maybe UpdateSheetPropertiesRequest)+reqUpdateSheetProperties+ = lens _reqUpdateSheetProperties+ (\ s a -> s{_reqUpdateSheetProperties = a})++-- | Deletes an existing conditional format rule.+reqDeleteConditionalFormatRule :: Lens' Request' (Maybe DeleteConditionalFormatRuleRequest)+reqDeleteConditionalFormatRule+ = lens _reqDeleteConditionalFormatRule+ (\ s a -> s{_reqDeleteConditionalFormatRule = a})++-- | Updates an existing conditional format rule.+reqUpdateConditionalFormatRule :: Lens' Request' (Maybe UpdateConditionalFormatRuleRequest)+reqUpdateConditionalFormatRule+ = lens _reqUpdateConditionalFormatRule+ (\ s a -> s{_reqUpdateConditionalFormatRule = a})++-- | Deletes an embedded object (e.g, chart, image) in a sheet.+reqDeleteEmbeddedObject :: Lens' Request' (Maybe DeleteEmbeddedObjectRequest)+reqDeleteEmbeddedObject+ = lens _reqDeleteEmbeddedObject+ (\ s a -> s{_reqDeleteEmbeddedObject = a})++-- | Deletes developer metadata+reqDeleteDeveloperMetadata :: Lens' Request' (Maybe DeleteDeveloperMetadataRequest)+reqDeleteDeveloperMetadata+ = lens _reqDeleteDeveloperMetadata+ (\ s a -> s{_reqDeleteDeveloperMetadata = a})++-- | Updates an existing developer metadata entry+reqUpdateDeveloperMetadata :: Lens' Request' (Maybe UpdateDeveloperMetadataRequest)+reqUpdateDeveloperMetadata+ = lens _reqUpdateDeveloperMetadata+ (\ s a -> s{_reqUpdateDeveloperMetadata = a})++-- | Merges cells together.+reqMergeCells :: Lens' Request' (Maybe MergeCellsRequest)+reqMergeCells+ = lens _reqMergeCells+ (\ s a -> s{_reqMergeCells = a})++-- | Adds a named range.+reqAddNamedRange :: Lens' Request' (Maybe AddNamedRangeRequest)+reqAddNamedRange+ = lens _reqAddNamedRange+ (\ s a -> s{_reqAddNamedRange = a})++-- | Adds a chart.+reqAddChart :: Lens' Request' (Maybe AddChartRequest)+reqAddChart+ = lens _reqAddChart (\ s a -> s{_reqAddChart = a})++-- | Adds a new banded range+reqAddBanding :: Lens' Request' (Maybe AddBandingRequest)+reqAddBanding+ = lens _reqAddBanding+ (\ s a -> s{_reqAddBanding = a})++-- | Duplicates a sheet.+reqDuplicateSheet :: Lens' Request' (Maybe DuplicateSheetRequest)+reqDuplicateSheet+ = lens _reqDuplicateSheet+ (\ s a -> s{_reqDuplicateSheet = a})++-- | Automatically fills in more data based on existing data.+reqAutoFill :: Lens' Request' (Maybe AutoFillRequest)+reqAutoFill+ = lens _reqAutoFill (\ s a -> s{_reqAutoFill = a})++-- | Updates dimensions\' properties.+reqUpdateDimensionProperties :: Lens' Request' (Maybe UpdateDimensionPropertiesRequest)+reqUpdateDimensionProperties+ = lens _reqUpdateDimensionProperties+ (\ s a -> s{_reqUpdateDimensionProperties = a})++-- | Updates a chart\'s specifications.+reqUpdateChartSpec :: Lens' Request' (Maybe UpdateChartSpecRequest)+reqUpdateChartSpec+ = lens _reqUpdateChartSpec+ (\ s a -> s{_reqUpdateChartSpec = a})++-- | Sets the basic filter on a sheet.+reqSetBasicFilter :: Lens' Request' (Maybe SetBasicFilterRequest)+reqSetBasicFilter+ = lens _reqSetBasicFilter+ (\ s a -> s{_reqSetBasicFilter = a})++-- | Converts a column of text into many columns of text.+reqTextToColumns :: Lens' Request' (Maybe TextToColumnsRequest)+reqTextToColumns+ = lens _reqTextToColumns+ (\ s a -> s{_reqTextToColumns = a})++-- | Creates a group over the specified range.+reqAddDimensionGroup :: Lens' Request' (Maybe AddDimensionGroupRequest)+reqAddDimensionGroup+ = lens _reqAddDimensionGroup+ (\ s a -> s{_reqAddDimensionGroup = a})++-- | Updates the spreadsheet\'s properties.+reqUpdateSpreadsheetProperties :: Lens' Request' (Maybe UpdateSpreadsheetPropertiesRequest)+reqUpdateSpreadsheetProperties+ = lens _reqUpdateSpreadsheetProperties+ (\ s a -> s{_reqUpdateSpreadsheetProperties = a})++-- | Deletes a sheet.+reqDeleteSheet :: Lens' Request' (Maybe DeleteSheetRequest)+reqDeleteSheet+ = lens _reqDeleteSheet+ (\ s a -> s{_reqDeleteSheet = a})++-- | Unmerges merged cells.+reqUnmergeCells :: Lens' Request' (Maybe UnmergeCellsRequest)+reqUnmergeCells+ = lens _reqUnmergeCells+ (\ s a -> s{_reqUnmergeCells = a})++-- | Updates the borders in a range of cells.+reqUpdateBOrders :: Lens' Request' (Maybe UpdateBOrdersRequest)+reqUpdateBOrders+ = lens _reqUpdateBOrders+ (\ s a -> s{_reqUpdateBOrders = a})++-- | Appends dimensions to the end of a sheet.+reqAppendDimension :: Lens' Request' (Maybe AppendDimensionRequest)+reqAppendDimension+ = lens _reqAppendDimension+ (\ s a -> s{_reqAppendDimension = a})++-- | Sets data validation for one or more cells.+reqSetDataValidation :: Lens' Request' (Maybe SetDataValidationRequest)+reqSetDataValidation+ = lens _reqSetDataValidation+ (\ s a -> s{_reqSetDataValidation = a})++instance FromJSON Request' where+ parseJSON+ = withObject "Request"+ (\ o ->+ Request'' <$>+ (o .:? "addFilterView") <*>+ (o .:? "deleteProtectedRange")+ <*> (o .:? "updateProtectedRange")+ <*> (o .:? "updateCells")+ <*> (o .:? "createDeveloperMetadata")+ <*> (o .:? "duplicateFilterView")+ <*> (o .:? "addConditionalFormatRule")+ <*> (o .:? "randomizeRange")+ <*> (o .:? "sortRange")+ <*> (o .:? "updateNamedRange")+ <*> (o .:? "deleteNamedRange")+ <*> (o .:? "insertRange")+ <*> (o .:? "deleteBanding")+ <*> (o .:? "updateBanding")+ <*> (o .:? "clearBasicFilter")+ <*> (o .:? "appendCells")+ <*> (o .:? "pasteData")+ <*> (o .:? "updateEmbeddedObjectPosition")+ <*> (o .:? "deleteRange")+ <*> (o .:? "copyPaste")+ <*> (o .:? "updateDimensionGroup")+ <*> (o .:? "deleteDimensionGroup")+ <*> (o .:? "autoResizeDimensions")+ <*> (o .:? "addSheet")+ <*> (o .:? "findReplace")+ <*> (o .:? "deleteDimension")+ <*> (o .:? "cutPaste")+ <*> (o .:? "moveDimension")+ <*> (o .:? "repeatCell")+ <*> (o .:? "addProtectedRange")+ <*> (o .:? "updateFilterView")+ <*> (o .:? "deleteFilterView")+ <*> (o .:? "insertDimension")+ <*> (o .:? "updateSheetProperties")+ <*> (o .:? "deleteConditionalFormatRule")+ <*> (o .:? "updateConditionalFormatRule")+ <*> (o .:? "deleteEmbeddedObject")+ <*> (o .:? "deleteDeveloperMetadata")+ <*> (o .:? "updateDeveloperMetadata")+ <*> (o .:? "mergeCells")+ <*> (o .:? "addNamedRange")+ <*> (o .:? "addChart")+ <*> (o .:? "addBanding")+ <*> (o .:? "duplicateSheet")+ <*> (o .:? "autoFill")+ <*> (o .:? "updateDimensionProperties")+ <*> (o .:? "updateChartSpec")+ <*> (o .:? "setBasicFilter")+ <*> (o .:? "textToColumns")+ <*> (o .:? "addDimensionGroup")+ <*> (o .:? "updateSpreadsheetProperties")+ <*> (o .:? "deleteSheet")+ <*> (o .:? "unmergeCells")+ <*> (o .:? "updateBorders")+ <*> (o .:? "appendDimension")+ <*> (o .:? "setDataValidation"))++instance ToJSON Request' where+ toJSON Request''{..}+ = object+ (catMaybes+ [("addFilterView" .=) <$> _reqAddFilterView,+ ("deleteProtectedRange" .=) <$>+ _reqDeleteProtectedRange,+ ("updateProtectedRange" .=) <$>+ _reqUpdateProtectedRange,+ ("updateCells" .=) <$> _reqUpdateCells,+ ("createDeveloperMetadata" .=) <$>+ _reqCreateDeveloperMetadata,+ ("duplicateFilterView" .=) <$>+ _reqDuplicateFilterView,+ ("addConditionalFormatRule" .=) <$>+ _reqAddConditionalFormatRule,+ ("randomizeRange" .=) <$> _reqRandomizeRange,+ ("sortRange" .=) <$> _reqSortRange,+ ("updateNamedRange" .=) <$> _reqUpdateNamedRange,+ ("deleteNamedRange" .=) <$> _reqDeleteNamedRange,+ ("insertRange" .=) <$> _reqInsertRange,+ ("deleteBanding" .=) <$> _reqDeleteBanding,+ ("updateBanding" .=) <$> _reqUpdateBanding,+ ("clearBasicFilter" .=) <$> _reqClearBasicFilter,+ ("appendCells" .=) <$> _reqAppendCells,+ ("pasteData" .=) <$> _reqPasteData,+ ("updateEmbeddedObjectPosition" .=) <$>+ _reqUpdateEmbeddedObjectPosition,+ ("deleteRange" .=) <$> _reqDeleteRange,+ ("copyPaste" .=) <$> _reqCopyPaste,+ ("updateDimensionGroup" .=) <$>+ _reqUpdateDimensionGroup,+ ("deleteDimensionGroup" .=) <$>+ _reqDeleteDimensionGroup,+ ("autoResizeDimensions" .=) <$>+ _reqAutoResizeDimensions,+ ("addSheet" .=) <$> _reqAddSheet,+ ("findReplace" .=) <$> _reqFindReplace,+ ("deleteDimension" .=) <$> _reqDeleteDimension,+ ("cutPaste" .=) <$> _reqCutPaste,+ ("moveDimension" .=) <$> _reqMoveDimension,+ ("repeatCell" .=) <$> _reqRepeatCell,+ ("addProtectedRange" .=) <$> _reqAddProtectedRange,+ ("updateFilterView" .=) <$> _reqUpdateFilterView,+ ("deleteFilterView" .=) <$> _reqDeleteFilterView,+ ("insertDimension" .=) <$> _reqInsertDimension,+ ("updateSheetProperties" .=) <$>+ _reqUpdateSheetProperties,+ ("deleteConditionalFormatRule" .=) <$>+ _reqDeleteConditionalFormatRule,+ ("updateConditionalFormatRule" .=) <$>+ _reqUpdateConditionalFormatRule,+ ("deleteEmbeddedObject" .=) <$>+ _reqDeleteEmbeddedObject,+ ("deleteDeveloperMetadata" .=) <$>+ _reqDeleteDeveloperMetadata,+ ("updateDeveloperMetadata" .=) <$>+ _reqUpdateDeveloperMetadata,+ ("mergeCells" .=) <$> _reqMergeCells,+ ("addNamedRange" .=) <$> _reqAddNamedRange,+ ("addChart" .=) <$> _reqAddChart,+ ("addBanding" .=) <$> _reqAddBanding,+ ("duplicateSheet" .=) <$> _reqDuplicateSheet,+ ("autoFill" .=) <$> _reqAutoFill,+ ("updateDimensionProperties" .=) <$>+ _reqUpdateDimensionProperties,+ ("updateChartSpec" .=) <$> _reqUpdateChartSpec,+ ("setBasicFilter" .=) <$> _reqSetBasicFilter,+ ("textToColumns" .=) <$> _reqTextToColumns,+ ("addDimensionGroup" .=) <$> _reqAddDimensionGroup,+ ("updateSpreadsheetProperties" .=) <$>+ _reqUpdateSpreadsheetProperties,+ ("deleteSheet" .=) <$> _reqDeleteSheet,+ ("unmergeCells" .=) <$> _reqUnmergeCells,+ ("updateBorders" .=) <$> _reqUpdateBOrders,+ ("appendDimension" .=) <$> _reqAppendDimension,+ ("setDataValidation" .=) <$> _reqSetDataValidation])++-- | Properties that describe the style of a line.+--+-- /See:/ 'lineStyle' smart constructor.+data LineStyle = LineStyle'+ { _lsWidth :: !(Maybe (Textual Int32))+ , _lsType :: !(Maybe LineStyleType)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LineStyle' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lsWidth'+--+-- * 'lsType'+lineStyle+ :: LineStyle+lineStyle =+ LineStyle'+ { _lsWidth = Nothing+ , _lsType = Nothing+ }++-- | The thickness of the line, in px.+lsWidth :: Lens' LineStyle (Maybe Int32)+lsWidth+ = lens _lsWidth (\ s a -> s{_lsWidth = a}) .+ mapping _Coerce++-- | The dash type of the line.+lsType :: Lens' LineStyle (Maybe LineStyleType)+lsType = lens _lsType (\ s a -> s{_lsType = a})++instance FromJSON LineStyle where+ parseJSON+ = withObject "LineStyle"+ (\ o ->+ LineStyle' <$> (o .:? "width") <*> (o .:? "type"))++instance ToJSON LineStyle where+ toJSON LineStyle'{..}+ = object+ (catMaybes+ [("width" .=) <$> _lsWidth, ("type" .=) <$> _lsType]) -- | The result of deleting a conditional format rule. --
gen/Network/Google/Sheets/Types/Sum.hs view
@@ -16,1945 +16,2989 @@ -- module Network.Google.Sheets.Types.Sum where -import Network.Google.Prelude---- | What kind of data to paste.-data CopyPasteRequestPasteType- = PasteNormal- -- ^ @PASTE_NORMAL@- -- Paste values, formulas, formats, and merges.- | PasteValues- -- ^ @PASTE_VALUES@- -- Paste the values ONLY without formats, formulas, or merges.- | PasteFormat- -- ^ @PASTE_FORMAT@- -- Paste the format and data validation only.- | PasteNoBOrders- -- ^ @PASTE_NO_BORDERS@- -- Like PASTE_NORMAL but without borders.- | PasteFormula- -- ^ @PASTE_FORMULA@- -- Paste the formulas only.- | PasteDataValidation- -- ^ @PASTE_DATA_VALIDATION@- -- Paste the data validation only.- | PasteConditionalFormatting- -- ^ @PASTE_CONDITIONAL_FORMATTING@- -- Paste the conditional formatting rules only.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable CopyPasteRequestPasteType--instance FromHttpApiData CopyPasteRequestPasteType where- parseQueryParam = \case- "PASTE_NORMAL" -> Right PasteNormal- "PASTE_VALUES" -> Right PasteValues- "PASTE_FORMAT" -> Right PasteFormat- "PASTE_NO_BORDERS" -> Right PasteNoBOrders- "PASTE_FORMULA" -> Right PasteFormula- "PASTE_DATA_VALIDATION" -> Right PasteDataValidation- "PASTE_CONDITIONAL_FORMATTING" -> Right PasteConditionalFormatting- x -> Left ("Unable to parse CopyPasteRequestPasteType from: " <> x)--instance ToHttpApiData CopyPasteRequestPasteType where- toQueryParam = \case- PasteNormal -> "PASTE_NORMAL"- PasteValues -> "PASTE_VALUES"- PasteFormat -> "PASTE_FORMAT"- PasteNoBOrders -> "PASTE_NO_BORDERS"- PasteFormula -> "PASTE_FORMULA"- PasteDataValidation -> "PASTE_DATA_VALIDATION"- PasteConditionalFormatting -> "PASTE_CONDITIONAL_FORMATTING"--instance FromJSON CopyPasteRequestPasteType where- parseJSON = parseJSONText "CopyPasteRequestPasteType"--instance ToJSON CopyPasteRequestPasteType where- toJSON = toJSONText---- | The position of this axis.-data BasicChartAxisPosition- = BasicChartAxisPositionUnspecified- -- ^ @BASIC_CHART_AXIS_POSITION_UNSPECIFIED@- -- Default value, do not use.- | BottomAxis- -- ^ @BOTTOM_AXIS@- -- The axis rendered at the bottom of a chart. For most charts, this is the- -- standard major axis. For bar charts, this is a minor axis.- | LeftAxis- -- ^ @LEFT_AXIS@- -- The axis rendered at the left of a chart. For most charts, this is a- -- minor axis. For bar charts, this is the standard major axis.- | RightAxis- -- ^ @RIGHT_AXIS@- -- The axis rendered at the right of a chart. For most charts, this is a- -- minor axis. For bar charts, this is an unusual major axis.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable BasicChartAxisPosition--instance FromHttpApiData BasicChartAxisPosition where- parseQueryParam = \case- "BASIC_CHART_AXIS_POSITION_UNSPECIFIED" -> Right BasicChartAxisPositionUnspecified- "BOTTOM_AXIS" -> Right BottomAxis- "LEFT_AXIS" -> Right LeftAxis- "RIGHT_AXIS" -> Right RightAxis- x -> Left ("Unable to parse BasicChartAxisPosition from: " <> x)--instance ToHttpApiData BasicChartAxisPosition where- toQueryParam = \case- BasicChartAxisPositionUnspecified -> "BASIC_CHART_AXIS_POSITION_UNSPECIFIED"- BottomAxis -> "BOTTOM_AXIS"- LeftAxis -> "LEFT_AXIS"- RightAxis -> "RIGHT_AXIS"--instance FromJSON BasicChartAxisPosition where- parseJSON = parseJSONText "BasicChartAxisPosition"--instance ToJSON BasicChartAxisPosition where- toJSON = toJSONText---- | The dimension from which deleted cells will be replaced with. If ROWS,--- existing cells will be shifted upward to replace the deleted cells. If--- COLUMNS, existing cells will be shifted left to replace the deleted--- cells.-data DeleteRangeRequestShiftDimension- = DimensionUnspecified- -- ^ @DIMENSION_UNSPECIFIED@- -- The default value, do not use.- | Rows- -- ^ @ROWS@- -- Operates on the rows of a sheet.- | Columns- -- ^ @COLUMNS@- -- Operates on the columns of a sheet.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable DeleteRangeRequestShiftDimension--instance FromHttpApiData DeleteRangeRequestShiftDimension where- parseQueryParam = \case- "DIMENSION_UNSPECIFIED" -> Right DimensionUnspecified- "ROWS" -> Right Rows- "COLUMNS" -> Right Columns- x -> Left ("Unable to parse DeleteRangeRequestShiftDimension from: " <> x)--instance ToHttpApiData DeleteRangeRequestShiftDimension where- toQueryParam = \case- DimensionUnspecified -> "DIMENSION_UNSPECIFIED"- Rows -> "ROWS"- Columns -> "COLUMNS"--instance FromJSON DeleteRangeRequestShiftDimension where- parseJSON = parseJSONText "DeleteRangeRequestShiftDimension"--instance ToJSON DeleteRangeRequestShiftDimension where- toJSON = toJSONText---- | The minor axis that will specify the range of values for this series.--- For example, if charting stocks over time, the \"Volume\" series may--- want to be pinned to the right with the prices pinned to the left,--- because the scale of trading volume is different than the scale of--- prices. It is an error to specify an axis that isn\'t a valid minor axis--- for the chart\'s type.-data BasicChartSeriesTargetAxis- = BCSTABasicChartAxisPositionUnspecified- -- ^ @BASIC_CHART_AXIS_POSITION_UNSPECIFIED@- -- Default value, do not use.- | BCSTABottomAxis- -- ^ @BOTTOM_AXIS@- -- The axis rendered at the bottom of a chart. For most charts, this is the- -- standard major axis. For bar charts, this is a minor axis.- | BCSTALeftAxis- -- ^ @LEFT_AXIS@- -- The axis rendered at the left of a chart. For most charts, this is a- -- minor axis. For bar charts, this is the standard major axis.- | BCSTARightAxis- -- ^ @RIGHT_AXIS@- -- The axis rendered at the right of a chart. For most charts, this is a- -- minor axis. For bar charts, this is an unusual major axis.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable BasicChartSeriesTargetAxis--instance FromHttpApiData BasicChartSeriesTargetAxis where- parseQueryParam = \case- "BASIC_CHART_AXIS_POSITION_UNSPECIFIED" -> Right BCSTABasicChartAxisPositionUnspecified- "BOTTOM_AXIS" -> Right BCSTABottomAxis- "LEFT_AXIS" -> Right BCSTALeftAxis- "RIGHT_AXIS" -> Right BCSTARightAxis- x -> Left ("Unable to parse BasicChartSeriesTargetAxis from: " <> x)--instance ToHttpApiData BasicChartSeriesTargetAxis where- toQueryParam = \case- BCSTABasicChartAxisPositionUnspecified -> "BASIC_CHART_AXIS_POSITION_UNSPECIFIED"- BCSTABottomAxis -> "BOTTOM_AXIS"- BCSTALeftAxis -> "LEFT_AXIS"- BCSTARightAxis -> "RIGHT_AXIS"--instance FromJSON BasicChartSeriesTargetAxis where- parseJSON = parseJSONText "BasicChartSeriesTargetAxis"--instance ToJSON BasicChartSeriesTargetAxis where- toJSON = toJSONText---- | Determines how dates, times, and durations in the response should be--- rendered. This is ignored if response_value_render_option is--- FORMATTED_VALUE. The default dateTime render option is--- [DateTimeRenderOption.SERIAL_NUMBER].-data BatchUpdateValuesRequestResponseDateTimeRenderOption- = SerialNumber- -- ^ @SERIAL_NUMBER@- -- Instructs date, time, datetime, and duration fields to be output as- -- doubles in \"serial number\" format, as popularized by Lotus 1-2-3. Days- -- are counted from December 31st 1899 and are incremented by 1, and times- -- are fractions of a day. For example, January 1st 1900 at noon would be- -- 1.5, 1 because it\'s 1 day offset from December 31st 1899, and .5- -- because noon is half a day. February 1st 1900 at 3pm would be 32.625.- -- This correctly treats the year 1900 as not a leap year.- | FormattedString- -- ^ @FORMATTED_STRING@- -- Instructs date, time, datetime, and duration fields to be output as- -- strings in their given number format (which is dependent on the- -- spreadsheet locale).- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable BatchUpdateValuesRequestResponseDateTimeRenderOption--instance FromHttpApiData BatchUpdateValuesRequestResponseDateTimeRenderOption where- parseQueryParam = \case- "SERIAL_NUMBER" -> Right SerialNumber- "FORMATTED_STRING" -> Right FormattedString- x -> Left ("Unable to parse BatchUpdateValuesRequestResponseDateTimeRenderOption from: " <> x)--instance ToHttpApiData BatchUpdateValuesRequestResponseDateTimeRenderOption where- toQueryParam = \case- SerialNumber -> "SERIAL_NUMBER"- FormattedString -> "FORMATTED_STRING"--instance FromJSON BatchUpdateValuesRequestResponseDateTimeRenderOption where- parseJSON = parseJSONText "BatchUpdateValuesRequestResponseDateTimeRenderOption"--instance ToJSON BatchUpdateValuesRequestResponseDateTimeRenderOption where- toJSON = toJSONText---- | Whether rows or columns should be appended.-data AppendDimensionRequestDimension- = ADRDDimensionUnspecified- -- ^ @DIMENSION_UNSPECIFIED@- -- The default value, do not use.- | ADRDRows- -- ^ @ROWS@- -- Operates on the rows of a sheet.- | ADRDColumns- -- ^ @COLUMNS@- -- Operates on the columns of a sheet.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable AppendDimensionRequestDimension--instance FromHttpApiData AppendDimensionRequestDimension where- parseQueryParam = \case- "DIMENSION_UNSPECIFIED" -> Right ADRDDimensionUnspecified- "ROWS" -> Right ADRDRows- "COLUMNS" -> Right ADRDColumns- x -> Left ("Unable to parse AppendDimensionRequestDimension from: " <> x)--instance ToHttpApiData AppendDimensionRequestDimension where- toQueryParam = \case- ADRDDimensionUnspecified -> "DIMENSION_UNSPECIFIED"- ADRDRows -> "ROWS"- ADRDColumns -> "COLUMNS"--instance FromJSON AppendDimensionRequestDimension where- parseJSON = parseJSONText "AppendDimensionRequestDimension"--instance ToJSON AppendDimensionRequestDimension where- toJSON = toJSONText---- | The dimension of the span.-data DimensionRangeDimension- = DRDDimensionUnspecified- -- ^ @DIMENSION_UNSPECIFIED@- -- The default value, do not use.- | DRDRows- -- ^ @ROWS@- -- Operates on the rows of a sheet.- | DRDColumns- -- ^ @COLUMNS@- -- Operates on the columns of a sheet.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable DimensionRangeDimension--instance FromHttpApiData DimensionRangeDimension where- parseQueryParam = \case- "DIMENSION_UNSPECIFIED" -> Right DRDDimensionUnspecified- "ROWS" -> Right DRDRows- "COLUMNS" -> Right DRDColumns- x -> Left ("Unable to parse DimensionRangeDimension from: " <> x)--instance ToHttpApiData DimensionRangeDimension where- toQueryParam = \case- DRDDimensionUnspecified -> "DIMENSION_UNSPECIFIED"- DRDRows -> "ROWS"- DRDColumns -> "COLUMNS"--instance FromJSON DimensionRangeDimension where- parseJSON = parseJSONText "DimensionRangeDimension"--instance ToJSON DimensionRangeDimension where- toJSON = toJSONText---- | The dimension that data should be filled into.-data SourceAndDestinationDimension- = SADDDimensionUnspecified- -- ^ @DIMENSION_UNSPECIFIED@- -- The default value, do not use.- | SADDRows- -- ^ @ROWS@- -- Operates on the rows of a sheet.- | SADDColumns- -- ^ @COLUMNS@- -- Operates on the columns of a sheet.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable SourceAndDestinationDimension--instance FromHttpApiData SourceAndDestinationDimension where- parseQueryParam = \case- "DIMENSION_UNSPECIFIED" -> Right SADDDimensionUnspecified- "ROWS" -> Right SADDRows- "COLUMNS" -> Right SADDColumns- x -> Left ("Unable to parse SourceAndDestinationDimension from: " <> x)--instance ToHttpApiData SourceAndDestinationDimension where- toQueryParam = \case- SADDDimensionUnspecified -> "DIMENSION_UNSPECIFIED"- SADDRows -> "ROWS"- SADDColumns -> "COLUMNS"--instance FromJSON SourceAndDestinationDimension where- parseJSON = parseJSONText "SourceAndDestinationDimension"--instance ToJSON SourceAndDestinationDimension where- toJSON = toJSONText---- | The wrap strategy for the value in the cell.-data CellFormatWrapStrategy- = WrapStrategyUnspecified- -- ^ @WRAP_STRATEGY_UNSPECIFIED@- -- The default value, do not use.- | OverflowCell- -- ^ @OVERFLOW_CELL@- -- Lines that are longer than the cell width will be written in the next- -- cell over, so long as that cell is empty. If the next cell over is- -- non-empty, this behaves the same as CLIP. The text will never wrap to- -- the next line unless the user manually inserts a new line. Example: |- -- First sentence. | | Manual newline that is very long. \<- Text continues- -- into next cell | Next newline. |- | LegacyWrap- -- ^ @LEGACY_WRAP@- -- This wrap strategy represents the old Google Sheets wrap strategy where- -- words that are longer than a line are clipped rather than broken. This- -- strategy is not supported on all platforms and is being phased out.- -- Example: | Cell has a | | loooooooooo| \<- Word is clipped. | word. |- | Clip- -- ^ @CLIP@- -- Lines that are longer than the cell width will be clipped. The text will- -- never wrap to the next line unless the user manually inserts a new line.- -- Example: | First sentence. | | Manual newline t| \<- Text is clipped |- -- Next newline. |- | Wrap- -- ^ @WRAP@- -- Words that are longer than a line are wrapped at the character level- -- rather than clipped. Example: | Cell has a | | loooooooooo| \<- Word is- -- broken. | ong word. |- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable CellFormatWrapStrategy--instance FromHttpApiData CellFormatWrapStrategy where- parseQueryParam = \case- "WRAP_STRATEGY_UNSPECIFIED" -> Right WrapStrategyUnspecified- "OVERFLOW_CELL" -> Right OverflowCell- "LEGACY_WRAP" -> Right LegacyWrap- "CLIP" -> Right Clip- "WRAP" -> Right Wrap- x -> Left ("Unable to parse CellFormatWrapStrategy from: " <> x)--instance ToHttpApiData CellFormatWrapStrategy where- toQueryParam = \case- WrapStrategyUnspecified -> "WRAP_STRATEGY_UNSPECIFIED"- OverflowCell -> "OVERFLOW_CELL"- LegacyWrap -> "LEGACY_WRAP"- Clip -> "CLIP"- Wrap -> "WRAP"--instance FromJSON CellFormatWrapStrategy where- parseJSON = parseJSONText "CellFormatWrapStrategy"--instance ToJSON CellFormatWrapStrategy where- toJSON = toJSONText---- | How the input data should be interpreted.-data BatchUpdateValuesRequestValueInputOption- = InputValueOptionUnspecified- -- ^ @INPUT_VALUE_OPTION_UNSPECIFIED@- -- Default input value. This value must not be used.- | Raw- -- ^ @RAW@- -- The values the user has entered will not be parsed and will be stored- -- as-is.- | UserEntered- -- ^ @USER_ENTERED@- -- The values will be parsed as if the user typed them into the UI. Numbers- -- will stay as numbers, but strings may be converted to numbers, dates,- -- etc. following the same rules that are applied when entering text into a- -- cell via the Google Sheets UI.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable BatchUpdateValuesRequestValueInputOption--instance FromHttpApiData BatchUpdateValuesRequestValueInputOption where- parseQueryParam = \case- "INPUT_VALUE_OPTION_UNSPECIFIED" -> Right InputValueOptionUnspecified- "RAW" -> Right Raw- "USER_ENTERED" -> Right UserEntered- x -> Left ("Unable to parse BatchUpdateValuesRequestValueInputOption from: " <> x)--instance ToHttpApiData BatchUpdateValuesRequestValueInputOption where- toQueryParam = \case- InputValueOptionUnspecified -> "INPUT_VALUE_OPTION_UNSPECIFIED"- Raw -> "RAW"- UserEntered -> "USER_ENTERED"--instance FromJSON BatchUpdateValuesRequestValueInputOption where- parseJSON = parseJSONText "BatchUpdateValuesRequestValueInputOption"--instance ToJSON BatchUpdateValuesRequestValueInputOption where- toJSON = toJSONText---- | Determines how values in the response should be rendered. The default--- render option is ValueRenderOption.FORMATTED_VALUE.-data BatchUpdateValuesRequestResponseValueRenderOption- = FormattedValue- -- ^ @FORMATTED_VALUE@- -- Values will be calculated & formatted in the reply according to the- -- cell\'s formatting. Formatting is based on the spreadsheet\'s locale,- -- not the requesting user\'s locale. For example, if \`A1\` is \`1.23\`- -- and \`A2\` is \`=A1\` and formatted as currency, then \`A2\` would- -- return \`\"$1.23\"\`.- | UnformattedValue- -- ^ @UNFORMATTED_VALUE@- -- Values will be calculated, but not formatted in the reply. For example,- -- if \`A1\` is \`1.23\` and \`A2\` is \`=A1\` and formatted as currency,- -- then \`A2\` would return the number \`1.23\`.- | Formula- -- ^ @FORMULA@- -- Values will not be calculated. The reply will include the formulas. For- -- example, if \`A1\` is \`1.23\` and \`A2\` is \`=A1\` and formatted as- -- currency, then A2 would return \`\"=A1\"\`.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable BatchUpdateValuesRequestResponseValueRenderOption--instance FromHttpApiData BatchUpdateValuesRequestResponseValueRenderOption where- parseQueryParam = \case- "FORMATTED_VALUE" -> Right FormattedValue- "UNFORMATTED_VALUE" -> Right UnformattedValue- "FORMULA" -> Right Formula- x -> Left ("Unable to parse BatchUpdateValuesRequestResponseValueRenderOption from: " <> x)--instance ToHttpApiData BatchUpdateValuesRequestResponseValueRenderOption where- toQueryParam = \case- FormattedValue -> "FORMATTED_VALUE"- UnformattedValue -> "UNFORMATTED_VALUE"- Formula -> "FORMULA"--instance FromJSON BatchUpdateValuesRequestResponseValueRenderOption where- parseJSON = parseJSONText "BatchUpdateValuesRequestResponseValueRenderOption"--instance ToJSON BatchUpdateValuesRequestResponseValueRenderOption where- toJSON = toJSONText---- | Where the legend of the pie chart should be drawn.-data PieChartSpecLegendPosition- = PieChartLegendPositionUnspecified- -- ^ @PIE_CHART_LEGEND_POSITION_UNSPECIFIED@- -- Default value, do not use.- | BottomLegend- -- ^ @BOTTOM_LEGEND@- -- The legend is rendered on the bottom of the chart.- | LeftLegend- -- ^ @LEFT_LEGEND@- -- The legend is rendered on the left of the chart.- | RightLegend- -- ^ @RIGHT_LEGEND@- -- The legend is rendered on the right of the chart.- | TopLegend- -- ^ @TOP_LEGEND@- -- The legend is rendered on the top of the chart.- | NoLegend- -- ^ @NO_LEGEND@- -- No legend is rendered.- | LabeledLegend- -- ^ @LABELED_LEGEND@- -- Each pie slice has a label attached to it.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable PieChartSpecLegendPosition--instance FromHttpApiData PieChartSpecLegendPosition where- parseQueryParam = \case- "PIE_CHART_LEGEND_POSITION_UNSPECIFIED" -> Right PieChartLegendPositionUnspecified- "BOTTOM_LEGEND" -> Right BottomLegend- "LEFT_LEGEND" -> Right LeftLegend- "RIGHT_LEGEND" -> Right RightLegend- "TOP_LEGEND" -> Right TopLegend- "NO_LEGEND" -> Right NoLegend- "LABELED_LEGEND" -> Right LabeledLegend- x -> Left ("Unable to parse PieChartSpecLegendPosition from: " <> x)--instance ToHttpApiData PieChartSpecLegendPosition where- toQueryParam = \case- PieChartLegendPositionUnspecified -> "PIE_CHART_LEGEND_POSITION_UNSPECIFIED"- BottomLegend -> "BOTTOM_LEGEND"- LeftLegend -> "LEFT_LEGEND"- RightLegend -> "RIGHT_LEGEND"- TopLegend -> "TOP_LEGEND"- NoLegend -> "NO_LEGEND"- LabeledLegend -> "LABELED_LEGEND"--instance FromJSON PieChartSpecLegendPosition where- parseJSON = parseJSONText "PieChartSpecLegendPosition"--instance ToJSON PieChartSpecLegendPosition where- toJSON = toJSONText---- | The vertical alignment of the value in the cell.-data CellFormatVerticalAlignment- = VerticalAlignUnspecified- -- ^ @VERTICAL_ALIGN_UNSPECIFIED@- -- The vertical alignment is not specified. Do not use this.- | Top- -- ^ @TOP@- -- The text is explicitly aligned to the top of the cell.- | Middle- -- ^ @MIDDLE@- -- The text is explicitly aligned to the middle of the cell.- | Bottom- -- ^ @BOTTOM@- -- The text is explicitly aligned to the bottom of the cell.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable CellFormatVerticalAlignment--instance FromHttpApiData CellFormatVerticalAlignment where- parseQueryParam = \case- "VERTICAL_ALIGN_UNSPECIFIED" -> Right VerticalAlignUnspecified- "TOP" -> Right Top- "MIDDLE" -> Right Middle- "BOTTOM" -> Right Bottom- x -> Left ("Unable to parse CellFormatVerticalAlignment from: " <> x)--instance ToHttpApiData CellFormatVerticalAlignment where- toQueryParam = \case- VerticalAlignUnspecified -> "VERTICAL_ALIGN_UNSPECIFIED"- Top -> "TOP"- Middle -> "MIDDLE"- Bottom -> "BOTTOM"--instance FromJSON CellFormatVerticalAlignment where- parseJSON = parseJSONText "CellFormatVerticalAlignment"--instance ToJSON CellFormatVerticalAlignment where- toJSON = toJSONText---- | The type of the number format. When writing, this field must be set.-data NumberFormatType- = NumberFormatTypeUnspecified- -- ^ @NUMBER_FORMAT_TYPE_UNSPECIFIED@- -- The number format is not specified and is based on the contents of the- -- cell. Do not explicitly use this.- | Text- -- ^ @TEXT@- -- Text formatting, e.g \`1000.12\`- | Number- -- ^ @NUMBER@- -- Number formatting, e.g, \`1,000.12\`- | Percent- -- ^ @PERCENT@- -- Percent formatting, e.g \`10.12%\`- | Currency- -- ^ @CURRENCY@- -- Currency formatting, e.g \`$1,000.12\`- | Date- -- ^ @DATE@- -- Date formatting, e.g \`9\/26\/2008\`- | Time- -- ^ @TIME@- -- Time formatting, e.g \`3:59:00 PM\`- | DateTime- -- ^ @DATE_TIME@- -- Date+Time formatting, e.g \`9\/26\/08 15:59:00\`- | Scientific- -- ^ @SCIENTIFIC@- -- Scientific number formatting, e.g \`1.01E+03\`- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable NumberFormatType--instance FromHttpApiData NumberFormatType where- parseQueryParam = \case- "NUMBER_FORMAT_TYPE_UNSPECIFIED" -> Right NumberFormatTypeUnspecified- "TEXT" -> Right Text- "NUMBER" -> Right Number- "PERCENT" -> Right Percent- "CURRENCY" -> Right Currency- "DATE" -> Right Date- "TIME" -> Right Time- "DATE_TIME" -> Right DateTime- "SCIENTIFIC" -> Right Scientific- x -> Left ("Unable to parse NumberFormatType from: " <> x)--instance ToHttpApiData NumberFormatType where- toQueryParam = \case- NumberFormatTypeUnspecified -> "NUMBER_FORMAT_TYPE_UNSPECIFIED"- Text -> "TEXT"- Number -> "NUMBER"- Percent -> "PERCENT"- Currency -> "CURRENCY"- Date -> "DATE"- Time -> "TIME"- DateTime -> "DATE_TIME"- Scientific -> "SCIENTIFIC"--instance FromJSON NumberFormatType where- parseJSON = parseJSONText "NumberFormatType"--instance ToJSON NumberFormatType where- toJSON = toJSONText---- | A relative date (based on the current date). Valid only if the type is--- DATE_BEFORE, DATE_AFTER, DATE_ON_OR_BEFORE or DATE_ON_OR_AFTER. Relative--- dates are not supported in data validation. They are supported only in--- conditional formatting and conditional filters.-data ConditionValueRelativeDate- = RelativeDateUnspecified- -- ^ @RELATIVE_DATE_UNSPECIFIED@- -- Default value, do not use.- | PastYear- -- ^ @PAST_YEAR@- -- The value is one year before today.- | PastMonth- -- ^ @PAST_MONTH@- -- The value is one month before today.- | PastWeek- -- ^ @PAST_WEEK@- -- The value is one week before today.- | Yesterday- -- ^ @YESTERDAY@- -- The value is yesterday.- | Today- -- ^ @TODAY@- -- The value is today.- | Tomorrow- -- ^ @TOMORROW@- -- The value is tomorrow.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable ConditionValueRelativeDate--instance FromHttpApiData ConditionValueRelativeDate where- parseQueryParam = \case- "RELATIVE_DATE_UNSPECIFIED" -> Right RelativeDateUnspecified- "PAST_YEAR" -> Right PastYear- "PAST_MONTH" -> Right PastMonth- "PAST_WEEK" -> Right PastWeek- "YESTERDAY" -> Right Yesterday- "TODAY" -> Right Today- "TOMORROW" -> Right Tomorrow- x -> Left ("Unable to parse ConditionValueRelativeDate from: " <> x)--instance ToHttpApiData ConditionValueRelativeDate where- toQueryParam = \case- RelativeDateUnspecified -> "RELATIVE_DATE_UNSPECIFIED"- PastYear -> "PAST_YEAR"- PastMonth -> "PAST_MONTH"- PastWeek -> "PAST_WEEK"- Yesterday -> "YESTERDAY"- Today -> "TODAY"- Tomorrow -> "TOMORROW"--instance FromJSON ConditionValueRelativeDate where- parseJSON = parseJSONText "ConditionValueRelativeDate"--instance ToJSON ConditionValueRelativeDate where- toJSON = toJSONText---- | The order data should be sorted.-data SortSpecSortOrder- = SortOrderUnspecified- -- ^ @SORT_ORDER_UNSPECIFIED@- -- Default value, do not use this.- | Ascending- -- ^ @ASCENDING@- -- Sort ascending.- | Descending- -- ^ @DESCENDING@- -- Sort descending.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable SortSpecSortOrder--instance FromHttpApiData SortSpecSortOrder where- parseQueryParam = \case- "SORT_ORDER_UNSPECIFIED" -> Right SortOrderUnspecified- "ASCENDING" -> Right Ascending- "DESCENDING" -> Right Descending- x -> Left ("Unable to parse SortSpecSortOrder from: " <> x)--instance ToHttpApiData SortSpecSortOrder where- toQueryParam = \case- SortOrderUnspecified -> "SORT_ORDER_UNSPECIFIED"- Ascending -> "ASCENDING"- Descending -> "DESCENDING"--instance FromJSON SortSpecSortOrder where- parseJSON = parseJSONText "SortSpecSortOrder"--instance ToJSON SortSpecSortOrder where- toJSON = toJSONText---- | A function to summarize the value. If formula is set, the only supported--- values are SUM and CUSTOM. If sourceColumnOffset is set, then \`CUSTOM\`--- is not supported.-data PivotValueSummarizeFunction- = PivotStandardValueFunctionUnspecified- -- ^ @PIVOT_STANDARD_VALUE_FUNCTION_UNSPECIFIED@- -- The default, do not use.- | Sum- -- ^ @SUM@- -- Corresponds to the \`SUM\` function.- | Counta- -- ^ @COUNTA@- -- Corresponds to the \`COUNTA\` function.- | Count- -- ^ @COUNT@- -- Corresponds to the \`COUNT\` function.- | Countunique- -- ^ @COUNTUNIQUE@- -- Corresponds to the \`COUNTUNIQUE\` function.- | Average- -- ^ @AVERAGE@- -- Corresponds to the \`AVERAGE\` function.- | Max- -- ^ @MAX@- -- Corresponds to the \`MAX\` function.- | Min- -- ^ @MIN@- -- Corresponds to the \`MIN\` function.- | Median- -- ^ @MEDIAN@- -- Corresponds to the \`MEDIAN\` function.- | Product- -- ^ @PRODUCT@- -- Corresponds to the \`PRODUCT\` function.- | Stdev- -- ^ @STDEV@- -- Corresponds to the \`STDEV\` function.- | Stdevp- -- ^ @STDEVP@- -- Corresponds to the \`STDEVP\` function.- | Var- -- ^ @VAR@- -- Corresponds to the \`VAR\` function.- | Varp- -- ^ @VARP@- -- Corresponds to the \`VARP\` function.- | Custom- -- ^ @CUSTOM@- -- Indicates the formula should be used as-is. Only valid if- -- PivotValue.formula was set.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable PivotValueSummarizeFunction--instance FromHttpApiData PivotValueSummarizeFunction where- parseQueryParam = \case- "PIVOT_STANDARD_VALUE_FUNCTION_UNSPECIFIED" -> Right PivotStandardValueFunctionUnspecified- "SUM" -> Right Sum- "COUNTA" -> Right Counta- "COUNT" -> Right Count- "COUNTUNIQUE" -> Right Countunique- "AVERAGE" -> Right Average- "MAX" -> Right Max- "MIN" -> Right Min- "MEDIAN" -> Right Median- "PRODUCT" -> Right Product- "STDEV" -> Right Stdev- "STDEVP" -> Right Stdevp- "VAR" -> Right Var- "VARP" -> Right Varp- "CUSTOM" -> Right Custom- x -> Left ("Unable to parse PivotValueSummarizeFunction from: " <> x)--instance ToHttpApiData PivotValueSummarizeFunction where- toQueryParam = \case- PivotStandardValueFunctionUnspecified -> "PIVOT_STANDARD_VALUE_FUNCTION_UNSPECIFIED"- Sum -> "SUM"- Counta -> "COUNTA"- Count -> "COUNT"- Countunique -> "COUNTUNIQUE"- Average -> "AVERAGE"- Max -> "MAX"- Min -> "MIN"- Median -> "MEDIAN"- Product -> "PRODUCT"- Stdev -> "STDEV"- Stdevp -> "STDEVP"- Var -> "VAR"- Varp -> "VARP"- Custom -> "CUSTOM"--instance FromJSON PivotValueSummarizeFunction where- parseJSON = parseJSONText "PivotValueSummarizeFunction"--instance ToJSON PivotValueSummarizeFunction where- toJSON = toJSONText---- | How a hyperlink, if it exists, should be displayed in the cell.-data CellFormatHyperlinkDisplayType- = HyperlinkDisplayTypeUnspecified- -- ^ @HYPERLINK_DISPLAY_TYPE_UNSPECIFIED@- -- The default value: the hyperlink is rendered. Do not use this.- | Linked- -- ^ @LINKED@- -- A hyperlink should be explicitly rendered.- | PlainText- -- ^ @PLAIN_TEXT@- -- A hyperlink should not be rendered.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable CellFormatHyperlinkDisplayType--instance FromHttpApiData CellFormatHyperlinkDisplayType where- parseQueryParam = \case- "HYPERLINK_DISPLAY_TYPE_UNSPECIFIED" -> Right HyperlinkDisplayTypeUnspecified- "LINKED" -> Right Linked- "PLAIN_TEXT" -> Right PlainText- x -> Left ("Unable to parse CellFormatHyperlinkDisplayType from: " <> x)--instance ToHttpApiData CellFormatHyperlinkDisplayType where- toQueryParam = \case- HyperlinkDisplayTypeUnspecified -> "HYPERLINK_DISPLAY_TYPE_UNSPECIFIED"- Linked -> "LINKED"- PlainText -> "PLAIN_TEXT"--instance FromJSON CellFormatHyperlinkDisplayType where- parseJSON = parseJSONText "CellFormatHyperlinkDisplayType"--instance ToJSON CellFormatHyperlinkDisplayType where- toJSON = toJSONText---- | The type of sheet. Defaults to GRID. This field cannot be changed once--- set.-data SheetPropertiesSheetType- = SheetTypeUnspecified- -- ^ @SHEET_TYPE_UNSPECIFIED@- -- Default value, do not use.- | Grid- -- ^ @GRID@- -- The sheet is a grid.- | Object- -- ^ @OBJECT@- -- The sheet has no grid and instead has an object like a chart or image.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable SheetPropertiesSheetType--instance FromHttpApiData SheetPropertiesSheetType where- parseQueryParam = \case- "SHEET_TYPE_UNSPECIFIED" -> Right SheetTypeUnspecified- "GRID" -> Right Grid- "OBJECT" -> Right Object- x -> Left ("Unable to parse SheetPropertiesSheetType from: " <> x)--instance ToHttpApiData SheetPropertiesSheetType where- toQueryParam = \case- SheetTypeUnspecified -> "SHEET_TYPE_UNSPECIFIED"- Grid -> "GRID"- Object -> "OBJECT"--instance FromJSON SheetPropertiesSheetType where- parseJSON = parseJSONText "SheetPropertiesSheetType"--instance ToJSON SheetPropertiesSheetType where- toJSON = toJSONText---- | How the cells should be merged.-data MergeCellsRequestMergeType- = MergeAll- -- ^ @MERGE_ALL@- -- Create a single merge from the range- | MergeColumns- -- ^ @MERGE_COLUMNS@- -- Create a merge for each column in the range- | MergeRows- -- ^ @MERGE_ROWS@- -- Create a merge for each row in the range- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable MergeCellsRequestMergeType--instance FromHttpApiData MergeCellsRequestMergeType where- parseQueryParam = \case- "MERGE_ALL" -> Right MergeAll- "MERGE_COLUMNS" -> Right MergeColumns- "MERGE_ROWS" -> Right MergeRows- x -> Left ("Unable to parse MergeCellsRequestMergeType from: " <> x)--instance ToHttpApiData MergeCellsRequestMergeType where- toQueryParam = \case- MergeAll -> "MERGE_ALL"- MergeColumns -> "MERGE_COLUMNS"- MergeRows -> "MERGE_ROWS"--instance FromJSON MergeCellsRequestMergeType where- parseJSON = parseJSONText "MergeCellsRequestMergeType"--instance ToJSON MergeCellsRequestMergeType where- toJSON = toJSONText---- | The horizontal alignment of the value in the cell.-data CellFormatHorizontalAlignment- = HorizontalAlignUnspecified- -- ^ @HORIZONTAL_ALIGN_UNSPECIFIED@- -- The horizontal alignment is not specified. Do not use this.- | Left'- -- ^ @LEFT@- -- The text is explicitly aligned to the left of the cell.- | Center- -- ^ @CENTER@- -- The text is explicitly aligned to the center of the cell.- | Right'- -- ^ @RIGHT@- -- The text is explicitly aligned to the right of the cell.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable CellFormatHorizontalAlignment--instance FromHttpApiData CellFormatHorizontalAlignment where- parseQueryParam = \case- "HORIZONTAL_ALIGN_UNSPECIFIED" -> Right HorizontalAlignUnspecified- "LEFT" -> Right Left'- "CENTER" -> Right Center- "RIGHT" -> Right Right'- x -> Left ("Unable to parse CellFormatHorizontalAlignment from: " <> x)--instance ToHttpApiData CellFormatHorizontalAlignment where- toQueryParam = \case- HorizontalAlignUnspecified -> "HORIZONTAL_ALIGN_UNSPECIFIED"- Left' -> "LEFT"- Center -> "CENTER"- Right' -> "RIGHT"--instance FromJSON CellFormatHorizontalAlignment where- parseJSON = parseJSONText "CellFormatHorizontalAlignment"--instance ToJSON CellFormatHorizontalAlignment where- toJSON = toJSONText---- | The type of condition.-data BooleanConditionType- = ConditionTypeUnspecified- -- ^ @CONDITION_TYPE_UNSPECIFIED@- -- The default value, do not use.- | NumberGreater- -- ^ @NUMBER_GREATER@- -- The cell\'s value must be greater than the condition\'s value. Supported- -- by data validation, conditional formatting and filters. Requires a- -- single ConditionValue.- | NumberGreaterThanEQ- -- ^ @NUMBER_GREATER_THAN_EQ@- -- The cell\'s value must be greater than or equal to the condition\'s- -- value. Supported by data validation, conditional formatting and filters.- -- Requires a single ConditionValue.- | NumberLess- -- ^ @NUMBER_LESS@- -- The cell\'s value must be less than the condition\'s value. Supported by- -- data validation, conditional formatting and filters. Requires a single- -- ConditionValue.- | NumberLessThanEQ- -- ^ @NUMBER_LESS_THAN_EQ@- -- The cell\'s value must be less than or equal to the condition\'s value.- -- Supported by data validation, conditional formatting and filters.- -- Requires a single ConditionValue.- | NumberEQ- -- ^ @NUMBER_EQ@- -- The cell\'s value must be equal to the condition\'s value. Supported by- -- data validation, conditional formatting and filters. Requires a single- -- ConditionValue.- | NumberNotEQ- -- ^ @NUMBER_NOT_EQ@- -- The cell\'s value must be not equal to the condition\'s value. Supported- -- by data validation, conditional formatting and filters. Requires a- -- single ConditionValue.- | NumberBetween- -- ^ @NUMBER_BETWEEN@- -- The cell\'s value must be between the two condition values. Supported by- -- data validation, conditional formatting and filters. Requires exactly- -- two ConditionValues.- | NumberNotBetween- -- ^ @NUMBER_NOT_BETWEEN@- -- The cell\'s value must not be between the two condition values.- -- Supported by data validation, conditional formatting and filters.- -- Requires exactly two ConditionValues.- | TextContains- -- ^ @TEXT_CONTAINS@- -- The cell\'s value must contain the condition\'s value. Supported by data- -- validation, conditional formatting and filters. Requires a single- -- ConditionValue.- | TextNotContains- -- ^ @TEXT_NOT_CONTAINS@- -- The cell\'s value must not contain the condition\'s value. Supported by- -- data validation, conditional formatting and filters. Requires a single- -- ConditionValue.- | TextStartsWith- -- ^ @TEXT_STARTS_WITH@- -- The cell\'s value must start with the condition\'s value. Supported by- -- conditional formatting and filters. Requires a single ConditionValue.- | TextEndsWith- -- ^ @TEXT_ENDS_WITH@- -- The cell\'s value must end with the condition\'s value. Supported by- -- conditional formatting and filters. Requires a single ConditionValue.- | TextEQ- -- ^ @TEXT_EQ@- -- The cell\'s value must be exactly the condition\'s value. Supported by- -- data validation, conditional formatting and filters. Requires a single- -- ConditionValue.- | TextIsEmail- -- ^ @TEXT_IS_EMAIL@- -- The cell\'s value must be a valid email address. Supported by data- -- validation. Requires no ConditionValues.- | TextIsURL- -- ^ @TEXT_IS_URL@- -- The cell\'s value must be a valid URL. Supported by data validation.- -- Requires no ConditionValues.- | DateEQ- -- ^ @DATE_EQ@- -- The cell\'s value must be the same date as the condition\'s value.- -- Supported by data validation, conditional formatting and filters.- -- Requires a single ConditionValue.- | DateBefore- -- ^ @DATE_BEFORE@- -- The cell\'s value must be before the date of the condition\'s value.- -- Supported by data validation, conditional formatting and filters.- -- Requires a single ConditionValue that may be a relative date.- | DateAfter- -- ^ @DATE_AFTER@- -- The cell\'s value must be after the date of the condition\'s value.- -- Supported by data validation, conditional formatting and filters.- -- Requires a single ConditionValue that may be a relative date.- | DateOnOrBefore- -- ^ @DATE_ON_OR_BEFORE@- -- The cell\'s value must be on or before the date of the condition\'s- -- value. Supported by data validation. Requires a single ConditionValue- -- that may be a relative date.- | DateOnOrAfter- -- ^ @DATE_ON_OR_AFTER@- -- The cell\'s value must be on or after the date of the condition\'s- -- value. Supported by data validation. Requires a single ConditionValue- -- that may be a relative date.- | DateBetween- -- ^ @DATE_BETWEEN@- -- The cell\'s value must be between the dates of the two condition values.- -- Supported by data validation. Requires exactly two ConditionValues.- | DateNotBetween- -- ^ @DATE_NOT_BETWEEN@- -- The cell\'s value must be outside the dates of the two condition values.- -- Supported by data validation. Requires exactly two ConditionValues.- | DateIsValid- -- ^ @DATE_IS_VALID@- -- The cell\'s value must be a date. Supported by data validation. Requires- -- no ConditionValues.- | OneOfRange- -- ^ @ONE_OF_RANGE@- -- The cell\'s value must be listed in the grid in condition value\'s- -- range. Supported by data validation. Requires a single ConditionValue,- -- and the value must be a valid range in A1 notation.- | OneOfList- -- ^ @ONE_OF_LIST@- -- The cell\'s value must in the list of condition values. Supported by- -- data validation. Supports any number of condition values, one per item- -- in the list. Formulas are not supported in the values.- | Blank- -- ^ @BLANK@- -- The cell\'s value must be empty. Supported by conditional formatting and- -- filters. Requires no ConditionValues.- | NotBlank- -- ^ @NOT_BLANK@- -- The cell\'s value must not be empty. Supported by conditional formatting- -- and filters. Requires no ConditionValues.- | CustomFormula- -- ^ @CUSTOM_FORMULA@- -- The condition\'s formula must evaluate to true. Supported by data- -- validation, conditional formatting and filters. Requires a single- -- ConditionValue.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable BooleanConditionType--instance FromHttpApiData BooleanConditionType where- parseQueryParam = \case- "CONDITION_TYPE_UNSPECIFIED" -> Right ConditionTypeUnspecified- "NUMBER_GREATER" -> Right NumberGreater- "NUMBER_GREATER_THAN_EQ" -> Right NumberGreaterThanEQ- "NUMBER_LESS" -> Right NumberLess- "NUMBER_LESS_THAN_EQ" -> Right NumberLessThanEQ- "NUMBER_EQ" -> Right NumberEQ- "NUMBER_NOT_EQ" -> Right NumberNotEQ- "NUMBER_BETWEEN" -> Right NumberBetween- "NUMBER_NOT_BETWEEN" -> Right NumberNotBetween- "TEXT_CONTAINS" -> Right TextContains- "TEXT_NOT_CONTAINS" -> Right TextNotContains- "TEXT_STARTS_WITH" -> Right TextStartsWith- "TEXT_ENDS_WITH" -> Right TextEndsWith- "TEXT_EQ" -> Right TextEQ- "TEXT_IS_EMAIL" -> Right TextIsEmail- "TEXT_IS_URL" -> Right TextIsURL- "DATE_EQ" -> Right DateEQ- "DATE_BEFORE" -> Right DateBefore- "DATE_AFTER" -> Right DateAfter- "DATE_ON_OR_BEFORE" -> Right DateOnOrBefore- "DATE_ON_OR_AFTER" -> Right DateOnOrAfter- "DATE_BETWEEN" -> Right DateBetween- "DATE_NOT_BETWEEN" -> Right DateNotBetween- "DATE_IS_VALID" -> Right DateIsValid- "ONE_OF_RANGE" -> Right OneOfRange- "ONE_OF_LIST" -> Right OneOfList- "BLANK" -> Right Blank- "NOT_BLANK" -> Right NotBlank- "CUSTOM_FORMULA" -> Right CustomFormula- x -> Left ("Unable to parse BooleanConditionType from: " <> x)--instance ToHttpApiData BooleanConditionType where- toQueryParam = \case- ConditionTypeUnspecified -> "CONDITION_TYPE_UNSPECIFIED"- NumberGreater -> "NUMBER_GREATER"- NumberGreaterThanEQ -> "NUMBER_GREATER_THAN_EQ"- NumberLess -> "NUMBER_LESS"- NumberLessThanEQ -> "NUMBER_LESS_THAN_EQ"- NumberEQ -> "NUMBER_EQ"- NumberNotEQ -> "NUMBER_NOT_EQ"- NumberBetween -> "NUMBER_BETWEEN"- NumberNotBetween -> "NUMBER_NOT_BETWEEN"- TextContains -> "TEXT_CONTAINS"- TextNotContains -> "TEXT_NOT_CONTAINS"- TextStartsWith -> "TEXT_STARTS_WITH"- TextEndsWith -> "TEXT_ENDS_WITH"- TextEQ -> "TEXT_EQ"- TextIsEmail -> "TEXT_IS_EMAIL"- TextIsURL -> "TEXT_IS_URL"- DateEQ -> "DATE_EQ"- DateBefore -> "DATE_BEFORE"- DateAfter -> "DATE_AFTER"- DateOnOrBefore -> "DATE_ON_OR_BEFORE"- DateOnOrAfter -> "DATE_ON_OR_AFTER"- DateBetween -> "DATE_BETWEEN"- DateNotBetween -> "DATE_NOT_BETWEEN"- DateIsValid -> "DATE_IS_VALID"- OneOfRange -> "ONE_OF_RANGE"- OneOfList -> "ONE_OF_LIST"- Blank -> "BLANK"- NotBlank -> "NOT_BLANK"- CustomFormula -> "CUSTOM_FORMULA"--instance FromJSON BooleanConditionType where- parseJSON = parseJSONText "BooleanConditionType"--instance ToJSON BooleanConditionType where- toJSON = toJSONText---- | The major dimension of the values. For output, if the spreadsheet data--- is: \`A1=1,B1=2,A2=3,B2=4\`, then requesting--- \`range=A1:B2,majorDimension=ROWS\` will return \`[[1,2],[3,4]]\`,--- whereas requesting \`range=A1:B2,majorDimension=COLUMNS\` will return--- \`[[1,3],[2,4]]\`. For input, with \`range=A1:B2,majorDimension=ROWS\`--- then \`[[1,2],[3,4]]\` will set \`A1=1,B1=2,A2=3,B2=4\`. With--- \`range=A1:B2,majorDimension=COLUMNS\` then \`[[1,2],[3,4]]\` will set--- \`A1=1,B1=3,A2=2,B2=4\`. When writing, if this field is not set, it--- defaults to ROWS.-data ValueRangeMajorDimension- = VRMDDimensionUnspecified- -- ^ @DIMENSION_UNSPECIFIED@- -- The default value, do not use.- | VRMDRows- -- ^ @ROWS@- -- Operates on the rows of a sheet.- | VRMDColumns- -- ^ @COLUMNS@- -- Operates on the columns of a sheet.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable ValueRangeMajorDimension--instance FromHttpApiData ValueRangeMajorDimension where- parseQueryParam = \case- "DIMENSION_UNSPECIFIED" -> Right VRMDDimensionUnspecified- "ROWS" -> Right VRMDRows- "COLUMNS" -> Right VRMDColumns- x -> Left ("Unable to parse ValueRangeMajorDimension from: " <> x)--instance ToHttpApiData ValueRangeMajorDimension where- toQueryParam = \case- VRMDDimensionUnspecified -> "DIMENSION_UNSPECIFIED"- VRMDRows -> "ROWS"- VRMDColumns -> "COLUMNS"--instance FromJSON ValueRangeMajorDimension where- parseJSON = parseJSONText "ValueRangeMajorDimension"--instance ToJSON ValueRangeMajorDimension where- toJSON = toJSONText---- | The order the values in this group should be sorted.-data PivotGroupSortOrder- = PGSOSortOrderUnspecified- -- ^ @SORT_ORDER_UNSPECIFIED@- -- Default value, do not use this.- | PGSOAscending- -- ^ @ASCENDING@- -- Sort ascending.- | PGSODescending- -- ^ @DESCENDING@- -- Sort descending.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable PivotGroupSortOrder--instance FromHttpApiData PivotGroupSortOrder where- parseQueryParam = \case- "SORT_ORDER_UNSPECIFIED" -> Right PGSOSortOrderUnspecified- "ASCENDING" -> Right PGSOAscending- "DESCENDING" -> Right PGSODescending- x -> Left ("Unable to parse PivotGroupSortOrder from: " <> x)--instance ToHttpApiData PivotGroupSortOrder where- toQueryParam = \case- PGSOSortOrderUnspecified -> "SORT_ORDER_UNSPECIFIED"- PGSOAscending -> "ASCENDING"- PGSODescending -> "DESCENDING"--instance FromJSON PivotGroupSortOrder where- parseJSON = parseJSONText "PivotGroupSortOrder"--instance ToJSON PivotGroupSortOrder where- toJSON = toJSONText---- | The type of the chart.-data BasicChartSpecChartType- = BasicChartTypeUnspecified- -- ^ @BASIC_CHART_TYPE_UNSPECIFIED@- -- Default value, do not use.- | Bar- -- ^ @BAR@- -- A </chart/interactive/docs/gallery/barchart bar chart>.- | Line- -- ^ @LINE@- -- A </chart/interactive/docs/gallery/linechart line chart>.- | Area- -- ^ @AREA@- -- An </chart/interactive/docs/gallery/areachart area chart>.- | Column- -- ^ @COLUMN@- -- A </chart/interactive/docs/gallery/columnchart column chart>.- | Scatter- -- ^ @SCATTER@- -- A </chart/interactive/docs/gallery/scatterchart scatter chart>.- | Combo- -- ^ @COMBO@- -- A </chart/interactive/docs/gallery/combochart combo chart>.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable BasicChartSpecChartType--instance FromHttpApiData BasicChartSpecChartType where- parseQueryParam = \case- "BASIC_CHART_TYPE_UNSPECIFIED" -> Right BasicChartTypeUnspecified- "BAR" -> Right Bar- "LINE" -> Right Line- "AREA" -> Right Area- "COLUMN" -> Right Column- "SCATTER" -> Right Scatter- "COMBO" -> Right Combo- x -> Left ("Unable to parse BasicChartSpecChartType from: " <> x)--instance ToHttpApiData BasicChartSpecChartType where- toQueryParam = \case- BasicChartTypeUnspecified -> "BASIC_CHART_TYPE_UNSPECIFIED"- Bar -> "BAR"- Line -> "LINE"- Area -> "AREA"- Column -> "COLUMN"- Scatter -> "SCATTER"- Combo -> "COMBO"--instance FromJSON BasicChartSpecChartType where- parseJSON = parseJSONText "BasicChartSpecChartType"--instance ToJSON BasicChartSpecChartType where- toJSON = toJSONText---- | V1 error format.-data Xgafv- = X1- -- ^ @1@- -- v1 error format- | X2- -- ^ @2@- -- v2 error format- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable Xgafv--instance FromHttpApiData Xgafv where- parseQueryParam = \case- "1" -> Right X1- "2" -> Right X2- x -> Left ("Unable to parse Xgafv from: " <> x)--instance ToHttpApiData Xgafv where- toQueryParam = \case- X1 -> "1"- X2 -> "2"--instance FromJSON Xgafv where- parseJSON = parseJSONText "Xgafv"--instance ToJSON Xgafv where- toJSON = toJSONText---- | The amount of time to wait before volatile functions are recalculated.-data SpreadsheetPropertiesAutoRecalc- = RecalculationIntervalUnspecified- -- ^ @RECALCULATION_INTERVAL_UNSPECIFIED@- -- Default value. This value must not be used.- | OnChange- -- ^ @ON_CHANGE@- -- Volatile functions are updated on every change.- | Minute- -- ^ @MINUTE@- -- Volatile functions are updated on every change and every minute.- | Hour- -- ^ @HOUR@- -- Volatile functions are updated on every change and hourly.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable SpreadsheetPropertiesAutoRecalc--instance FromHttpApiData SpreadsheetPropertiesAutoRecalc where- parseQueryParam = \case- "RECALCULATION_INTERVAL_UNSPECIFIED" -> Right RecalculationIntervalUnspecified- "ON_CHANGE" -> Right OnChange- "MINUTE" -> Right Minute- "HOUR" -> Right Hour- x -> Left ("Unable to parse SpreadsheetPropertiesAutoRecalc from: " <> x)--instance ToHttpApiData SpreadsheetPropertiesAutoRecalc where- toQueryParam = \case- RecalculationIntervalUnspecified -> "RECALCULATION_INTERVAL_UNSPECIFIED"- OnChange -> "ON_CHANGE"- Minute -> "MINUTE"- Hour -> "HOUR"--instance FromJSON SpreadsheetPropertiesAutoRecalc where- parseJSON = parseJSONText "SpreadsheetPropertiesAutoRecalc"--instance ToJSON SpreadsheetPropertiesAutoRecalc where- toJSON = toJSONText---- | How that data should be oriented when pasting.-data CopyPasteRequestPasteOrientation- = Normal- -- ^ @NORMAL@- -- Paste normally.- | Transpose- -- ^ @TRANSPOSE@- -- Paste transposed, where all rows become columns and vice versa.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable CopyPasteRequestPasteOrientation--instance FromHttpApiData CopyPasteRequestPasteOrientation where- parseQueryParam = \case- "NORMAL" -> Right Normal- "TRANSPOSE" -> Right Transpose- x -> Left ("Unable to parse CopyPasteRequestPasteOrientation from: " <> x)--instance ToHttpApiData CopyPasteRequestPasteOrientation where- toQueryParam = \case- Normal -> "NORMAL"- Transpose -> "TRANSPOSE"--instance FromJSON CopyPasteRequestPasteOrientation where- parseJSON = parseJSONText "CopyPasteRequestPasteOrientation"--instance ToJSON CopyPasteRequestPasteOrientation where- toJSON = toJSONText---- | How the data should be pasted.-data PasteDataRequestType- = PDRTPasteNormal- -- ^ @PASTE_NORMAL@- -- Paste values, formulas, formats, and merges.- | PDRTPasteValues- -- ^ @PASTE_VALUES@- -- Paste the values ONLY without formats, formulas, or merges.- | PDRTPasteFormat- -- ^ @PASTE_FORMAT@- -- Paste the format and data validation only.- | PDRTPasteNoBOrders- -- ^ @PASTE_NO_BORDERS@- -- Like PASTE_NORMAL but without borders.- | PDRTPasteFormula- -- ^ @PASTE_FORMULA@- -- Paste the formulas only.- | PDRTPasteDataValidation- -- ^ @PASTE_DATA_VALIDATION@- -- Paste the data validation only.- | PDRTPasteConditionalFormatting- -- ^ @PASTE_CONDITIONAL_FORMATTING@- -- Paste the conditional formatting rules only.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable PasteDataRequestType--instance FromHttpApiData PasteDataRequestType where- parseQueryParam = \case- "PASTE_NORMAL" -> Right PDRTPasteNormal- "PASTE_VALUES" -> Right PDRTPasteValues- "PASTE_FORMAT" -> Right PDRTPasteFormat- "PASTE_NO_BORDERS" -> Right PDRTPasteNoBOrders- "PASTE_FORMULA" -> Right PDRTPasteFormula- "PASTE_DATA_VALIDATION" -> Right PDRTPasteDataValidation- "PASTE_CONDITIONAL_FORMATTING" -> Right PDRTPasteConditionalFormatting- x -> Left ("Unable to parse PasteDataRequestType from: " <> x)--instance ToHttpApiData PasteDataRequestType where- toQueryParam = \case- PDRTPasteNormal -> "PASTE_NORMAL"- PDRTPasteValues -> "PASTE_VALUES"- PDRTPasteFormat -> "PASTE_FORMAT"- PDRTPasteNoBOrders -> "PASTE_NO_BORDERS"- PDRTPasteFormula -> "PASTE_FORMULA"- PDRTPasteDataValidation -> "PASTE_DATA_VALIDATION"- PDRTPasteConditionalFormatting -> "PASTE_CONDITIONAL_FORMATTING"--instance FromJSON PasteDataRequestType where- parseJSON = parseJSONText "PasteDataRequestType"--instance ToJSON PasteDataRequestType where- toJSON = toJSONText---- | The direction of the text in the cell.-data CellFormatTextDirection- = TextDirectionUnspecified- -- ^ @TEXT_DIRECTION_UNSPECIFIED@- -- The text direction is not specified. Do not use this.- | LeftToRight- -- ^ @LEFT_TO_RIGHT@- -- The text direction of left-to-right was set by the user.- | RightToLeft- -- ^ @RIGHT_TO_LEFT@- -- The text direction of right-to-left was set by the user.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable CellFormatTextDirection--instance FromHttpApiData CellFormatTextDirection where- parseQueryParam = \case- "TEXT_DIRECTION_UNSPECIFIED" -> Right TextDirectionUnspecified- "LEFT_TO_RIGHT" -> Right LeftToRight- "RIGHT_TO_LEFT" -> Right RightToLeft- x -> Left ("Unable to parse CellFormatTextDirection from: " <> x)--instance ToHttpApiData CellFormatTextDirection where- toQueryParam = \case- TextDirectionUnspecified -> "TEXT_DIRECTION_UNSPECIFIED"- LeftToRight -> "LEFT_TO_RIGHT"- RightToLeft -> "RIGHT_TO_LEFT"--instance FromJSON CellFormatTextDirection where- parseJSON = parseJSONText "CellFormatTextDirection"--instance ToJSON CellFormatTextDirection where- toJSON = toJSONText---- | The type of this series. Valid only if the chartType is COMBO. Different--- types will change the way the series is visualized. Only LINE, AREA, and--- COLUMN are supported.-data BasicChartSeriesType- = BCSTBasicChartTypeUnspecified- -- ^ @BASIC_CHART_TYPE_UNSPECIFIED@- -- Default value, do not use.- | BCSTBar- -- ^ @BAR@- -- A </chart/interactive/docs/gallery/barchart bar chart>.- | BCSTLine- -- ^ @LINE@- -- A </chart/interactive/docs/gallery/linechart line chart>.- | BCSTArea- -- ^ @AREA@- -- An </chart/interactive/docs/gallery/areachart area chart>.- | BCSTColumn- -- ^ @COLUMN@- -- A </chart/interactive/docs/gallery/columnchart column chart>.- | BCSTScatter- -- ^ @SCATTER@- -- A </chart/interactive/docs/gallery/scatterchart scatter chart>.- | BCSTCombo- -- ^ @COMBO@- -- A </chart/interactive/docs/gallery/combochart combo chart>.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable BasicChartSeriesType--instance FromHttpApiData BasicChartSeriesType where- parseQueryParam = \case- "BASIC_CHART_TYPE_UNSPECIFIED" -> Right BCSTBasicChartTypeUnspecified- "BAR" -> Right BCSTBar- "LINE" -> Right BCSTLine- "AREA" -> Right BCSTArea- "COLUMN" -> Right BCSTColumn- "SCATTER" -> Right BCSTScatter- "COMBO" -> Right BCSTCombo- x -> Left ("Unable to parse BasicChartSeriesType from: " <> x)--instance ToHttpApiData BasicChartSeriesType where- toQueryParam = \case- BCSTBasicChartTypeUnspecified -> "BASIC_CHART_TYPE_UNSPECIFIED"- BCSTBar -> "BAR"- BCSTLine -> "LINE"- BCSTArea -> "AREA"- BCSTColumn -> "COLUMN"- BCSTScatter -> "SCATTER"- BCSTCombo -> "COMBO"--instance FromJSON BasicChartSeriesType where- parseJSON = parseJSONText "BasicChartSeriesType"--instance ToJSON BasicChartSeriesType where- toJSON = toJSONText---- | Determines how the charts will use hidden rows or columns.-data ChartSpecHiddenDimensionStrategy- = ChartHiddenDimensionStrategyUnspecified- -- ^ @CHART_HIDDEN_DIMENSION_STRATEGY_UNSPECIFIED@- -- Default value, do not use.- | SkipHiddenRowsAndColumns- -- ^ @SKIP_HIDDEN_ROWS_AND_COLUMNS@- -- Charts will skip hidden rows and columns.- | SkipHiddenRows- -- ^ @SKIP_HIDDEN_ROWS@- -- Charts will skip hidden rows only.- | SkipHiddenColumns- -- ^ @SKIP_HIDDEN_COLUMNS@- -- Charts will skip hidden columns only.- | ShowAll- -- ^ @SHOW_ALL@- -- Charts will not skip any hidden rows or columns.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable ChartSpecHiddenDimensionStrategy--instance FromHttpApiData ChartSpecHiddenDimensionStrategy where- parseQueryParam = \case- "CHART_HIDDEN_DIMENSION_STRATEGY_UNSPECIFIED" -> Right ChartHiddenDimensionStrategyUnspecified- "SKIP_HIDDEN_ROWS_AND_COLUMNS" -> Right SkipHiddenRowsAndColumns- "SKIP_HIDDEN_ROWS" -> Right SkipHiddenRows- "SKIP_HIDDEN_COLUMNS" -> Right SkipHiddenColumns- "SHOW_ALL" -> Right ShowAll- x -> Left ("Unable to parse ChartSpecHiddenDimensionStrategy from: " <> x)--instance ToHttpApiData ChartSpecHiddenDimensionStrategy where- toQueryParam = \case- ChartHiddenDimensionStrategyUnspecified -> "CHART_HIDDEN_DIMENSION_STRATEGY_UNSPECIFIED"- SkipHiddenRowsAndColumns -> "SKIP_HIDDEN_ROWS_AND_COLUMNS"- SkipHiddenRows -> "SKIP_HIDDEN_ROWS"- SkipHiddenColumns -> "SKIP_HIDDEN_COLUMNS"- ShowAll -> "SHOW_ALL"--instance FromJSON ChartSpecHiddenDimensionStrategy where- parseJSON = parseJSONText "ChartSpecHiddenDimensionStrategy"--instance ToJSON ChartSpecHiddenDimensionStrategy where- toJSON = toJSONText---- | The style of the border.-data BOrderStyle- = StyleUnspecified- -- ^ @STYLE_UNSPECIFIED@- -- The style is not specified. Do not use this.- | Dotted- -- ^ @DOTTED@- -- The border is dotted.- | Dashed- -- ^ @DASHED@- -- The border is dashed.- | Solid- -- ^ @SOLID@- -- The border is a thin solid line.- | SolidMedium- -- ^ @SOLID_MEDIUM@- -- The border is a medium solid line.- | SolidThick- -- ^ @SOLID_THICK@- -- The border is a thick solid line.- | None- -- ^ @NONE@- -- No border. Used only when updating a border in order to erase it.- | Double- -- ^ @DOUBLE@- -- The border is two solid lines.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable BOrderStyle--instance FromHttpApiData BOrderStyle where- parseQueryParam = \case- "STYLE_UNSPECIFIED" -> Right StyleUnspecified- "DOTTED" -> Right Dotted- "DASHED" -> Right Dashed- "SOLID" -> Right Solid- "SOLID_MEDIUM" -> Right SolidMedium- "SOLID_THICK" -> Right SolidThick- "NONE" -> Right None- "DOUBLE" -> Right Double- x -> Left ("Unable to parse BOrderStyle from: " <> x)--instance ToHttpApiData BOrderStyle where- toQueryParam = \case- StyleUnspecified -> "STYLE_UNSPECIFIED"- Dotted -> "DOTTED"- Dashed -> "DASHED"- Solid -> "SOLID"- SolidMedium -> "SOLID_MEDIUM"- SolidThick -> "SOLID_THICK"- None -> "NONE"- Double -> "DOUBLE"--instance FromJSON BOrderStyle where- parseJSON = parseJSONText "BOrderStyle"--instance ToJSON BOrderStyle where- toJSON = toJSONText---- | What kind of data to paste. All the source data will be cut, regardless--- of what is pasted.-data CutPasteRequestPasteType- = CPRPTPasteNormal- -- ^ @PASTE_NORMAL@- -- Paste values, formulas, formats, and merges.- | CPRPTPasteValues- -- ^ @PASTE_VALUES@- -- Paste the values ONLY without formats, formulas, or merges.- | CPRPTPasteFormat- -- ^ @PASTE_FORMAT@- -- Paste the format and data validation only.- | CPRPTPasteNoBOrders- -- ^ @PASTE_NO_BORDERS@- -- Like PASTE_NORMAL but without borders.- | CPRPTPasteFormula- -- ^ @PASTE_FORMULA@- -- Paste the formulas only.- | CPRPTPasteDataValidation- -- ^ @PASTE_DATA_VALIDATION@- -- Paste the data validation only.- | CPRPTPasteConditionalFormatting- -- ^ @PASTE_CONDITIONAL_FORMATTING@- -- Paste the conditional formatting rules only.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable CutPasteRequestPasteType--instance FromHttpApiData CutPasteRequestPasteType where- parseQueryParam = \case- "PASTE_NORMAL" -> Right CPRPTPasteNormal- "PASTE_VALUES" -> Right CPRPTPasteValues- "PASTE_FORMAT" -> Right CPRPTPasteFormat- "PASTE_NO_BORDERS" -> Right CPRPTPasteNoBOrders- "PASTE_FORMULA" -> Right CPRPTPasteFormula- "PASTE_DATA_VALIDATION" -> Right CPRPTPasteDataValidation- "PASTE_CONDITIONAL_FORMATTING" -> Right CPRPTPasteConditionalFormatting- x -> Left ("Unable to parse CutPasteRequestPasteType from: " <> x)--instance ToHttpApiData CutPasteRequestPasteType where- toQueryParam = \case- CPRPTPasteNormal -> "PASTE_NORMAL"- CPRPTPasteValues -> "PASTE_VALUES"- CPRPTPasteFormat -> "PASTE_FORMAT"- CPRPTPasteNoBOrders -> "PASTE_NO_BORDERS"- CPRPTPasteFormula -> "PASTE_FORMULA"- CPRPTPasteDataValidation -> "PASTE_DATA_VALIDATION"- CPRPTPasteConditionalFormatting -> "PASTE_CONDITIONAL_FORMATTING"--instance FromJSON CutPasteRequestPasteType where- parseJSON = parseJSONText "CutPasteRequestPasteType"--instance ToJSON CutPasteRequestPasteType where- toJSON = toJSONText---- | The position of the chart legend.-data BasicChartSpecLegendPosition- = BCSLPBasicChartLegendPositionUnspecified- -- ^ @BASIC_CHART_LEGEND_POSITION_UNSPECIFIED@- -- Default value, do not use.- | BCSLPBottomLegend- -- ^ @BOTTOM_LEGEND@- -- The legend is rendered on the bottom of the chart.- | BCSLPLeftLegend- -- ^ @LEFT_LEGEND@- -- The legend is rendered on the left of the chart.- | BCSLPRightLegend- -- ^ @RIGHT_LEGEND@- -- The legend is rendered on the right of the chart.- | BCSLPTopLegend- -- ^ @TOP_LEGEND@- -- The legend is rendered on the top of the chart.- | BCSLPNoLegend- -- ^ @NO_LEGEND@- -- No legend is rendered.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable BasicChartSpecLegendPosition--instance FromHttpApiData BasicChartSpecLegendPosition where- parseQueryParam = \case- "BASIC_CHART_LEGEND_POSITION_UNSPECIFIED" -> Right BCSLPBasicChartLegendPositionUnspecified- "BOTTOM_LEGEND" -> Right BCSLPBottomLegend- "LEFT_LEGEND" -> Right BCSLPLeftLegend- "RIGHT_LEGEND" -> Right BCSLPRightLegend- "TOP_LEGEND" -> Right BCSLPTopLegend- "NO_LEGEND" -> Right BCSLPNoLegend- x -> Left ("Unable to parse BasicChartSpecLegendPosition from: " <> x)--instance ToHttpApiData BasicChartSpecLegendPosition where- toQueryParam = \case- BCSLPBasicChartLegendPositionUnspecified -> "BASIC_CHART_LEGEND_POSITION_UNSPECIFIED"- BCSLPBottomLegend -> "BOTTOM_LEGEND"- BCSLPLeftLegend -> "LEFT_LEGEND"- BCSLPRightLegend -> "RIGHT_LEGEND"- BCSLPTopLegend -> "TOP_LEGEND"- BCSLPNoLegend -> "NO_LEGEND"--instance FromJSON BasicChartSpecLegendPosition where- parseJSON = parseJSONText "BasicChartSpecLegendPosition"--instance ToJSON BasicChartSpecLegendPosition where- toJSON = toJSONText---- | The type of error.-data ErrorValueType- = ErrorTypeUnspecified- -- ^ @ERROR_TYPE_UNSPECIFIED@- -- The default error type, do not use this.- | Error'- -- ^ @ERROR@- -- Corresponds to the \`#ERROR!\` error.- | NullValue- -- ^ @NULL_VALUE@- -- Corresponds to the \`#NULL!\` error.- | DivideByZero- -- ^ @DIVIDE_BY_ZERO@- -- Corresponds to the \`#DIV\/0\` error.- | Value- -- ^ @VALUE@- -- Corresponds to the \`#VALUE!\` error.- | Ref- -- ^ @REF@- -- Corresponds to the \`#REF!\` error.- | Name- -- ^ @NAME@- -- Corresponds to the \`#NAME?\` error.- | Num- -- ^ @NUM@- -- Corresponds to the \`#NUM\`! error.- | NA- -- ^ @N_A@- -- Corresponds to the \`#N\/A\` error.- | Loading- -- ^ @LOADING@- -- Corresponds to the \`Loading...\` state.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable ErrorValueType--instance FromHttpApiData ErrorValueType where- parseQueryParam = \case- "ERROR_TYPE_UNSPECIFIED" -> Right ErrorTypeUnspecified- "ERROR" -> Right Error'- "NULL_VALUE" -> Right NullValue- "DIVIDE_BY_ZERO" -> Right DivideByZero- "VALUE" -> Right Value- "REF" -> Right Ref- "NAME" -> Right Name- "NUM" -> Right Num- "N_A" -> Right NA- "LOADING" -> Right Loading- x -> Left ("Unable to parse ErrorValueType from: " <> x)--instance ToHttpApiData ErrorValueType where- toQueryParam = \case- ErrorTypeUnspecified -> "ERROR_TYPE_UNSPECIFIED"- Error' -> "ERROR"- NullValue -> "NULL_VALUE"- DivideByZero -> "DIVIDE_BY_ZERO"- Value -> "VALUE"- Ref -> "REF"- Name -> "NAME"- Num -> "NUM"- NA -> "N_A"- Loading -> "LOADING"--instance FromJSON ErrorValueType where- parseJSON = parseJSONText "ErrorValueType"--instance ToJSON ErrorValueType where- toJSON = toJSONText---- | Whether values should be listed horizontally (as columns) or vertically--- (as rows).-data PivotTableValueLayout- = Horizontal- -- ^ @HORIZONTAL@- -- Values are laid out horizontally (as columns).- | Vertical- -- ^ @VERTICAL@- -- Values are laid out vertically (as rows).- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable PivotTableValueLayout--instance FromHttpApiData PivotTableValueLayout where- parseQueryParam = \case- "HORIZONTAL" -> Right Horizontal- "VERTICAL" -> Right Vertical- x -> Left ("Unable to parse PivotTableValueLayout from: " <> x)--instance ToHttpApiData PivotTableValueLayout where- toQueryParam = \case- Horizontal -> "HORIZONTAL"- Vertical -> "VERTICAL"--instance FromJSON PivotTableValueLayout where- parseJSON = parseJSONText "PivotTableValueLayout"--instance ToJSON PivotTableValueLayout where- toJSON = toJSONText---- | How the value should be interpreted.-data InterpolationPointType- = IPTInterpolationPointTypeUnspecified- -- ^ @INTERPOLATION_POINT_TYPE_UNSPECIFIED@- -- The default value, do not use.- | IPTMin- -- ^ @MIN@- -- The interpolation point will use the minimum value in the cells over the- -- range of the conditional format.- | IPTMax- -- ^ @MAX@- -- The interpolation point will use the maximum value in the cells over the- -- range of the conditional format.- | IPTNumber- -- ^ @NUMBER@- -- The interpolation point will use exactly the value in- -- InterpolationPoint.value.- | IPTPercent- -- ^ @PERCENT@- -- The interpolation point will be the given percentage over all the cells- -- in the range of the conditional format. This is equivalent to NUMBER if- -- the value was: \`=(MAX(FLATTEN(range)) * (value \/ 100)) +- -- (MIN(FLATTEN(range)) * (1 - (value \/ 100)))\` (where errors in the- -- range are ignored when flattening).- | IPTPercentile- -- ^ @PERCENTILE@- -- The interpolation point will be the given percentile over all the cells- -- in the range of the conditional format. This is equivalent to NUMBER if- -- the value was: \`=PERCENTILE(FLATTEN(range), value \/ 100)\` (where- -- errors in the range are ignored when flattening).- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable InterpolationPointType--instance FromHttpApiData InterpolationPointType where- parseQueryParam = \case- "INTERPOLATION_POINT_TYPE_UNSPECIFIED" -> Right IPTInterpolationPointTypeUnspecified- "MIN" -> Right IPTMin- "MAX" -> Right IPTMax- "NUMBER" -> Right IPTNumber- "PERCENT" -> Right IPTPercent- "PERCENTILE" -> Right IPTPercentile- x -> Left ("Unable to parse InterpolationPointType from: " <> x)--instance ToHttpApiData InterpolationPointType where- toQueryParam = \case- IPTInterpolationPointTypeUnspecified -> "INTERPOLATION_POINT_TYPE_UNSPECIFIED"- IPTMin -> "MIN"- IPTMax -> "MAX"- IPTNumber -> "NUMBER"- IPTPercent -> "PERCENT"- IPTPercentile -> "PERCENTILE"--instance FromJSON InterpolationPointType where- parseJSON = parseJSONText "InterpolationPointType"--instance ToJSON InterpolationPointType where- toJSON = toJSONText---- | The delimiter type to use.-data TextToColumnsRequestDelimiterType- = TTCRDTDelimiterTypeUnspecified- -- ^ @DELIMITER_TYPE_UNSPECIFIED@- -- Default value. This value must not be used.- | TTCRDTComma- -- ^ @COMMA@- -- \",\"- | TTCRDTSemicolon- -- ^ @SEMICOLON@- -- \";\"- | TTCRDTPeriod- -- ^ @PERIOD@- -- \".\"- | TTCRDTSpace- -- ^ @SPACE@- -- \" \"- | TTCRDTCustom- -- ^ @CUSTOM@- -- A custom value as defined in delimiter.- deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable TextToColumnsRequestDelimiterType--instance FromHttpApiData TextToColumnsRequestDelimiterType where- parseQueryParam = \case- "DELIMITER_TYPE_UNSPECIFIED" -> Right TTCRDTDelimiterTypeUnspecified- "COMMA" -> Right TTCRDTComma- "SEMICOLON" -> Right TTCRDTSemicolon- "PERIOD" -> Right TTCRDTPeriod- "SPACE" -> Right TTCRDTSpace- "CUSTOM" -> Right TTCRDTCustom- x -> Left ("Unable to parse TextToColumnsRequestDelimiterType from: " <> x)--instance ToHttpApiData TextToColumnsRequestDelimiterType where- toQueryParam = \case- TTCRDTDelimiterTypeUnspecified -> "DELIMITER_TYPE_UNSPECIFIED"- TTCRDTComma -> "COMMA"- TTCRDTSemicolon -> "SEMICOLON"- TTCRDTPeriod -> "PERIOD"- TTCRDTSpace -> "SPACE"- TTCRDTCustom -> "CUSTOM"+import Network.Google.Prelude hiding (Bytes)++-- | The stacked type for charts that support vertical stacking. Applies to+-- Area, Bar, Column, Combo, and Stepped Area charts.+data BasicChartSpecStackedType+ = BasicChartStackedTypeUnspecified+ -- ^ @BASIC_CHART_STACKED_TYPE_UNSPECIFIED@+ -- Default value, do not use.+ | NotStacked+ -- ^ @NOT_STACKED@+ -- Series are not stacked.+ | Stacked+ -- ^ @STACKED@+ -- Series values are stacked, each value is rendered vertically beginning+ -- from the top of the value below it.+ | PercentStacked+ -- ^ @PERCENT_STACKED@+ -- Vertical stacks are stretched to reach the top of the chart, with values+ -- laid out as percentages of each other.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable BasicChartSpecStackedType++instance FromHttpApiData BasicChartSpecStackedType where+ parseQueryParam = \case+ "BASIC_CHART_STACKED_TYPE_UNSPECIFIED" -> Right BasicChartStackedTypeUnspecified+ "NOT_STACKED" -> Right NotStacked+ "STACKED" -> Right Stacked+ "PERCENT_STACKED" -> Right PercentStacked+ x -> Left ("Unable to parse BasicChartSpecStackedType from: " <> x)++instance ToHttpApiData BasicChartSpecStackedType where+ toQueryParam = \case+ BasicChartStackedTypeUnspecified -> "BASIC_CHART_STACKED_TYPE_UNSPECIFIED"+ NotStacked -> "NOT_STACKED"+ Stacked -> "STACKED"+ PercentStacked -> "PERCENT_STACKED"++instance FromJSON BasicChartSpecStackedType where+ parseJSON = parseJSONText "BasicChartSpecStackedType"++instance ToJSON BasicChartSpecStackedType where+ toJSON = toJSONText++-- | What kind of data to paste.+data CopyPasteRequestPasteType+ = PasteNormal+ -- ^ @PASTE_NORMAL@+ -- Paste values, formulas, formats, and merges.+ | PasteValues+ -- ^ @PASTE_VALUES@+ -- Paste the values ONLY without formats, formulas, or merges.+ | PasteFormat+ -- ^ @PASTE_FORMAT@+ -- Paste the format and data validation only.+ | PasteNoBOrders+ -- ^ @PASTE_NO_BORDERS@+ -- Like PASTE_NORMAL but without borders.+ | PasteFormula+ -- ^ @PASTE_FORMULA@+ -- Paste the formulas only.+ | PasteDataValidation+ -- ^ @PASTE_DATA_VALIDATION@+ -- Paste the data validation only.+ | PasteConditionalFormatting+ -- ^ @PASTE_CONDITIONAL_FORMATTING@+ -- Paste the conditional formatting rules only.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable CopyPasteRequestPasteType++instance FromHttpApiData CopyPasteRequestPasteType where+ parseQueryParam = \case+ "PASTE_NORMAL" -> Right PasteNormal+ "PASTE_VALUES" -> Right PasteValues+ "PASTE_FORMAT" -> Right PasteFormat+ "PASTE_NO_BORDERS" -> Right PasteNoBOrders+ "PASTE_FORMULA" -> Right PasteFormula+ "PASTE_DATA_VALIDATION" -> Right PasteDataValidation+ "PASTE_CONDITIONAL_FORMATTING" -> Right PasteConditionalFormatting+ x -> Left ("Unable to parse CopyPasteRequestPasteType from: " <> x)++instance ToHttpApiData CopyPasteRequestPasteType where+ toQueryParam = \case+ PasteNormal -> "PASTE_NORMAL"+ PasteValues -> "PASTE_VALUES"+ PasteFormat -> "PASTE_FORMAT"+ PasteNoBOrders -> "PASTE_NO_BORDERS"+ PasteFormula -> "PASTE_FORMULA"+ PasteDataValidation -> "PASTE_DATA_VALIDATION"+ PasteConditionalFormatting -> "PASTE_CONDITIONAL_FORMATTING"++instance FromJSON CopyPasteRequestPasteType where+ parseJSON = parseJSONText "CopyPasteRequestPasteType"++instance ToJSON CopyPasteRequestPasteType where+ toJSON = toJSONText++-- | Determines how this lookup matches the location. If this field is+-- specified as EXACT, only developer metadata associated on the exact+-- location specified is matched. If this field is specified to+-- INTERSECTING, developer metadata associated on intersecting locations is+-- also matched. If left unspecified, this field assumes a default value of+-- INTERSECTING. If this field is specified, a metadataLocation must also+-- be specified.+data DeveloperMetadataLookupLocationMatchingStrategy+ = DeveloperMetadataLocationMatchingStrategyUnspecified+ -- ^ @DEVELOPER_METADATA_LOCATION_MATCHING_STRATEGY_UNSPECIFIED@+ -- Default value. This value must not be used.+ | ExactLocation+ -- ^ @EXACT_LOCATION@+ -- Indicates that a specified location should be matched exactly. For+ -- example, if row three were specified as a location this matching+ -- strategy would only match developer metadata also associated on row+ -- three. Metadata associated on other locations would not be considered.+ | IntersectingLocation+ -- ^ @INTERSECTING_LOCATION@+ -- Indicates that a specified location should match that exact location as+ -- well as any intersecting locations. For example, if row three were+ -- specified as a location this matching strategy would match developer+ -- metadata associated on row three as well as metadata associated on+ -- locations that intersect row three. If, for instance, there was+ -- developer metadata associated on column B, this matching strategy would+ -- also match that location because column B intersects row three.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DeveloperMetadataLookupLocationMatchingStrategy++instance FromHttpApiData DeveloperMetadataLookupLocationMatchingStrategy where+ parseQueryParam = \case+ "DEVELOPER_METADATA_LOCATION_MATCHING_STRATEGY_UNSPECIFIED" -> Right DeveloperMetadataLocationMatchingStrategyUnspecified+ "EXACT_LOCATION" -> Right ExactLocation+ "INTERSECTING_LOCATION" -> Right IntersectingLocation+ x -> Left ("Unable to parse DeveloperMetadataLookupLocationMatchingStrategy from: " <> x)++instance ToHttpApiData DeveloperMetadataLookupLocationMatchingStrategy where+ toQueryParam = \case+ DeveloperMetadataLocationMatchingStrategyUnspecified -> "DEVELOPER_METADATA_LOCATION_MATCHING_STRATEGY_UNSPECIFIED"+ ExactLocation -> "EXACT_LOCATION"+ IntersectingLocation -> "INTERSECTING_LOCATION"++instance FromJSON DeveloperMetadataLookupLocationMatchingStrategy where+ parseJSON = parseJSONText "DeveloperMetadataLookupLocationMatchingStrategy"++instance ToJSON DeveloperMetadataLookupLocationMatchingStrategy where+ toJSON = toJSONText++-- | Determines how dates, times, and durations in the response should be+-- rendered. This is ignored if response_value_render_option is+-- FORMATTED_VALUE. The default dateTime render option is+-- DateTimeRenderOption.SERIAL_NUMBER.+data BatchUpdateValuesByDataFilterRequestResponseDateTimeRenderOption+ = SerialNumber+ -- ^ @SERIAL_NUMBER@+ -- Instructs date, time, datetime, and duration fields to be output as+ -- doubles in \"serial number\" format, as popularized by Lotus 1-2-3. The+ -- whole number portion of the value (left of the decimal) counts the days+ -- since December 30th 1899. The fractional portion (right of the decimal)+ -- counts the time as a fraction of the day. For example, January 1st 1900+ -- at noon would be 2.5, 2 because it\'s 2 days after December 30st 1899,+ -- and .5 because noon is half a day. February 1st 1900 at 3pm would be+ -- 33.625. This correctly treats the year 1900 as not a leap year.+ | FormattedString+ -- ^ @FORMATTED_STRING@+ -- Instructs date, time, datetime, and duration fields to be output as+ -- strings in their given number format (which is dependent on the+ -- spreadsheet locale).+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable BatchUpdateValuesByDataFilterRequestResponseDateTimeRenderOption++instance FromHttpApiData BatchUpdateValuesByDataFilterRequestResponseDateTimeRenderOption where+ parseQueryParam = \case+ "SERIAL_NUMBER" -> Right SerialNumber+ "FORMATTED_STRING" -> Right FormattedString+ x -> Left ("Unable to parse BatchUpdateValuesByDataFilterRequestResponseDateTimeRenderOption from: " <> x)++instance ToHttpApiData BatchUpdateValuesByDataFilterRequestResponseDateTimeRenderOption where+ toQueryParam = \case+ SerialNumber -> "SERIAL_NUMBER"+ FormattedString -> "FORMATTED_STRING"++instance FromJSON BatchUpdateValuesByDataFilterRequestResponseDateTimeRenderOption where+ parseJSON = parseJSONText "BatchUpdateValuesByDataFilterRequestResponseDateTimeRenderOption"++instance ToJSON BatchUpdateValuesByDataFilterRequestResponseDateTimeRenderOption where+ toJSON = toJSONText++-- | The position of this axis.+data BasicChartAxisPosition+ = BasicChartAxisPositionUnspecified+ -- ^ @BASIC_CHART_AXIS_POSITION_UNSPECIFIED@+ -- Default value, do not use.+ | BottomAxis+ -- ^ @BOTTOM_AXIS@+ -- The axis rendered at the bottom of a chart. For most charts, this is the+ -- standard major axis. For bar charts, this is a minor axis.+ | LeftAxis+ -- ^ @LEFT_AXIS@+ -- The axis rendered at the left of a chart. For most charts, this is a+ -- minor axis. For bar charts, this is the standard major axis.+ | RightAxis+ -- ^ @RIGHT_AXIS@+ -- The axis rendered at the right of a chart. For most charts, this is a+ -- minor axis. For bar charts, this is an unusual major axis.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable BasicChartAxisPosition++instance FromHttpApiData BasicChartAxisPosition where+ parseQueryParam = \case+ "BASIC_CHART_AXIS_POSITION_UNSPECIFIED" -> Right BasicChartAxisPositionUnspecified+ "BOTTOM_AXIS" -> Right BottomAxis+ "LEFT_AXIS" -> Right LeftAxis+ "RIGHT_AXIS" -> Right RightAxis+ x -> Left ("Unable to parse BasicChartAxisPosition from: " <> x)++instance ToHttpApiData BasicChartAxisPosition where+ toQueryParam = \case+ BasicChartAxisPositionUnspecified -> "BASIC_CHART_AXIS_POSITION_UNSPECIFIED"+ BottomAxis -> "BOTTOM_AXIS"+ LeftAxis -> "LEFT_AXIS"+ RightAxis -> "RIGHT_AXIS"++instance FromJSON BasicChartAxisPosition where+ parseJSON = parseJSONText "BasicChartAxisPosition"++instance ToJSON BasicChartAxisPosition where+ toJSON = toJSONText++-- | The dimension from which deleted cells will be replaced with. If ROWS,+-- existing cells will be shifted upward to replace the deleted cells. If+-- COLUMNS, existing cells will be shifted left to replace the deleted+-- cells.+data DeleteRangeRequestShiftDimension+ = DimensionUnspecified+ -- ^ @DIMENSION_UNSPECIFIED@+ -- The default value, do not use.+ | Rows+ -- ^ @ROWS@+ -- Operates on the rows of a sheet.+ | Columns+ -- ^ @COLUMNS@+ -- Operates on the columns of a sheet.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DeleteRangeRequestShiftDimension++instance FromHttpApiData DeleteRangeRequestShiftDimension where+ parseQueryParam = \case+ "DIMENSION_UNSPECIFIED" -> Right DimensionUnspecified+ "ROWS" -> Right Rows+ "COLUMNS" -> Right Columns+ x -> Left ("Unable to parse DeleteRangeRequestShiftDimension from: " <> x)++instance ToHttpApiData DeleteRangeRequestShiftDimension where+ toQueryParam = \case+ DimensionUnspecified -> "DIMENSION_UNSPECIFIED"+ Rows -> "ROWS"+ Columns -> "COLUMNS"++instance FromJSON DeleteRangeRequestShiftDimension where+ parseJSON = parseJSONText "DeleteRangeRequestShiftDimension"++instance ToJSON DeleteRangeRequestShiftDimension where+ toJSON = toJSONText++-- | The minor axis that will specify the range of values for this series.+-- For example, if charting stocks over time, the \"Volume\" series may+-- want to be pinned to the right with the prices pinned to the left,+-- because the scale of trading volume is different than the scale of+-- prices. It is an error to specify an axis that isn\'t a valid minor axis+-- for the chart\'s type.+data BasicChartSeriesTargetAxis+ = BCSTABasicChartAxisPositionUnspecified+ -- ^ @BASIC_CHART_AXIS_POSITION_UNSPECIFIED@+ -- Default value, do not use.+ | BCSTABottomAxis+ -- ^ @BOTTOM_AXIS@+ -- The axis rendered at the bottom of a chart. For most charts, this is the+ -- standard major axis. For bar charts, this is a minor axis.+ | BCSTALeftAxis+ -- ^ @LEFT_AXIS@+ -- The axis rendered at the left of a chart. For most charts, this is a+ -- minor axis. For bar charts, this is the standard major axis.+ | BCSTARightAxis+ -- ^ @RIGHT_AXIS@+ -- The axis rendered at the right of a chart. For most charts, this is a+ -- minor axis. For bar charts, this is an unusual major axis.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable BasicChartSeriesTargetAxis++instance FromHttpApiData BasicChartSeriesTargetAxis where+ parseQueryParam = \case+ "BASIC_CHART_AXIS_POSITION_UNSPECIFIED" -> Right BCSTABasicChartAxisPositionUnspecified+ "BOTTOM_AXIS" -> Right BCSTABottomAxis+ "LEFT_AXIS" -> Right BCSTALeftAxis+ "RIGHT_AXIS" -> Right BCSTARightAxis+ x -> Left ("Unable to parse BasicChartSeriesTargetAxis from: " <> x)++instance ToHttpApiData BasicChartSeriesTargetAxis where+ toQueryParam = \case+ BCSTABasicChartAxisPositionUnspecified -> "BASIC_CHART_AXIS_POSITION_UNSPECIFIED"+ BCSTABottomAxis -> "BOTTOM_AXIS"+ BCSTALeftAxis -> "LEFT_AXIS"+ BCSTARightAxis -> "RIGHT_AXIS"++instance FromJSON BasicChartSeriesTargetAxis where+ parseJSON = parseJSONText "BasicChartSeriesTargetAxis"++instance ToJSON BasicChartSeriesTargetAxis where+ toJSON = toJSONText++-- | The major dimension of the values.+data DataFilterValueRangeMajorDimension+ = DFVRMDDimensionUnspecified+ -- ^ @DIMENSION_UNSPECIFIED@+ -- The default value, do not use.+ | DFVRMDRows+ -- ^ @ROWS@+ -- Operates on the rows of a sheet.+ | DFVRMDColumns+ -- ^ @COLUMNS@+ -- Operates on the columns of a sheet.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DataFilterValueRangeMajorDimension++instance FromHttpApiData DataFilterValueRangeMajorDimension where+ parseQueryParam = \case+ "DIMENSION_UNSPECIFIED" -> Right DFVRMDDimensionUnspecified+ "ROWS" -> Right DFVRMDRows+ "COLUMNS" -> Right DFVRMDColumns+ x -> Left ("Unable to parse DataFilterValueRangeMajorDimension from: " <> x)++instance ToHttpApiData DataFilterValueRangeMajorDimension where+ toQueryParam = \case+ DFVRMDDimensionUnspecified -> "DIMENSION_UNSPECIFIED"+ DFVRMDRows -> "ROWS"+ DFVRMDColumns -> "COLUMNS"++instance FromJSON DataFilterValueRangeMajorDimension where+ parseJSON = parseJSONText "DataFilterValueRangeMajorDimension"++instance ToJSON DataFilterValueRangeMajorDimension where+ toJSON = toJSONText++-- | Where the legend of the chart should be drawn.+data BubbleChartSpecLegendPosition+ = BubbleChartLegendPositionUnspecified+ -- ^ @BUBBLE_CHART_LEGEND_POSITION_UNSPECIFIED@+ -- Default value, do not use.+ | BottomLegend+ -- ^ @BOTTOM_LEGEND@+ -- The legend is rendered on the bottom of the chart.+ | LeftLegend+ -- ^ @LEFT_LEGEND@+ -- The legend is rendered on the left of the chart.+ | RightLegend+ -- ^ @RIGHT_LEGEND@+ -- The legend is rendered on the right of the chart.+ | TopLegend+ -- ^ @TOP_LEGEND@+ -- The legend is rendered on the top of the chart.+ | NoLegend+ -- ^ @NO_LEGEND@+ -- No legend is rendered.+ | InsideLegend+ -- ^ @INSIDE_LEGEND@+ -- The legend is rendered inside the chart area.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable BubbleChartSpecLegendPosition++instance FromHttpApiData BubbleChartSpecLegendPosition where+ parseQueryParam = \case+ "BUBBLE_CHART_LEGEND_POSITION_UNSPECIFIED" -> Right BubbleChartLegendPositionUnspecified+ "BOTTOM_LEGEND" -> Right BottomLegend+ "LEFT_LEGEND" -> Right LeftLegend+ "RIGHT_LEGEND" -> Right RightLegend+ "TOP_LEGEND" -> Right TopLegend+ "NO_LEGEND" -> Right NoLegend+ "INSIDE_LEGEND" -> Right InsideLegend+ x -> Left ("Unable to parse BubbleChartSpecLegendPosition from: " <> x)++instance ToHttpApiData BubbleChartSpecLegendPosition where+ toQueryParam = \case+ BubbleChartLegendPositionUnspecified -> "BUBBLE_CHART_LEGEND_POSITION_UNSPECIFIED"+ BottomLegend -> "BOTTOM_LEGEND"+ LeftLegend -> "LEFT_LEGEND"+ RightLegend -> "RIGHT_LEGEND"+ TopLegend -> "TOP_LEGEND"+ NoLegend -> "NO_LEGEND"+ InsideLegend -> "INSIDE_LEGEND"++instance FromJSON BubbleChartSpecLegendPosition where+ parseJSON = parseJSONText "BubbleChartSpecLegendPosition"++instance ToJSON BubbleChartSpecLegendPosition where+ toJSON = toJSONText++-- | Determines how dates, times, and durations in the response should be+-- rendered. This is ignored if response_value_render_option is+-- FORMATTED_VALUE. The default dateTime render option is+-- DateTimeRenderOption.SERIAL_NUMBER.+data BatchUpdateValuesRequestResponseDateTimeRenderOption+ = BUVRRDTROSerialNumber+ -- ^ @SERIAL_NUMBER@+ -- Instructs date, time, datetime, and duration fields to be output as+ -- doubles in \"serial number\" format, as popularized by Lotus 1-2-3. The+ -- whole number portion of the value (left of the decimal) counts the days+ -- since December 30th 1899. The fractional portion (right of the decimal)+ -- counts the time as a fraction of the day. For example, January 1st 1900+ -- at noon would be 2.5, 2 because it\'s 2 days after December 30st 1899,+ -- and .5 because noon is half a day. February 1st 1900 at 3pm would be+ -- 33.625. This correctly treats the year 1900 as not a leap year.+ | BUVRRDTROFormattedString+ -- ^ @FORMATTED_STRING@+ -- Instructs date, time, datetime, and duration fields to be output as+ -- strings in their given number format (which is dependent on the+ -- spreadsheet locale).+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable BatchUpdateValuesRequestResponseDateTimeRenderOption++instance FromHttpApiData BatchUpdateValuesRequestResponseDateTimeRenderOption where+ parseQueryParam = \case+ "SERIAL_NUMBER" -> Right BUVRRDTROSerialNumber+ "FORMATTED_STRING" -> Right BUVRRDTROFormattedString+ x -> Left ("Unable to parse BatchUpdateValuesRequestResponseDateTimeRenderOption from: " <> x)++instance ToHttpApiData BatchUpdateValuesRequestResponseDateTimeRenderOption where+ toQueryParam = \case+ BUVRRDTROSerialNumber -> "SERIAL_NUMBER"+ BUVRRDTROFormattedString -> "FORMATTED_STRING"++instance FromJSON BatchUpdateValuesRequestResponseDateTimeRenderOption where+ parseJSON = parseJSONText "BatchUpdateValuesRequestResponseDateTimeRenderOption"++instance ToJSON BatchUpdateValuesRequestResponseDateTimeRenderOption where+ toJSON = toJSONText++-- | Whether rows or columns should be appended.+data AppendDimensionRequestDimension+ = ADRDDimensionUnspecified+ -- ^ @DIMENSION_UNSPECIFIED@+ -- The default value, do not use.+ | ADRDRows+ -- ^ @ROWS@+ -- Operates on the rows of a sheet.+ | ADRDColumns+ -- ^ @COLUMNS@+ -- Operates on the columns of a sheet.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable AppendDimensionRequestDimension++instance FromHttpApiData AppendDimensionRequestDimension where+ parseQueryParam = \case+ "DIMENSION_UNSPECIFIED" -> Right ADRDDimensionUnspecified+ "ROWS" -> Right ADRDRows+ "COLUMNS" -> Right ADRDColumns+ x -> Left ("Unable to parse AppendDimensionRequestDimension from: " <> x)++instance ToHttpApiData AppendDimensionRequestDimension where+ toQueryParam = \case+ ADRDDimensionUnspecified -> "DIMENSION_UNSPECIFIED"+ ADRDRows -> "ROWS"+ ADRDColumns -> "COLUMNS"++instance FromJSON AppendDimensionRequestDimension where+ parseJSON = parseJSONText "AppendDimensionRequestDimension"++instance ToJSON AppendDimensionRequestDimension where+ toJSON = toJSONText++-- | The dimension of the span.+data DimensionRangeDimension+ = DRDDimensionUnspecified+ -- ^ @DIMENSION_UNSPECIFIED@+ -- The default value, do not use.+ | DRDRows+ -- ^ @ROWS@+ -- Operates on the rows of a sheet.+ | DRDColumns+ -- ^ @COLUMNS@+ -- Operates on the columns of a sheet.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DimensionRangeDimension++instance FromHttpApiData DimensionRangeDimension where+ parseQueryParam = \case+ "DIMENSION_UNSPECIFIED" -> Right DRDDimensionUnspecified+ "ROWS" -> Right DRDRows+ "COLUMNS" -> Right DRDColumns+ x -> Left ("Unable to parse DimensionRangeDimension from: " <> x)++instance ToHttpApiData DimensionRangeDimension where+ toQueryParam = \case+ DRDDimensionUnspecified -> "DIMENSION_UNSPECIFIED"+ DRDRows -> "ROWS"+ DRDColumns -> "COLUMNS"++instance FromJSON DimensionRangeDimension where+ parseJSON = parseJSONText "DimensionRangeDimension"++instance ToJSON DimensionRangeDimension where+ toJSON = toJSONText++-- | How values should be represented in the output. The default render+-- option is ValueRenderOption.FORMATTED_VALUE.+data BatchGetValuesByDataFilterRequestValueRenderOption+ = FormattedValue+ -- ^ @FORMATTED_VALUE@+ -- Values will be calculated & formatted in the reply according to the+ -- cell\'s formatting. Formatting is based on the spreadsheet\'s locale,+ -- not the requesting user\'s locale. For example, if \`A1\` is \`1.23\`+ -- and \`A2\` is \`=A1\` and formatted as currency, then \`A2\` would+ -- return \`\"$1.23\"\`.+ | UnformattedValue+ -- ^ @UNFORMATTED_VALUE@+ -- Values will be calculated, but not formatted in the reply. For example,+ -- if \`A1\` is \`1.23\` and \`A2\` is \`=A1\` and formatted as currency,+ -- then \`A2\` would return the number \`1.23\`.+ | Formula+ -- ^ @FORMULA@+ -- Values will not be calculated. The reply will include the formulas. For+ -- example, if \`A1\` is \`1.23\` and \`A2\` is \`=A1\` and formatted as+ -- currency, then A2 would return \`\"=A1\"\`.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable BatchGetValuesByDataFilterRequestValueRenderOption++instance FromHttpApiData BatchGetValuesByDataFilterRequestValueRenderOption where+ parseQueryParam = \case+ "FORMATTED_VALUE" -> Right FormattedValue+ "UNFORMATTED_VALUE" -> Right UnformattedValue+ "FORMULA" -> Right Formula+ x -> Left ("Unable to parse BatchGetValuesByDataFilterRequestValueRenderOption from: " <> x)++instance ToHttpApiData BatchGetValuesByDataFilterRequestValueRenderOption where+ toQueryParam = \case+ FormattedValue -> "FORMATTED_VALUE"+ UnformattedValue -> "UNFORMATTED_VALUE"+ Formula -> "FORMULA"++instance FromJSON BatchGetValuesByDataFilterRequestValueRenderOption where+ parseJSON = parseJSONText "BatchGetValuesByDataFilterRequestValueRenderOption"++instance ToJSON BatchGetValuesByDataFilterRequestValueRenderOption where+ toJSON = toJSONText++-- | The dimension that data should be filled into.+data SourceAndDestinationDimension+ = SADDDimensionUnspecified+ -- ^ @DIMENSION_UNSPECIFIED@+ -- The default value, do not use.+ | SADDRows+ -- ^ @ROWS@+ -- Operates on the rows of a sheet.+ | SADDColumns+ -- ^ @COLUMNS@+ -- Operates on the columns of a sheet.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable SourceAndDestinationDimension++instance FromHttpApiData SourceAndDestinationDimension where+ parseQueryParam = \case+ "DIMENSION_UNSPECIFIED" -> Right SADDDimensionUnspecified+ "ROWS" -> Right SADDRows+ "COLUMNS" -> Right SADDColumns+ x -> Left ("Unable to parse SourceAndDestinationDimension from: " <> x)++instance ToHttpApiData SourceAndDestinationDimension where+ toQueryParam = \case+ SADDDimensionUnspecified -> "DIMENSION_UNSPECIFIED"+ SADDRows -> "ROWS"+ SADDColumns -> "COLUMNS"++instance FromJSON SourceAndDestinationDimension where+ parseJSON = parseJSONText "SourceAndDestinationDimension"++instance ToJSON SourceAndDestinationDimension where+ toJSON = toJSONText++-- | The wrap strategy for the value in the cell.+data CellFormatWrapStrategy+ = WrapStrategyUnspecified+ -- ^ @WRAP_STRATEGY_UNSPECIFIED@+ -- The default value, do not use.+ | OverflowCell+ -- ^ @OVERFLOW_CELL@+ -- Lines that are longer than the cell width will be written in the next+ -- cell over, so long as that cell is empty. If the next cell over is+ -- non-empty, this behaves the same as CLIP. The text will never wrap to+ -- the next line unless the user manually inserts a new line. Example: |+ -- First sentence. | | Manual newline that is very long. \<- Text continues+ -- into next cell | Next newline. |+ | LegacyWrap+ -- ^ @LEGACY_WRAP@+ -- This wrap strategy represents the old Google Sheets wrap strategy where+ -- words that are longer than a line are clipped rather than broken. This+ -- strategy is not supported on all platforms and is being phased out.+ -- Example: | Cell has a | | loooooooooo| \<- Word is clipped. | word. |+ | Clip+ -- ^ @CLIP@+ -- Lines that are longer than the cell width will be clipped. The text will+ -- never wrap to the next line unless the user manually inserts a new line.+ -- Example: | First sentence. | | Manual newline t| \<- Text is clipped |+ -- Next newline. |+ | Wrap+ -- ^ @WRAP@+ -- Words that are longer than a line are wrapped at the character level+ -- rather than clipped. Example: | Cell has a | | loooooooooo| \<- Word is+ -- broken. | ong word. |+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable CellFormatWrapStrategy++instance FromHttpApiData CellFormatWrapStrategy where+ parseQueryParam = \case+ "WRAP_STRATEGY_UNSPECIFIED" -> Right WrapStrategyUnspecified+ "OVERFLOW_CELL" -> Right OverflowCell+ "LEGACY_WRAP" -> Right LegacyWrap+ "CLIP" -> Right Clip+ "WRAP" -> Right Wrap+ x -> Left ("Unable to parse CellFormatWrapStrategy from: " <> x)++instance ToHttpApiData CellFormatWrapStrategy where+ toQueryParam = \case+ WrapStrategyUnspecified -> "WRAP_STRATEGY_UNSPECIFIED"+ OverflowCell -> "OVERFLOW_CELL"+ LegacyWrap -> "LEGACY_WRAP"+ Clip -> "CLIP"+ Wrap -> "WRAP"++instance FromJSON CellFormatWrapStrategy where+ parseJSON = parseJSONText "CellFormatWrapStrategy"++instance ToJSON CellFormatWrapStrategy where+ toJSON = toJSONText++-- | How the input data should be interpreted.+data BatchUpdateValuesRequestValueInputOption+ = InputValueOptionUnspecified+ -- ^ @INPUT_VALUE_OPTION_UNSPECIFIED@+ -- Default input value. This value must not be used.+ | Raw+ -- ^ @RAW@+ -- The values the user has entered will not be parsed and will be stored+ -- as-is.+ | UserEntered+ -- ^ @USER_ENTERED@+ -- The values will be parsed as if the user typed them into the UI. Numbers+ -- will stay as numbers, but strings may be converted to numbers, dates,+ -- etc. following the same rules that are applied when entering text into a+ -- cell via the Google Sheets UI.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable BatchUpdateValuesRequestValueInputOption++instance FromHttpApiData BatchUpdateValuesRequestValueInputOption where+ parseQueryParam = \case+ "INPUT_VALUE_OPTION_UNSPECIFIED" -> Right InputValueOptionUnspecified+ "RAW" -> Right Raw+ "USER_ENTERED" -> Right UserEntered+ x -> Left ("Unable to parse BatchUpdateValuesRequestValueInputOption from: " <> x)++instance ToHttpApiData BatchUpdateValuesRequestValueInputOption where+ toQueryParam = \case+ InputValueOptionUnspecified -> "INPUT_VALUE_OPTION_UNSPECIFIED"+ Raw -> "RAW"+ UserEntered -> "USER_ENTERED"++instance FromJSON BatchUpdateValuesRequestValueInputOption where+ parseJSON = parseJSONText "BatchUpdateValuesRequestValueInputOption"++instance ToJSON BatchUpdateValuesRequestValueInputOption where+ toJSON = toJSONText++-- | Horizontal alignment setting for the piece of text.+data TextPositionHorizontalAlignment+ = HorizontalAlignUnspecified+ -- ^ @HORIZONTAL_ALIGN_UNSPECIFIED@+ -- The horizontal alignment is not specified. Do not use this.+ | Left'+ -- ^ @LEFT@+ -- The text is explicitly aligned to the left of the cell.+ | Center+ -- ^ @CENTER@+ -- The text is explicitly aligned to the center of the cell.+ | Right'+ -- ^ @RIGHT@+ -- The text is explicitly aligned to the right of the cell.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable TextPositionHorizontalAlignment++instance FromHttpApiData TextPositionHorizontalAlignment where+ parseQueryParam = \case+ "HORIZONTAL_ALIGN_UNSPECIFIED" -> Right HorizontalAlignUnspecified+ "LEFT" -> Right Left'+ "CENTER" -> Right Center+ "RIGHT" -> Right Right'+ x -> Left ("Unable to parse TextPositionHorizontalAlignment from: " <> x)++instance ToHttpApiData TextPositionHorizontalAlignment where+ toQueryParam = \case+ HorizontalAlignUnspecified -> "HORIZONTAL_ALIGN_UNSPECIFIED"+ Left' -> "LEFT"+ Center -> "CENTER"+ Right' -> "RIGHT"++instance FromJSON TextPositionHorizontalAlignment where+ parseJSON = parseJSONText "TextPositionHorizontalAlignment"++instance ToJSON TextPositionHorizontalAlignment where+ toJSON = toJSONText++-- | The metadata visibility. Developer metadata must always have a+-- visibility specified.+data DeveloperMetadataVisibility+ = DeveloperMetadataVisibilityUnspecified+ -- ^ @DEVELOPER_METADATA_VISIBILITY_UNSPECIFIED@+ -- Default value.+ | Document+ -- ^ @DOCUMENT@+ -- Document-visible metadata is accessible from any developer project with+ -- access to the document.+ | Project+ -- ^ @PROJECT@+ -- Project-visible metadata is only visible to and accessible by the+ -- developer project that created the metadata.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DeveloperMetadataVisibility++instance FromHttpApiData DeveloperMetadataVisibility where+ parseQueryParam = \case+ "DEVELOPER_METADATA_VISIBILITY_UNSPECIFIED" -> Right DeveloperMetadataVisibilityUnspecified+ "DOCUMENT" -> Right Document+ "PROJECT" -> Right Project+ x -> Left ("Unable to parse DeveloperMetadataVisibility from: " <> x)++instance ToHttpApiData DeveloperMetadataVisibility where+ toQueryParam = \case+ DeveloperMetadataVisibilityUnspecified -> "DEVELOPER_METADATA_VISIBILITY_UNSPECIFIED"+ Document -> "DOCUMENT"+ Project -> "PROJECT"++instance FromJSON DeveloperMetadataVisibility where+ parseJSON = parseJSONText "DeveloperMetadataVisibility"++instance ToJSON DeveloperMetadataVisibility where+ toJSON = toJSONText++-- | Determines how values in the response should be rendered. The default+-- render option is ValueRenderOption.FORMATTED_VALUE.+data BatchUpdateValuesRequestResponseValueRenderOption+ = BUVRRVROFormattedValue+ -- ^ @FORMATTED_VALUE@+ -- Values will be calculated & formatted in the reply according to the+ -- cell\'s formatting. Formatting is based on the spreadsheet\'s locale,+ -- not the requesting user\'s locale. For example, if \`A1\` is \`1.23\`+ -- and \`A2\` is \`=A1\` and formatted as currency, then \`A2\` would+ -- return \`\"$1.23\"\`.+ | BUVRRVROUnformattedValue+ -- ^ @UNFORMATTED_VALUE@+ -- Values will be calculated, but not formatted in the reply. For example,+ -- if \`A1\` is \`1.23\` and \`A2\` is \`=A1\` and formatted as currency,+ -- then \`A2\` would return the number \`1.23\`.+ | BUVRRVROFormula+ -- ^ @FORMULA@+ -- Values will not be calculated. The reply will include the formulas. For+ -- example, if \`A1\` is \`1.23\` and \`A2\` is \`=A1\` and formatted as+ -- currency, then A2 would return \`\"=A1\"\`.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable BatchUpdateValuesRequestResponseValueRenderOption++instance FromHttpApiData BatchUpdateValuesRequestResponseValueRenderOption where+ parseQueryParam = \case+ "FORMATTED_VALUE" -> Right BUVRRVROFormattedValue+ "UNFORMATTED_VALUE" -> Right BUVRRVROUnformattedValue+ "FORMULA" -> Right BUVRRVROFormula+ x -> Left ("Unable to parse BatchUpdateValuesRequestResponseValueRenderOption from: " <> x)++instance ToHttpApiData BatchUpdateValuesRequestResponseValueRenderOption where+ toQueryParam = \case+ BUVRRVROFormattedValue -> "FORMATTED_VALUE"+ BUVRRVROUnformattedValue -> "UNFORMATTED_VALUE"+ BUVRRVROFormula -> "FORMULA"++instance FromJSON BatchUpdateValuesRequestResponseValueRenderOption where+ parseJSON = parseJSONText "BatchUpdateValuesRequestResponseValueRenderOption"++instance ToJSON BatchUpdateValuesRequestResponseValueRenderOption where+ toJSON = toJSONText++-- | Where the legend of the pie chart should be drawn.+data PieChartSpecLegendPosition+ = PCSLPPieChartLegendPositionUnspecified+ -- ^ @PIE_CHART_LEGEND_POSITION_UNSPECIFIED@+ -- Default value, do not use.+ | PCSLPBottomLegend+ -- ^ @BOTTOM_LEGEND@+ -- The legend is rendered on the bottom of the chart.+ | PCSLPLeftLegend+ -- ^ @LEFT_LEGEND@+ -- The legend is rendered on the left of the chart.+ | PCSLPRightLegend+ -- ^ @RIGHT_LEGEND@+ -- The legend is rendered on the right of the chart.+ | PCSLPTopLegend+ -- ^ @TOP_LEGEND@+ -- The legend is rendered on the top of the chart.+ | PCSLPNoLegend+ -- ^ @NO_LEGEND@+ -- No legend is rendered.+ | PCSLPLabeledLegend+ -- ^ @LABELED_LEGEND@+ -- Each pie slice has a label attached to it.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable PieChartSpecLegendPosition++instance FromHttpApiData PieChartSpecLegendPosition where+ parseQueryParam = \case+ "PIE_CHART_LEGEND_POSITION_UNSPECIFIED" -> Right PCSLPPieChartLegendPositionUnspecified+ "BOTTOM_LEGEND" -> Right PCSLPBottomLegend+ "LEFT_LEGEND" -> Right PCSLPLeftLegend+ "RIGHT_LEGEND" -> Right PCSLPRightLegend+ "TOP_LEGEND" -> Right PCSLPTopLegend+ "NO_LEGEND" -> Right PCSLPNoLegend+ "LABELED_LEGEND" -> Right PCSLPLabeledLegend+ x -> Left ("Unable to parse PieChartSpecLegendPosition from: " <> x)++instance ToHttpApiData PieChartSpecLegendPosition where+ toQueryParam = \case+ PCSLPPieChartLegendPositionUnspecified -> "PIE_CHART_LEGEND_POSITION_UNSPECIFIED"+ PCSLPBottomLegend -> "BOTTOM_LEGEND"+ PCSLPLeftLegend -> "LEFT_LEGEND"+ PCSLPRightLegend -> "RIGHT_LEGEND"+ PCSLPTopLegend -> "TOP_LEGEND"+ PCSLPNoLegend -> "NO_LEGEND"+ PCSLPLabeledLegend -> "LABELED_LEGEND"++instance FromJSON PieChartSpecLegendPosition where+ parseJSON = parseJSONText "PieChartSpecLegendPosition"++instance ToJSON PieChartSpecLegendPosition where+ toJSON = toJSONText++-- | The vertical alignment of the value in the cell.+data CellFormatVerticalAlignment+ = VerticalAlignUnspecified+ -- ^ @VERTICAL_ALIGN_UNSPECIFIED@+ -- The vertical alignment is not specified. Do not use this.+ | Top+ -- ^ @TOP@+ -- The text is explicitly aligned to the top of the cell.+ | Middle+ -- ^ @MIDDLE@+ -- The text is explicitly aligned to the middle of the cell.+ | Bottom+ -- ^ @BOTTOM@+ -- The text is explicitly aligned to the bottom of the cell.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable CellFormatVerticalAlignment++instance FromHttpApiData CellFormatVerticalAlignment where+ parseQueryParam = \case+ "VERTICAL_ALIGN_UNSPECIFIED" -> Right VerticalAlignUnspecified+ "TOP" -> Right Top+ "MIDDLE" -> Right Middle+ "BOTTOM" -> Right Bottom+ x -> Left ("Unable to parse CellFormatVerticalAlignment from: " <> x)++instance ToHttpApiData CellFormatVerticalAlignment where+ toQueryParam = \case+ VerticalAlignUnspecified -> "VERTICAL_ALIGN_UNSPECIFIED"+ Top -> "TOP"+ Middle -> "MIDDLE"+ Bottom -> "BOTTOM"++instance FromJSON CellFormatVerticalAlignment where+ parseJSON = parseJSONText "CellFormatVerticalAlignment"++instance ToJSON CellFormatVerticalAlignment where+ toJSON = toJSONText++-- | The type of the number format. When writing, this field must be set.+data NumberFormatType+ = NumberFormatTypeUnspecified+ -- ^ @NUMBER_FORMAT_TYPE_UNSPECIFIED@+ -- The number format is not specified and is based on the contents of the+ -- cell. Do not explicitly use this.+ | Text+ -- ^ @TEXT@+ -- Text formatting, e.g \`1000.12\`+ | Number+ -- ^ @NUMBER@+ -- Number formatting, e.g, \`1,000.12\`+ | Percent+ -- ^ @PERCENT@+ -- Percent formatting, e.g \`10.12%\`+ | Currency+ -- ^ @CURRENCY@+ -- Currency formatting, e.g \`$1,000.12\`+ | Date+ -- ^ @DATE@+ -- Date formatting, e.g \`9\/26\/2008\`+ | Time+ -- ^ @TIME@+ -- Time formatting, e.g \`3:59:00 PM\`+ | DateTime+ -- ^ @DATE_TIME@+ -- Date+Time formatting, e.g \`9\/26\/08 15:59:00\`+ | Scientific+ -- ^ @SCIENTIFIC@+ -- Scientific number formatting, e.g \`1.01E+03\`+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable NumberFormatType++instance FromHttpApiData NumberFormatType where+ parseQueryParam = \case+ "NUMBER_FORMAT_TYPE_UNSPECIFIED" -> Right NumberFormatTypeUnspecified+ "TEXT" -> Right Text+ "NUMBER" -> Right Number+ "PERCENT" -> Right Percent+ "CURRENCY" -> Right Currency+ "DATE" -> Right Date+ "TIME" -> Right Time+ "DATE_TIME" -> Right DateTime+ "SCIENTIFIC" -> Right Scientific+ x -> Left ("Unable to parse NumberFormatType from: " <> x)++instance ToHttpApiData NumberFormatType where+ toQueryParam = \case+ NumberFormatTypeUnspecified -> "NUMBER_FORMAT_TYPE_UNSPECIFIED"+ Text -> "TEXT"+ Number -> "NUMBER"+ Percent -> "PERCENT"+ Currency -> "CURRENCY"+ Date -> "DATE"+ Time -> "TIME"+ DateTime -> "DATE_TIME"+ Scientific -> "SCIENTIFIC"++instance FromJSON NumberFormatType where+ parseJSON = parseJSONText "NumberFormatType"++instance ToJSON NumberFormatType where+ toJSON = toJSONText++-- | A relative date (based on the current date). Valid only if the type is+-- DATE_BEFORE, DATE_AFTER, DATE_ON_OR_BEFORE or DATE_ON_OR_AFTER. Relative+-- dates are not supported in data validation. They are supported only in+-- conditional formatting and conditional filters.+data ConditionValueRelativeDate+ = RelativeDateUnspecified+ -- ^ @RELATIVE_DATE_UNSPECIFIED@+ -- Default value, do not use.+ | PastYear+ -- ^ @PAST_YEAR@+ -- The value is one year before today.+ | PastMonth+ -- ^ @PAST_MONTH@+ -- The value is one month before today.+ | PastWeek+ -- ^ @PAST_WEEK@+ -- The value is one week before today.+ | Yesterday+ -- ^ @YESTERDAY@+ -- The value is yesterday.+ | Today+ -- ^ @TODAY@+ -- The value is today.+ | Tomorrow+ -- ^ @TOMORROW@+ -- The value is tomorrow.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ConditionValueRelativeDate++instance FromHttpApiData ConditionValueRelativeDate where+ parseQueryParam = \case+ "RELATIVE_DATE_UNSPECIFIED" -> Right RelativeDateUnspecified+ "PAST_YEAR" -> Right PastYear+ "PAST_MONTH" -> Right PastMonth+ "PAST_WEEK" -> Right PastWeek+ "YESTERDAY" -> Right Yesterday+ "TODAY" -> Right Today+ "TOMORROW" -> Right Tomorrow+ x -> Left ("Unable to parse ConditionValueRelativeDate from: " <> x)++instance ToHttpApiData ConditionValueRelativeDate where+ toQueryParam = \case+ RelativeDateUnspecified -> "RELATIVE_DATE_UNSPECIFIED"+ PastYear -> "PAST_YEAR"+ PastMonth -> "PAST_MONTH"+ PastWeek -> "PAST_WEEK"+ Yesterday -> "YESTERDAY"+ Today -> "TODAY"+ Tomorrow -> "TOMORROW"++instance FromJSON ConditionValueRelativeDate where+ parseJSON = parseJSONText "ConditionValueRelativeDate"++instance ToJSON ConditionValueRelativeDate where+ toJSON = toJSONText++-- | The type of location this object represents. This field is read-only.+data DeveloperMetadataLocationLocationType+ = DMLLTDeveloperMetadataLocationTypeUnspecified+ -- ^ @DEVELOPER_METADATA_LOCATION_TYPE_UNSPECIFIED@+ -- Default value.+ | DMLLTRow+ -- ^ @ROW@+ -- Developer metadata associated on an entire row dimension.+ | DMLLTColumn+ -- ^ @COLUMN@+ -- Developer metadata associated on an entire column dimension.+ | DMLLTSheet+ -- ^ @SHEET@+ -- Developer metadata associated on an entire sheet.+ | DMLLTSpreadsheet+ -- ^ @SPREADSHEET@+ -- Developer metadata associated on the entire spreadsheet.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DeveloperMetadataLocationLocationType++instance FromHttpApiData DeveloperMetadataLocationLocationType where+ parseQueryParam = \case+ "DEVELOPER_METADATA_LOCATION_TYPE_UNSPECIFIED" -> Right DMLLTDeveloperMetadataLocationTypeUnspecified+ "ROW" -> Right DMLLTRow+ "COLUMN" -> Right DMLLTColumn+ "SHEET" -> Right DMLLTSheet+ "SPREADSHEET" -> Right DMLLTSpreadsheet+ x -> Left ("Unable to parse DeveloperMetadataLocationLocationType from: " <> x)++instance ToHttpApiData DeveloperMetadataLocationLocationType where+ toQueryParam = \case+ DMLLTDeveloperMetadataLocationTypeUnspecified -> "DEVELOPER_METADATA_LOCATION_TYPE_UNSPECIFIED"+ DMLLTRow -> "ROW"+ DMLLTColumn -> "COLUMN"+ DMLLTSheet -> "SHEET"+ DMLLTSpreadsheet -> "SPREADSHEET"++instance FromJSON DeveloperMetadataLocationLocationType where+ parseJSON = parseJSONText "DeveloperMetadataLocationLocationType"++instance ToJSON DeveloperMetadataLocationLocationType where+ toJSON = toJSONText++-- | The order data should be sorted.+data SortSpecSortOrder+ = SortOrderUnspecified+ -- ^ @SORT_ORDER_UNSPECIFIED@+ -- Default value, do not use this.+ | Ascending+ -- ^ @ASCENDING@+ -- Sort ascending.+ | Descending+ -- ^ @DESCENDING@+ -- Sort descending.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable SortSpecSortOrder++instance FromHttpApiData SortSpecSortOrder where+ parseQueryParam = \case+ "SORT_ORDER_UNSPECIFIED" -> Right SortOrderUnspecified+ "ASCENDING" -> Right Ascending+ "DESCENDING" -> Right Descending+ x -> Left ("Unable to parse SortSpecSortOrder from: " <> x)++instance ToHttpApiData SortSpecSortOrder where+ toQueryParam = \case+ SortOrderUnspecified -> "SORT_ORDER_UNSPECIFIED"+ Ascending -> "ASCENDING"+ Descending -> "DESCENDING"++instance FromJSON SortSpecSortOrder where+ parseJSON = parseJSONText "SortSpecSortOrder"++instance ToJSON SortSpecSortOrder where+ toJSON = toJSONText++-- | A function to summarize the value. If formula is set, the only supported+-- values are SUM and CUSTOM. If sourceColumnOffset is set, then \`CUSTOM\`+-- is not supported.+data PivotValueSummarizeFunction+ = PivotStandardValueFunctionUnspecified+ -- ^ @PIVOT_STANDARD_VALUE_FUNCTION_UNSPECIFIED@+ -- The default, do not use.+ | Sum+ -- ^ @SUM@+ -- Corresponds to the \`SUM\` function.+ | Counta+ -- ^ @COUNTA@+ -- Corresponds to the \`COUNTA\` function.+ | Count+ -- ^ @COUNT@+ -- Corresponds to the \`COUNT\` function.+ | Countunique+ -- ^ @COUNTUNIQUE@+ -- Corresponds to the \`COUNTUNIQUE\` function.+ | Average+ -- ^ @AVERAGE@+ -- Corresponds to the \`AVERAGE\` function.+ | Max+ -- ^ @MAX@+ -- Corresponds to the \`MAX\` function.+ | Min+ -- ^ @MIN@+ -- Corresponds to the \`MIN\` function.+ | Median+ -- ^ @MEDIAN@+ -- Corresponds to the \`MEDIAN\` function.+ | Product+ -- ^ @PRODUCT@+ -- Corresponds to the \`PRODUCT\` function.+ | Stdev+ -- ^ @STDEV@+ -- Corresponds to the \`STDEV\` function.+ | Stdevp+ -- ^ @STDEVP@+ -- Corresponds to the \`STDEVP\` function.+ | Var+ -- ^ @VAR@+ -- Corresponds to the \`VAR\` function.+ | Varp+ -- ^ @VARP@+ -- Corresponds to the \`VARP\` function.+ | Custom+ -- ^ @CUSTOM@+ -- Indicates the formula should be used as-is. Only valid if+ -- PivotValue.formula was set.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable PivotValueSummarizeFunction++instance FromHttpApiData PivotValueSummarizeFunction where+ parseQueryParam = \case+ "PIVOT_STANDARD_VALUE_FUNCTION_UNSPECIFIED" -> Right PivotStandardValueFunctionUnspecified+ "SUM" -> Right Sum+ "COUNTA" -> Right Counta+ "COUNT" -> Right Count+ "COUNTUNIQUE" -> Right Countunique+ "AVERAGE" -> Right Average+ "MAX" -> Right Max+ "MIN" -> Right Min+ "MEDIAN" -> Right Median+ "PRODUCT" -> Right Product+ "STDEV" -> Right Stdev+ "STDEVP" -> Right Stdevp+ "VAR" -> Right Var+ "VARP" -> Right Varp+ "CUSTOM" -> Right Custom+ x -> Left ("Unable to parse PivotValueSummarizeFunction from: " <> x)++instance ToHttpApiData PivotValueSummarizeFunction where+ toQueryParam = \case+ PivotStandardValueFunctionUnspecified -> "PIVOT_STANDARD_VALUE_FUNCTION_UNSPECIFIED"+ Sum -> "SUM"+ Counta -> "COUNTA"+ Count -> "COUNT"+ Countunique -> "COUNTUNIQUE"+ Average -> "AVERAGE"+ Max -> "MAX"+ Min -> "MIN"+ Median -> "MEDIAN"+ Product -> "PRODUCT"+ Stdev -> "STDEV"+ Stdevp -> "STDEVP"+ Var -> "VAR"+ Varp -> "VARP"+ Custom -> "CUSTOM"++instance FromJSON PivotValueSummarizeFunction where+ parseJSON = parseJSONText "PivotValueSummarizeFunction"++instance ToJSON PivotValueSummarizeFunction where+ toJSON = toJSONText++-- | The size of the org chart nodes.+data OrgChartSpecNodeSize+ = OrgChartLabelSizeUnspecified+ -- ^ @ORG_CHART_LABEL_SIZE_UNSPECIFIED@+ -- Default value, do not use.+ | Small+ -- ^ @SMALL@+ -- The small org chart node size.+ | Medium+ -- ^ @MEDIUM@+ -- The medium org chart node size.+ | Large+ -- ^ @LARGE@+ -- The large org chart node size.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable OrgChartSpecNodeSize++instance FromHttpApiData OrgChartSpecNodeSize where+ parseQueryParam = \case+ "ORG_CHART_LABEL_SIZE_UNSPECIFIED" -> Right OrgChartLabelSizeUnspecified+ "SMALL" -> Right Small+ "MEDIUM" -> Right Medium+ "LARGE" -> Right Large+ x -> Left ("Unable to parse OrgChartSpecNodeSize from: " <> x)++instance ToHttpApiData OrgChartSpecNodeSize where+ toQueryParam = \case+ OrgChartLabelSizeUnspecified -> "ORG_CHART_LABEL_SIZE_UNSPECIFIED"+ Small -> "SMALL"+ Medium -> "MEDIUM"+ Large -> "LARGE"++instance FromJSON OrgChartSpecNodeSize where+ parseJSON = parseJSONText "OrgChartSpecNodeSize"++instance ToJSON OrgChartSpecNodeSize where+ toJSON = toJSONText++-- | Determines how values in the response should be rendered. The default+-- render option is ValueRenderOption.FORMATTED_VALUE.+data BatchUpdateValuesByDataFilterRequestResponseValueRenderOption+ = BUVBDFRRVROFormattedValue+ -- ^ @FORMATTED_VALUE@+ -- Values will be calculated & formatted in the reply according to the+ -- cell\'s formatting. Formatting is based on the spreadsheet\'s locale,+ -- not the requesting user\'s locale. For example, if \`A1\` is \`1.23\`+ -- and \`A2\` is \`=A1\` and formatted as currency, then \`A2\` would+ -- return \`\"$1.23\"\`.+ | BUVBDFRRVROUnformattedValue+ -- ^ @UNFORMATTED_VALUE@+ -- Values will be calculated, but not formatted in the reply. For example,+ -- if \`A1\` is \`1.23\` and \`A2\` is \`=A1\` and formatted as currency,+ -- then \`A2\` would return the number \`1.23\`.+ | BUVBDFRRVROFormula+ -- ^ @FORMULA@+ -- Values will not be calculated. The reply will include the formulas. For+ -- example, if \`A1\` is \`1.23\` and \`A2\` is \`=A1\` and formatted as+ -- currency, then A2 would return \`\"=A1\"\`.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable BatchUpdateValuesByDataFilterRequestResponseValueRenderOption++instance FromHttpApiData BatchUpdateValuesByDataFilterRequestResponseValueRenderOption where+ parseQueryParam = \case+ "FORMATTED_VALUE" -> Right BUVBDFRRVROFormattedValue+ "UNFORMATTED_VALUE" -> Right BUVBDFRRVROUnformattedValue+ "FORMULA" -> Right BUVBDFRRVROFormula+ x -> Left ("Unable to parse BatchUpdateValuesByDataFilterRequestResponseValueRenderOption from: " <> x)++instance ToHttpApiData BatchUpdateValuesByDataFilterRequestResponseValueRenderOption where+ toQueryParam = \case+ BUVBDFRRVROFormattedValue -> "FORMATTED_VALUE"+ BUVBDFRRVROUnformattedValue -> "UNFORMATTED_VALUE"+ BUVBDFRRVROFormula -> "FORMULA"++instance FromJSON BatchUpdateValuesByDataFilterRequestResponseValueRenderOption where+ parseJSON = parseJSONText "BatchUpdateValuesByDataFilterRequestResponseValueRenderOption"++instance ToJSON BatchUpdateValuesByDataFilterRequestResponseValueRenderOption where+ toJSON = toJSONText++-- | The dash type of the line.+data LineStyleType+ = LSTLineDashTypeUnspecified+ -- ^ @LINE_DASH_TYPE_UNSPECIFIED@+ -- Default value, do not use.+ | LSTInvisible+ -- ^ @INVISIBLE@+ -- No dash type, which is equivalent to a non-visible line.+ | LSTCustom+ -- ^ @CUSTOM@+ -- A custom dash for a line. Modifying the exact custom dash style is+ -- currently unsupported.+ | LSTSolid+ -- ^ @SOLID@+ -- A solid line.+ | LSTDotted+ -- ^ @DOTTED@+ -- A dotted line.+ | LSTMediumDashed+ -- ^ @MEDIUM_DASHED@+ -- A dashed line where the dashes have \"medium\" length.+ | LSTMediumDashedDotted+ -- ^ @MEDIUM_DASHED_DOTTED@+ -- A line that alternates between a \"medium\" dash and a dot.+ | LSTLongDashed+ -- ^ @LONG_DASHED@+ -- A dashed line where the dashes have \"long\" length.+ | LSTLongDashedDotted+ -- ^ @LONG_DASHED_DOTTED@+ -- A line that alternates between a \"long\" dash and a dot.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable LineStyleType++instance FromHttpApiData LineStyleType where+ parseQueryParam = \case+ "LINE_DASH_TYPE_UNSPECIFIED" -> Right LSTLineDashTypeUnspecified+ "INVISIBLE" -> Right LSTInvisible+ "CUSTOM" -> Right LSTCustom+ "SOLID" -> Right LSTSolid+ "DOTTED" -> Right LSTDotted+ "MEDIUM_DASHED" -> Right LSTMediumDashed+ "MEDIUM_DASHED_DOTTED" -> Right LSTMediumDashedDotted+ "LONG_DASHED" -> Right LSTLongDashed+ "LONG_DASHED_DOTTED" -> Right LSTLongDashedDotted+ x -> Left ("Unable to parse LineStyleType from: " <> x)++instance ToHttpApiData LineStyleType where+ toQueryParam = \case+ LSTLineDashTypeUnspecified -> "LINE_DASH_TYPE_UNSPECIFIED"+ LSTInvisible -> "INVISIBLE"+ LSTCustom -> "CUSTOM"+ LSTSolid -> "SOLID"+ LSTDotted -> "DOTTED"+ LSTMediumDashed -> "MEDIUM_DASHED"+ LSTMediumDashedDotted -> "MEDIUM_DASHED_DOTTED"+ LSTLongDashed -> "LONG_DASHED"+ LSTLongDashedDotted -> "LONG_DASHED_DOTTED"++instance FromJSON LineStyleType where+ parseJSON = parseJSONText "LineStyleType"++instance ToJSON LineStyleType where+ toJSON = toJSONText++-- | How a hyperlink, if it exists, should be displayed in the cell.+data CellFormatHyperlinkDisplayType+ = HyperlinkDisplayTypeUnspecified+ -- ^ @HYPERLINK_DISPLAY_TYPE_UNSPECIFIED@+ -- The default value: the hyperlink is rendered. Do not use this.+ | Linked+ -- ^ @LINKED@+ -- A hyperlink should be explicitly rendered.+ | PlainText+ -- ^ @PLAIN_TEXT@+ -- A hyperlink should not be rendered.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable CellFormatHyperlinkDisplayType++instance FromHttpApiData CellFormatHyperlinkDisplayType where+ parseQueryParam = \case+ "HYPERLINK_DISPLAY_TYPE_UNSPECIFIED" -> Right HyperlinkDisplayTypeUnspecified+ "LINKED" -> Right Linked+ "PLAIN_TEXT" -> Right PlainText+ x -> Left ("Unable to parse CellFormatHyperlinkDisplayType from: " <> x)++instance ToHttpApiData CellFormatHyperlinkDisplayType where+ toQueryParam = \case+ HyperlinkDisplayTypeUnspecified -> "HYPERLINK_DISPLAY_TYPE_UNSPECIFIED"+ Linked -> "LINKED"+ PlainText -> "PLAIN_TEXT"++instance FromJSON CellFormatHyperlinkDisplayType where+ parseJSON = parseJSONText "CellFormatHyperlinkDisplayType"++instance ToJSON CellFormatHyperlinkDisplayType where+ toJSON = toJSONText++-- | How the input data should be interpreted.+data BatchUpdateValuesByDataFilterRequestValueInputOption+ = BUVBDFRVIOInputValueOptionUnspecified+ -- ^ @INPUT_VALUE_OPTION_UNSPECIFIED@+ -- Default input value. This value must not be used.+ | BUVBDFRVIORaw+ -- ^ @RAW@+ -- The values the user has entered will not be parsed and will be stored+ -- as-is.+ | BUVBDFRVIOUserEntered+ -- ^ @USER_ENTERED@+ -- The values will be parsed as if the user typed them into the UI. Numbers+ -- will stay as numbers, but strings may be converted to numbers, dates,+ -- etc. following the same rules that are applied when entering text into a+ -- cell via the Google Sheets UI.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable BatchUpdateValuesByDataFilterRequestValueInputOption++instance FromHttpApiData BatchUpdateValuesByDataFilterRequestValueInputOption where+ parseQueryParam = \case+ "INPUT_VALUE_OPTION_UNSPECIFIED" -> Right BUVBDFRVIOInputValueOptionUnspecified+ "RAW" -> Right BUVBDFRVIORaw+ "USER_ENTERED" -> Right BUVBDFRVIOUserEntered+ x -> Left ("Unable to parse BatchUpdateValuesByDataFilterRequestValueInputOption from: " <> x)++instance ToHttpApiData BatchUpdateValuesByDataFilterRequestValueInputOption where+ toQueryParam = \case+ BUVBDFRVIOInputValueOptionUnspecified -> "INPUT_VALUE_OPTION_UNSPECIFIED"+ BUVBDFRVIORaw -> "RAW"+ BUVBDFRVIOUserEntered -> "USER_ENTERED"++instance FromJSON BatchUpdateValuesByDataFilterRequestValueInputOption where+ parseJSON = parseJSONText "BatchUpdateValuesByDataFilterRequestValueInputOption"++instance ToJSON BatchUpdateValuesByDataFilterRequestValueInputOption where+ toJSON = toJSONText++-- | The position of the chart legend.+data HistogramChartSpecLegendPosition+ = HCSLPHistogramChartLegendPositionUnspecified+ -- ^ @HISTOGRAM_CHART_LEGEND_POSITION_UNSPECIFIED@+ -- Default value, do not use.+ | HCSLPBottomLegend+ -- ^ @BOTTOM_LEGEND@+ -- The legend is rendered on the bottom of the chart.+ | HCSLPLeftLegend+ -- ^ @LEFT_LEGEND@+ -- The legend is rendered on the left of the chart.+ | HCSLPRightLegend+ -- ^ @RIGHT_LEGEND@+ -- The legend is rendered on the right of the chart.+ | HCSLPTopLegend+ -- ^ @TOP_LEGEND@+ -- The legend is rendered on the top of the chart.+ | HCSLPNoLegend+ -- ^ @NO_LEGEND@+ -- No legend is rendered.+ | HCSLPInsideLegend+ -- ^ @INSIDE_LEGEND@+ -- The legend is rendered inside the chart area.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable HistogramChartSpecLegendPosition++instance FromHttpApiData HistogramChartSpecLegendPosition where+ parseQueryParam = \case+ "HISTOGRAM_CHART_LEGEND_POSITION_UNSPECIFIED" -> Right HCSLPHistogramChartLegendPositionUnspecified+ "BOTTOM_LEGEND" -> Right HCSLPBottomLegend+ "LEFT_LEGEND" -> Right HCSLPLeftLegend+ "RIGHT_LEGEND" -> Right HCSLPRightLegend+ "TOP_LEGEND" -> Right HCSLPTopLegend+ "NO_LEGEND" -> Right HCSLPNoLegend+ "INSIDE_LEGEND" -> Right HCSLPInsideLegend+ x -> Left ("Unable to parse HistogramChartSpecLegendPosition from: " <> x)++instance ToHttpApiData HistogramChartSpecLegendPosition where+ toQueryParam = \case+ HCSLPHistogramChartLegendPositionUnspecified -> "HISTOGRAM_CHART_LEGEND_POSITION_UNSPECIFIED"+ HCSLPBottomLegend -> "BOTTOM_LEGEND"+ HCSLPLeftLegend -> "LEFT_LEGEND"+ HCSLPRightLegend -> "RIGHT_LEGEND"+ HCSLPTopLegend -> "TOP_LEGEND"+ HCSLPNoLegend -> "NO_LEGEND"+ HCSLPInsideLegend -> "INSIDE_LEGEND"++instance FromJSON HistogramChartSpecLegendPosition where+ parseJSON = parseJSONText "HistogramChartSpecLegendPosition"++instance ToJSON HistogramChartSpecLegendPosition where+ toJSON = toJSONText++-- | The type of sheet. Defaults to GRID. This field cannot be changed once+-- set.+data SheetPropertiesSheetType+ = SheetTypeUnspecified+ -- ^ @SHEET_TYPE_UNSPECIFIED@+ -- Default value, do not use.+ | Grid+ -- ^ @GRID@+ -- The sheet is a grid.+ | Object+ -- ^ @OBJECT@+ -- The sheet has no grid and instead has an object like a chart or image.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable SheetPropertiesSheetType++instance FromHttpApiData SheetPropertiesSheetType where+ parseQueryParam = \case+ "SHEET_TYPE_UNSPECIFIED" -> Right SheetTypeUnspecified+ "GRID" -> Right Grid+ "OBJECT" -> Right Object+ x -> Left ("Unable to parse SheetPropertiesSheetType from: " <> x)++instance ToHttpApiData SheetPropertiesSheetType where+ toQueryParam = \case+ SheetTypeUnspecified -> "SHEET_TYPE_UNSPECIFIED"+ Grid -> "GRID"+ Object -> "OBJECT"++instance FromJSON SheetPropertiesSheetType where+ parseJSON = parseJSONText "SheetPropertiesSheetType"++instance ToJSON SheetPropertiesSheetType where+ toJSON = toJSONText++-- | Limits the selected developer metadata to those entries which are+-- associated with locations of the specified type. For example, when this+-- field is specified as ROW this lookup only considers developer metadata+-- associated on rows. If the field is left unspecified, all location types+-- are considered. This field cannot be specified as SPREADSHEET when the+-- locationMatchingStrategy is specified as INTERSECTING or when the+-- metadataLocation is specified as a non-spreadsheet location: spreadsheet+-- metadata cannot intersect any other developer metadata location. This+-- field also must be left unspecified when the locationMatchingStrategy is+-- specified as EXACT.+data DeveloperMetadataLookupLocationType+ = DDeveloperMetadataLocationTypeUnspecified+ -- ^ @DEVELOPER_METADATA_LOCATION_TYPE_UNSPECIFIED@+ -- Default value.+ | DRow+ -- ^ @ROW@+ -- Developer metadata associated on an entire row dimension.+ | DColumn+ -- ^ @COLUMN@+ -- Developer metadata associated on an entire column dimension.+ | DSheet+ -- ^ @SHEET@+ -- Developer metadata associated on an entire sheet.+ | DSpreadsheet+ -- ^ @SPREADSHEET@+ -- Developer metadata associated on the entire spreadsheet.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DeveloperMetadataLookupLocationType++instance FromHttpApiData DeveloperMetadataLookupLocationType where+ parseQueryParam = \case+ "DEVELOPER_METADATA_LOCATION_TYPE_UNSPECIFIED" -> Right DDeveloperMetadataLocationTypeUnspecified+ "ROW" -> Right DRow+ "COLUMN" -> Right DColumn+ "SHEET" -> Right DSheet+ "SPREADSHEET" -> Right DSpreadsheet+ x -> Left ("Unable to parse DeveloperMetadataLookupLocationType from: " <> x)++instance ToHttpApiData DeveloperMetadataLookupLocationType where+ toQueryParam = \case+ DDeveloperMetadataLocationTypeUnspecified -> "DEVELOPER_METADATA_LOCATION_TYPE_UNSPECIFIED"+ DRow -> "ROW"+ DColumn -> "COLUMN"+ DSheet -> "SHEET"+ DSpreadsheet -> "SPREADSHEET"++instance FromJSON DeveloperMetadataLookupLocationType where+ parseJSON = parseJSONText "DeveloperMetadataLookupLocationType"++instance ToJSON DeveloperMetadataLookupLocationType where+ toJSON = toJSONText++-- | How the cells should be merged.+data MergeCellsRequestMergeType+ = MergeAll+ -- ^ @MERGE_ALL@+ -- Create a single merge from the range+ | MergeColumns+ -- ^ @MERGE_COLUMNS@+ -- Create a merge for each column in the range+ | MergeRows+ -- ^ @MERGE_ROWS@+ -- Create a merge for each row in the range+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable MergeCellsRequestMergeType++instance FromHttpApiData MergeCellsRequestMergeType where+ parseQueryParam = \case+ "MERGE_ALL" -> Right MergeAll+ "MERGE_COLUMNS" -> Right MergeColumns+ "MERGE_ROWS" -> Right MergeRows+ x -> Left ("Unable to parse MergeCellsRequestMergeType from: " <> x)++instance ToHttpApiData MergeCellsRequestMergeType where+ toQueryParam = \case+ MergeAll -> "MERGE_ALL"+ MergeColumns -> "MERGE_COLUMNS"+ MergeRows -> "MERGE_ROWS"++instance FromJSON MergeCellsRequestMergeType where+ parseJSON = parseJSONText "MergeCellsRequestMergeType"++instance ToJSON MergeCellsRequestMergeType where+ toJSON = toJSONText++-- | The horizontal alignment of the value in the cell.+data CellFormatHorizontalAlignment+ = CFHAHorizontalAlignUnspecified+ -- ^ @HORIZONTAL_ALIGN_UNSPECIFIED@+ -- The horizontal alignment is not specified. Do not use this.+ | CFHALeft'+ -- ^ @LEFT@+ -- The text is explicitly aligned to the left of the cell.+ | CFHACenter+ -- ^ @CENTER@+ -- The text is explicitly aligned to the center of the cell.+ | CFHARight'+ -- ^ @RIGHT@+ -- The text is explicitly aligned to the right of the cell.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable CellFormatHorizontalAlignment++instance FromHttpApiData CellFormatHorizontalAlignment where+ parseQueryParam = \case+ "HORIZONTAL_ALIGN_UNSPECIFIED" -> Right CFHAHorizontalAlignUnspecified+ "LEFT" -> Right CFHALeft'+ "CENTER" -> Right CFHACenter+ "RIGHT" -> Right CFHARight'+ x -> Left ("Unable to parse CellFormatHorizontalAlignment from: " <> x)++instance ToHttpApiData CellFormatHorizontalAlignment where+ toQueryParam = \case+ CFHAHorizontalAlignUnspecified -> "HORIZONTAL_ALIGN_UNSPECIFIED"+ CFHALeft' -> "LEFT"+ CFHACenter -> "CENTER"+ CFHARight' -> "RIGHT"++instance FromJSON CellFormatHorizontalAlignment where+ parseJSON = parseJSONText "CellFormatHorizontalAlignment"++instance ToJSON CellFormatHorizontalAlignment where+ toJSON = toJSONText++-- | The stacked type.+data WaterfallChartSpecStackedType+ = WCSSTWaterfallStackedTypeUnspecified+ -- ^ @WATERFALL_STACKED_TYPE_UNSPECIFIED@+ -- Default value, do not use.+ | WCSSTStacked+ -- ^ @STACKED@+ -- Values corresponding to the same domain (horizontal axis) value will be+ -- stacked vertically.+ | WCSSTSequential+ -- ^ @SEQUENTIAL@+ -- Series will spread out along the horizontal axis.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable WaterfallChartSpecStackedType++instance FromHttpApiData WaterfallChartSpecStackedType where+ parseQueryParam = \case+ "WATERFALL_STACKED_TYPE_UNSPECIFIED" -> Right WCSSTWaterfallStackedTypeUnspecified+ "STACKED" -> Right WCSSTStacked+ "SEQUENTIAL" -> Right WCSSTSequential+ x -> Left ("Unable to parse WaterfallChartSpecStackedType from: " <> x)++instance ToHttpApiData WaterfallChartSpecStackedType where+ toQueryParam = \case+ WCSSTWaterfallStackedTypeUnspecified -> "WATERFALL_STACKED_TYPE_UNSPECIFIED"+ WCSSTStacked -> "STACKED"+ WCSSTSequential -> "SEQUENTIAL"++instance FromJSON WaterfallChartSpecStackedType where+ parseJSON = parseJSONText "WaterfallChartSpecStackedType"++instance ToJSON WaterfallChartSpecStackedType where+ toJSON = toJSONText++-- | The type of date-time grouping to apply.+data DateTimeRuleType+ = DateTimeRuleTypeUnspecified+ -- ^ @DATE_TIME_RULE_TYPE_UNSPECIFIED@+ -- The default type, do not use.+ | Second+ -- ^ @SECOND@+ -- Group dates by second, from 0 to 59.+ | Minute+ -- ^ @MINUTE@+ -- Group dates by minute, from 0 to 59.+ | Hour+ -- ^ @HOUR@+ -- Group dates by hour using a 24-hour system, from 0 to 23.+ | HourMinute+ -- ^ @HOUR_MINUTE@+ -- Group dates by hour and minute using a 24-hour system, for example+ -- 19:45.+ | HourMinuteAmpm+ -- ^ @HOUR_MINUTE_AMPM@+ -- Group dates by hour and minute using a 12-hour system, for example 7:45+ -- PM. The AM\/PM designation is translated based on the spreadsheet+ -- locale.+ | DayOfWeek+ -- ^ @DAY_OF_WEEK@+ -- Group dates by day of week, for example Sunday. The days of the week+ -- will be translated based on the spreadsheet locale.+ | DayOfYear+ -- ^ @DAY_OF_YEAR@+ -- Group dates by day of year, from 1 to 366. Note that dates after Feb. 29+ -- fall in different buckets in leap years than in non-leap years.+ | DayOfMonth+ -- ^ @DAY_OF_MONTH@+ -- Group dates by day of month, from 1 to 31.+ | DayMonth+ -- ^ @DAY_MONTH@+ -- Group dates by day and month, for example 22-Nov. The month is+ -- translated based on the spreadsheet locale.+ | Month+ -- ^ @MONTH@+ -- Group dates by month, for example Nov. The month is translated based on+ -- the spreadsheet locale.+ | Quarter+ -- ^ @QUARTER@+ -- Group dates by quarter, for example Q1 (which represents Jan-Mar).+ | Year+ -- ^ @YEAR@+ -- Group dates by year, for example 2008.+ | YearMonth+ -- ^ @YEAR_MONTH@+ -- Group dates by year and month, for example 2008-Nov. The month is+ -- translated based on the spreadsheet locale.+ | YearQuarter+ -- ^ @YEAR_QUARTER@+ -- Group dates by year and quarter, for example 2008 Q4.+ | YearMonthDay+ -- ^ @YEAR_MONTH_DAY@+ -- Group dates by year, month, and day, for example 2008-11-22.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DateTimeRuleType++instance FromHttpApiData DateTimeRuleType where+ parseQueryParam = \case+ "DATE_TIME_RULE_TYPE_UNSPECIFIED" -> Right DateTimeRuleTypeUnspecified+ "SECOND" -> Right Second+ "MINUTE" -> Right Minute+ "HOUR" -> Right Hour+ "HOUR_MINUTE" -> Right HourMinute+ "HOUR_MINUTE_AMPM" -> Right HourMinuteAmpm+ "DAY_OF_WEEK" -> Right DayOfWeek+ "DAY_OF_YEAR" -> Right DayOfYear+ "DAY_OF_MONTH" -> Right DayOfMonth+ "DAY_MONTH" -> Right DayMonth+ "MONTH" -> Right Month+ "QUARTER" -> Right Quarter+ "YEAR" -> Right Year+ "YEAR_MONTH" -> Right YearMonth+ "YEAR_QUARTER" -> Right YearQuarter+ "YEAR_MONTH_DAY" -> Right YearMonthDay+ x -> Left ("Unable to parse DateTimeRuleType from: " <> x)++instance ToHttpApiData DateTimeRuleType where+ toQueryParam = \case+ DateTimeRuleTypeUnspecified -> "DATE_TIME_RULE_TYPE_UNSPECIFIED"+ Second -> "SECOND"+ Minute -> "MINUTE"+ Hour -> "HOUR"+ HourMinute -> "HOUR_MINUTE"+ HourMinuteAmpm -> "HOUR_MINUTE_AMPM"+ DayOfWeek -> "DAY_OF_WEEK"+ DayOfYear -> "DAY_OF_YEAR"+ DayOfMonth -> "DAY_OF_MONTH"+ DayMonth -> "DAY_MONTH"+ Month -> "MONTH"+ Quarter -> "QUARTER"+ Year -> "YEAR"+ YearMonth -> "YEAR_MONTH"+ YearQuarter -> "YEAR_QUARTER"+ YearMonthDay -> "YEAR_MONTH_DAY"++instance FromJSON DateTimeRuleType where+ parseJSON = parseJSONText "DateTimeRuleType"++instance ToJSON DateTimeRuleType where+ toJSON = toJSONText++-- | Limits the selected developer metadata to that which has a matching+-- DeveloperMetadata.visibility. If left unspecified, all developer+-- metadata visibile to the requesting project is considered.+data DeveloperMetadataLookupVisibility+ = DMLVDeveloperMetadataVisibilityUnspecified+ -- ^ @DEVELOPER_METADATA_VISIBILITY_UNSPECIFIED@+ -- Default value.+ | DMLVDocument+ -- ^ @DOCUMENT@+ -- Document-visible metadata is accessible from any developer project with+ -- access to the document.+ | DMLVProject+ -- ^ @PROJECT@+ -- Project-visible metadata is only visible to and accessible by the+ -- developer project that created the metadata.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DeveloperMetadataLookupVisibility++instance FromHttpApiData DeveloperMetadataLookupVisibility where+ parseQueryParam = \case+ "DEVELOPER_METADATA_VISIBILITY_UNSPECIFIED" -> Right DMLVDeveloperMetadataVisibilityUnspecified+ "DOCUMENT" -> Right DMLVDocument+ "PROJECT" -> Right DMLVProject+ x -> Left ("Unable to parse DeveloperMetadataLookupVisibility from: " <> x)++instance ToHttpApiData DeveloperMetadataLookupVisibility where+ toQueryParam = \case+ DMLVDeveloperMetadataVisibilityUnspecified -> "DEVELOPER_METADATA_VISIBILITY_UNSPECIFIED"+ DMLVDocument -> "DOCUMENT"+ DMLVProject -> "PROJECT"++instance FromJSON DeveloperMetadataLookupVisibility where+ parseJSON = parseJSONText "DeveloperMetadataLookupVisibility"++instance ToJSON DeveloperMetadataLookupVisibility where+ toJSON = toJSONText++-- | The behavior of tooltips and data highlighting when hovering on data and+-- chart area.+data BasicChartSpecCompareMode+ = BasicChartCompareModeUnspecified+ -- ^ @BASIC_CHART_COMPARE_MODE_UNSPECIFIED@+ -- Default value, do not use.+ | Datum+ -- ^ @DATUM@+ -- Only the focused data element is highlighted and shown in the tooltip.+ | Category+ -- ^ @CATEGORY@+ -- All data elements with the same category (e.g., domain value) are+ -- highlighted and shown in the tooltip.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable BasicChartSpecCompareMode++instance FromHttpApiData BasicChartSpecCompareMode where+ parseQueryParam = \case+ "BASIC_CHART_COMPARE_MODE_UNSPECIFIED" -> Right BasicChartCompareModeUnspecified+ "DATUM" -> Right Datum+ "CATEGORY" -> Right Category+ x -> Left ("Unable to parse BasicChartSpecCompareMode from: " <> x)++instance ToHttpApiData BasicChartSpecCompareMode where+ toQueryParam = \case+ BasicChartCompareModeUnspecified -> "BASIC_CHART_COMPARE_MODE_UNSPECIFIED"+ Datum -> "DATUM"+ Category -> "CATEGORY"++instance FromJSON BasicChartSpecCompareMode where+ parseJSON = parseJSONText "BasicChartSpecCompareMode"++instance ToJSON BasicChartSpecCompareMode where+ toJSON = toJSONText++-- | The type of condition.+data BooleanConditionType+ = ConditionTypeUnspecified+ -- ^ @CONDITION_TYPE_UNSPECIFIED@+ -- The default value, do not use.+ | NumberGreater+ -- ^ @NUMBER_GREATER@+ -- The cell\'s value must be greater than the condition\'s value. Supported+ -- by data validation, conditional formatting and filters. Requires a+ -- single ConditionValue.+ | NumberGreaterThanEQ+ -- ^ @NUMBER_GREATER_THAN_EQ@+ -- The cell\'s value must be greater than or equal to the condition\'s+ -- value. Supported by data validation, conditional formatting and filters.+ -- Requires a single ConditionValue.+ | NumberLess+ -- ^ @NUMBER_LESS@+ -- The cell\'s value must be less than the condition\'s value. Supported by+ -- data validation, conditional formatting and filters. Requires a single+ -- ConditionValue.+ | NumberLessThanEQ+ -- ^ @NUMBER_LESS_THAN_EQ@+ -- The cell\'s value must be less than or equal to the condition\'s value.+ -- Supported by data validation, conditional formatting and filters.+ -- Requires a single ConditionValue.+ | NumberEQ+ -- ^ @NUMBER_EQ@+ -- The cell\'s value must be equal to the condition\'s value. Supported by+ -- data validation, conditional formatting and filters. Requires a single+ -- ConditionValue.+ | NumberNotEQ+ -- ^ @NUMBER_NOT_EQ@+ -- The cell\'s value must be not equal to the condition\'s value. Supported+ -- by data validation, conditional formatting and filters. Requires a+ -- single ConditionValue.+ | NumberBetween+ -- ^ @NUMBER_BETWEEN@+ -- The cell\'s value must be between the two condition values. Supported by+ -- data validation, conditional formatting and filters. Requires exactly+ -- two ConditionValues.+ | NumberNotBetween+ -- ^ @NUMBER_NOT_BETWEEN@+ -- The cell\'s value must not be between the two condition values.+ -- Supported by data validation, conditional formatting and filters.+ -- Requires exactly two ConditionValues.+ | TextContains+ -- ^ @TEXT_CONTAINS@+ -- The cell\'s value must contain the condition\'s value. Supported by data+ -- validation, conditional formatting and filters. Requires a single+ -- ConditionValue.+ | TextNotContains+ -- ^ @TEXT_NOT_CONTAINS@+ -- The cell\'s value must not contain the condition\'s value. Supported by+ -- data validation, conditional formatting and filters. Requires a single+ -- ConditionValue.+ | TextStartsWith+ -- ^ @TEXT_STARTS_WITH@+ -- The cell\'s value must start with the condition\'s value. Supported by+ -- conditional formatting and filters. Requires a single ConditionValue.+ | TextEndsWith+ -- ^ @TEXT_ENDS_WITH@+ -- The cell\'s value must end with the condition\'s value. Supported by+ -- conditional formatting and filters. Requires a single ConditionValue.+ | TextEQ+ -- ^ @TEXT_EQ@+ -- The cell\'s value must be exactly the condition\'s value. Supported by+ -- data validation, conditional formatting and filters. Requires a single+ -- ConditionValue.+ | TextIsEmail+ -- ^ @TEXT_IS_EMAIL@+ -- The cell\'s value must be a valid email address. Supported by data+ -- validation. Requires no ConditionValues.+ | TextIsURL+ -- ^ @TEXT_IS_URL@+ -- The cell\'s value must be a valid URL. Supported by data validation.+ -- Requires no ConditionValues.+ | DateEQ+ -- ^ @DATE_EQ@+ -- The cell\'s value must be the same date as the condition\'s value.+ -- Supported by data validation, conditional formatting and filters.+ -- Requires a single ConditionValue.+ | DateBefore+ -- ^ @DATE_BEFORE@+ -- The cell\'s value must be before the date of the condition\'s value.+ -- Supported by data validation, conditional formatting and filters.+ -- Requires a single ConditionValue that may be a relative date.+ | DateAfter+ -- ^ @DATE_AFTER@+ -- The cell\'s value must be after the date of the condition\'s value.+ -- Supported by data validation, conditional formatting and filters.+ -- Requires a single ConditionValue that may be a relative date.+ | DateOnOrBefore+ -- ^ @DATE_ON_OR_BEFORE@+ -- The cell\'s value must be on or before the date of the condition\'s+ -- value. Supported by data validation. Requires a single ConditionValue+ -- that may be a relative date.+ | DateOnOrAfter+ -- ^ @DATE_ON_OR_AFTER@+ -- The cell\'s value must be on or after the date of the condition\'s+ -- value. Supported by data validation. Requires a single ConditionValue+ -- that may be a relative date.+ | DateBetween+ -- ^ @DATE_BETWEEN@+ -- The cell\'s value must be between the dates of the two condition values.+ -- Supported by data validation. Requires exactly two ConditionValues.+ | DateNotBetween+ -- ^ @DATE_NOT_BETWEEN@+ -- The cell\'s value must be outside the dates of the two condition values.+ -- Supported by data validation. Requires exactly two ConditionValues.+ | DateIsValid+ -- ^ @DATE_IS_VALID@+ -- The cell\'s value must be a date. Supported by data validation. Requires+ -- no ConditionValues.+ | OneOfRange+ -- ^ @ONE_OF_RANGE@+ -- The cell\'s value must be listed in the grid in condition value\'s+ -- range. Supported by data validation. Requires a single ConditionValue,+ -- and the value must be a valid range in A1 notation.+ | OneOfList+ -- ^ @ONE_OF_LIST@+ -- The cell\'s value must be in the list of condition values. Supported by+ -- data validation. Supports any number of condition values, one per item+ -- in the list. Formulas are not supported in the values.+ | Blank+ -- ^ @BLANK@+ -- The cell\'s value must be empty. Supported by conditional formatting and+ -- filters. Requires no ConditionValues.+ | NotBlank+ -- ^ @NOT_BLANK@+ -- The cell\'s value must not be empty. Supported by conditional formatting+ -- and filters. Requires no ConditionValues.+ | CustomFormula+ -- ^ @CUSTOM_FORMULA@+ -- The condition\'s formula must evaluate to true. Supported by data+ -- validation, conditional formatting and filters. Requires a single+ -- ConditionValue.+ | Boolean+ -- ^ @BOOLEAN@+ -- The cell\'s value must be TRUE\/FALSE or in the list of condition+ -- values. Supported by data validation. Renders as a cell checkbox.+ -- Supports zero, one or two ConditionValues. No values indicates the cell+ -- must be TRUE or FALSE, where TRUE renders as checked and FALSE renders+ -- as unchecked. One value indicates the cell will render as checked when+ -- it contains that value and unchecked when it is blank. Two values+ -- indicate that the cell will render as checked when it contains the first+ -- value and unchecked when it contains the second value. For example,+ -- [\"Yes\",\"No\"] indicates that the cell will render a checked box when+ -- it has the value \"Yes\" and an unchecked box when it has the value+ -- \"No\".+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable BooleanConditionType++instance FromHttpApiData BooleanConditionType where+ parseQueryParam = \case+ "CONDITION_TYPE_UNSPECIFIED" -> Right ConditionTypeUnspecified+ "NUMBER_GREATER" -> Right NumberGreater+ "NUMBER_GREATER_THAN_EQ" -> Right NumberGreaterThanEQ+ "NUMBER_LESS" -> Right NumberLess+ "NUMBER_LESS_THAN_EQ" -> Right NumberLessThanEQ+ "NUMBER_EQ" -> Right NumberEQ+ "NUMBER_NOT_EQ" -> Right NumberNotEQ+ "NUMBER_BETWEEN" -> Right NumberBetween+ "NUMBER_NOT_BETWEEN" -> Right NumberNotBetween+ "TEXT_CONTAINS" -> Right TextContains+ "TEXT_NOT_CONTAINS" -> Right TextNotContains+ "TEXT_STARTS_WITH" -> Right TextStartsWith+ "TEXT_ENDS_WITH" -> Right TextEndsWith+ "TEXT_EQ" -> Right TextEQ+ "TEXT_IS_EMAIL" -> Right TextIsEmail+ "TEXT_IS_URL" -> Right TextIsURL+ "DATE_EQ" -> Right DateEQ+ "DATE_BEFORE" -> Right DateBefore+ "DATE_AFTER" -> Right DateAfter+ "DATE_ON_OR_BEFORE" -> Right DateOnOrBefore+ "DATE_ON_OR_AFTER" -> Right DateOnOrAfter+ "DATE_BETWEEN" -> Right DateBetween+ "DATE_NOT_BETWEEN" -> Right DateNotBetween+ "DATE_IS_VALID" -> Right DateIsValid+ "ONE_OF_RANGE" -> Right OneOfRange+ "ONE_OF_LIST" -> Right OneOfList+ "BLANK" -> Right Blank+ "NOT_BLANK" -> Right NotBlank+ "CUSTOM_FORMULA" -> Right CustomFormula+ "BOOLEAN" -> Right Boolean+ x -> Left ("Unable to parse BooleanConditionType from: " <> x)++instance ToHttpApiData BooleanConditionType where+ toQueryParam = \case+ ConditionTypeUnspecified -> "CONDITION_TYPE_UNSPECIFIED"+ NumberGreater -> "NUMBER_GREATER"+ NumberGreaterThanEQ -> "NUMBER_GREATER_THAN_EQ"+ NumberLess -> "NUMBER_LESS"+ NumberLessThanEQ -> "NUMBER_LESS_THAN_EQ"+ NumberEQ -> "NUMBER_EQ"+ NumberNotEQ -> "NUMBER_NOT_EQ"+ NumberBetween -> "NUMBER_BETWEEN"+ NumberNotBetween -> "NUMBER_NOT_BETWEEN"+ TextContains -> "TEXT_CONTAINS"+ TextNotContains -> "TEXT_NOT_CONTAINS"+ TextStartsWith -> "TEXT_STARTS_WITH"+ TextEndsWith -> "TEXT_ENDS_WITH"+ TextEQ -> "TEXT_EQ"+ TextIsEmail -> "TEXT_IS_EMAIL"+ TextIsURL -> "TEXT_IS_URL"+ DateEQ -> "DATE_EQ"+ DateBefore -> "DATE_BEFORE"+ DateAfter -> "DATE_AFTER"+ DateOnOrBefore -> "DATE_ON_OR_BEFORE"+ DateOnOrAfter -> "DATE_ON_OR_AFTER"+ DateBetween -> "DATE_BETWEEN"+ DateNotBetween -> "DATE_NOT_BETWEEN"+ DateIsValid -> "DATE_IS_VALID"+ OneOfRange -> "ONE_OF_RANGE"+ OneOfList -> "ONE_OF_LIST"+ Blank -> "BLANK"+ NotBlank -> "NOT_BLANK"+ CustomFormula -> "CUSTOM_FORMULA"+ Boolean -> "BOOLEAN"++instance FromJSON BooleanConditionType where+ parseJSON = parseJSONText "BooleanConditionType"++instance ToJSON BooleanConditionType where+ toJSON = toJSONText++-- | The major dimension of the values. For output, if the spreadsheet data+-- is: \`A1=1,B1=2,A2=3,B2=4\`, then requesting+-- \`range=A1:B2,majorDimension=ROWS\` will return \`[[1,2],[3,4]]\`,+-- whereas requesting \`range=A1:B2,majorDimension=COLUMNS\` will return+-- \`[[1,3],[2,4]]\`. For input, with \`range=A1:B2,majorDimension=ROWS\`+-- then \`[[1,2],[3,4]]\` will set \`A1=1,B1=2,A2=3,B2=4\`. With+-- \`range=A1:B2,majorDimension=COLUMNS\` then \`[[1,2],[3,4]]\` will set+-- \`A1=1,B1=3,A2=2,B2=4\`. When writing, if this field is not set, it+-- defaults to ROWS.+data ValueRangeMajorDimension+ = VRMDDimensionUnspecified+ -- ^ @DIMENSION_UNSPECIFIED@+ -- The default value, do not use.+ | VRMDRows+ -- ^ @ROWS@+ -- Operates on the rows of a sheet.+ | VRMDColumns+ -- ^ @COLUMNS@+ -- Operates on the columns of a sheet.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ValueRangeMajorDimension++instance FromHttpApiData ValueRangeMajorDimension where+ parseQueryParam = \case+ "DIMENSION_UNSPECIFIED" -> Right VRMDDimensionUnspecified+ "ROWS" -> Right VRMDRows+ "COLUMNS" -> Right VRMDColumns+ x -> Left ("Unable to parse ValueRangeMajorDimension from: " <> x)++instance ToHttpApiData ValueRangeMajorDimension where+ toQueryParam = \case+ VRMDDimensionUnspecified -> "DIMENSION_UNSPECIFIED"+ VRMDRows -> "ROWS"+ VRMDColumns -> "COLUMNS"++instance FromJSON ValueRangeMajorDimension where+ parseJSON = parseJSONText "ValueRangeMajorDimension"++instance ToJSON ValueRangeMajorDimension where+ toJSON = toJSONText++-- | The order the values in this group should be sorted.+data PivotGroupSortOrder+ = PGSOSortOrderUnspecified+ -- ^ @SORT_ORDER_UNSPECIFIED@+ -- Default value, do not use this.+ | PGSOAscending+ -- ^ @ASCENDING@+ -- Sort ascending.+ | PGSODescending+ -- ^ @DESCENDING@+ -- Sort descending.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable PivotGroupSortOrder++instance FromHttpApiData PivotGroupSortOrder where+ parseQueryParam = \case+ "SORT_ORDER_UNSPECIFIED" -> Right PGSOSortOrderUnspecified+ "ASCENDING" -> Right PGSOAscending+ "DESCENDING" -> Right PGSODescending+ x -> Left ("Unable to parse PivotGroupSortOrder from: " <> x)++instance ToHttpApiData PivotGroupSortOrder where+ toQueryParam = \case+ PGSOSortOrderUnspecified -> "SORT_ORDER_UNSPECIFIED"+ PGSOAscending -> "ASCENDING"+ PGSODescending -> "DESCENDING"++instance FromJSON PivotGroupSortOrder where+ parseJSON = parseJSONText "PivotGroupSortOrder"++instance ToJSON PivotGroupSortOrder where+ toJSON = toJSONText++-- | The type of the chart.+data BasicChartSpecChartType+ = BasicChartTypeUnspecified+ -- ^ @BASIC_CHART_TYPE_UNSPECIFIED@+ -- Default value, do not use.+ | Bar+ -- ^ @BAR@+ -- A </chart/interactive/docs/gallery/barchart bar chart>.+ | Line+ -- ^ @LINE@+ -- A </chart/interactive/docs/gallery/linechart line chart>.+ | Area+ -- ^ @AREA@+ -- An </chart/interactive/docs/gallery/areachart area chart>.+ | Column+ -- ^ @COLUMN@+ -- A </chart/interactive/docs/gallery/columnchart column chart>.+ | Scatter+ -- ^ @SCATTER@+ -- A </chart/interactive/docs/gallery/scatterchart scatter chart>.+ | Combo+ -- ^ @COMBO@+ -- A </chart/interactive/docs/gallery/combochart combo chart>.+ | SteppedArea+ -- ^ @STEPPED_AREA@+ -- A </chart/interactive/docs/gallery/steppedareachart stepped area chart>.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable BasicChartSpecChartType++instance FromHttpApiData BasicChartSpecChartType where+ parseQueryParam = \case+ "BASIC_CHART_TYPE_UNSPECIFIED" -> Right BasicChartTypeUnspecified+ "BAR" -> Right Bar+ "LINE" -> Right Line+ "AREA" -> Right Area+ "COLUMN" -> Right Column+ "SCATTER" -> Right Scatter+ "COMBO" -> Right Combo+ "STEPPED_AREA" -> Right SteppedArea+ x -> Left ("Unable to parse BasicChartSpecChartType from: " <> x)++instance ToHttpApiData BasicChartSpecChartType where+ toQueryParam = \case+ BasicChartTypeUnspecified -> "BASIC_CHART_TYPE_UNSPECIFIED"+ Bar -> "BAR"+ Line -> "LINE"+ Area -> "AREA"+ Column -> "COLUMN"+ Scatter -> "SCATTER"+ Combo -> "COMBO"+ SteppedArea -> "STEPPED_AREA"++instance FromJSON BasicChartSpecChartType where+ parseJSON = parseJSONText "BasicChartSpecChartType"++instance ToJSON BasicChartSpecChartType where+ toJSON = toJSONText++-- | V1 error format.+data Xgafv+ = X1+ -- ^ @1@+ -- v1 error format+ | X2+ -- ^ @2@+ -- v2 error format+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable Xgafv++instance FromHttpApiData Xgafv where+ parseQueryParam = \case+ "1" -> Right X1+ "2" -> Right X2+ x -> Left ("Unable to parse Xgafv from: " <> x)++instance ToHttpApiData Xgafv where+ toQueryParam = \case+ X1 -> "1"+ X2 -> "2"++instance FromJSON Xgafv where+ parseJSON = parseJSONText "Xgafv"++instance ToJSON Xgafv where+ toJSON = toJSONText++-- | The amount of time to wait before volatile functions are recalculated.+data SpreadsheetPropertiesAutoRecalc+ = SPARRecalculationIntervalUnspecified+ -- ^ @RECALCULATION_INTERVAL_UNSPECIFIED@+ -- Default value. This value must not be used.+ | SPAROnChange+ -- ^ @ON_CHANGE@+ -- Volatile functions are updated on every change.+ | SPARMinute+ -- ^ @MINUTE@+ -- Volatile functions are updated on every change and every minute.+ | SPARHour+ -- ^ @HOUR@+ -- Volatile functions are updated on every change and hourly.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable SpreadsheetPropertiesAutoRecalc++instance FromHttpApiData SpreadsheetPropertiesAutoRecalc where+ parseQueryParam = \case+ "RECALCULATION_INTERVAL_UNSPECIFIED" -> Right SPARRecalculationIntervalUnspecified+ "ON_CHANGE" -> Right SPAROnChange+ "MINUTE" -> Right SPARMinute+ "HOUR" -> Right SPARHour+ x -> Left ("Unable to parse SpreadsheetPropertiesAutoRecalc from: " <> x)++instance ToHttpApiData SpreadsheetPropertiesAutoRecalc where+ toQueryParam = \case+ SPARRecalculationIntervalUnspecified -> "RECALCULATION_INTERVAL_UNSPECIFIED"+ SPAROnChange -> "ON_CHANGE"+ SPARMinute -> "MINUTE"+ SPARHour -> "HOUR"++instance FromJSON SpreadsheetPropertiesAutoRecalc where+ parseJSON = parseJSONText "SpreadsheetPropertiesAutoRecalc"++instance ToJSON SpreadsheetPropertiesAutoRecalc where+ toJSON = toJSONText++-- | How that data should be oriented when pasting.+data CopyPasteRequestPasteOrientation+ = Normal+ -- ^ @NORMAL@+ -- Paste normally.+ | Transpose+ -- ^ @TRANSPOSE@+ -- Paste transposed, where all rows become columns and vice versa.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable CopyPasteRequestPasteOrientation++instance FromHttpApiData CopyPasteRequestPasteOrientation where+ parseQueryParam = \case+ "NORMAL" -> Right Normal+ "TRANSPOSE" -> Right Transpose+ x -> Left ("Unable to parse CopyPasteRequestPasteOrientation from: " <> x)++instance ToHttpApiData CopyPasteRequestPasteOrientation where+ toQueryParam = \case+ Normal -> "NORMAL"+ Transpose -> "TRANSPOSE"++instance FromJSON CopyPasteRequestPasteOrientation where+ parseJSON = parseJSONText "CopyPasteRequestPasteOrientation"++instance ToJSON CopyPasteRequestPasteOrientation where+ toJSON = toJSONText++-- | How the data should be pasted.+data PasteDataRequestType+ = PDRTPasteNormal+ -- ^ @PASTE_NORMAL@+ -- Paste values, formulas, formats, and merges.+ | PDRTPasteValues+ -- ^ @PASTE_VALUES@+ -- Paste the values ONLY without formats, formulas, or merges.+ | PDRTPasteFormat+ -- ^ @PASTE_FORMAT@+ -- Paste the format and data validation only.+ | PDRTPasteNoBOrders+ -- ^ @PASTE_NO_BORDERS@+ -- Like PASTE_NORMAL but without borders.+ | PDRTPasteFormula+ -- ^ @PASTE_FORMULA@+ -- Paste the formulas only.+ | PDRTPasteDataValidation+ -- ^ @PASTE_DATA_VALIDATION@+ -- Paste the data validation only.+ | PDRTPasteConditionalFormatting+ -- ^ @PASTE_CONDITIONAL_FORMATTING@+ -- Paste the conditional formatting rules only.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable PasteDataRequestType++instance FromHttpApiData PasteDataRequestType where+ parseQueryParam = \case+ "PASTE_NORMAL" -> Right PDRTPasteNormal+ "PASTE_VALUES" -> Right PDRTPasteValues+ "PASTE_FORMAT" -> Right PDRTPasteFormat+ "PASTE_NO_BORDERS" -> Right PDRTPasteNoBOrders+ "PASTE_FORMULA" -> Right PDRTPasteFormula+ "PASTE_DATA_VALIDATION" -> Right PDRTPasteDataValidation+ "PASTE_CONDITIONAL_FORMATTING" -> Right PDRTPasteConditionalFormatting+ x -> Left ("Unable to parse PasteDataRequestType from: " <> x)++instance ToHttpApiData PasteDataRequestType where+ toQueryParam = \case+ PDRTPasteNormal -> "PASTE_NORMAL"+ PDRTPasteValues -> "PASTE_VALUES"+ PDRTPasteFormat -> "PASTE_FORMAT"+ PDRTPasteNoBOrders -> "PASTE_NO_BORDERS"+ PDRTPasteFormula -> "PASTE_FORMULA"+ PDRTPasteDataValidation -> "PASTE_DATA_VALIDATION"+ PDRTPasteConditionalFormatting -> "PASTE_CONDITIONAL_FORMATTING"++instance FromJSON PasteDataRequestType where+ parseJSON = parseJSONText "PasteDataRequestType"++instance ToJSON PasteDataRequestType where+ toJSON = toJSONText++-- | The direction of the text in the cell.+data CellFormatTextDirection+ = TextDirectionUnspecified+ -- ^ @TEXT_DIRECTION_UNSPECIFIED@+ -- The text direction is not specified. Do not use this.+ | LeftToRight+ -- ^ @LEFT_TO_RIGHT@+ -- The text direction of left-to-right was set by the user.+ | RightToLeft+ -- ^ @RIGHT_TO_LEFT@+ -- The text direction of right-to-left was set by the user.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable CellFormatTextDirection++instance FromHttpApiData CellFormatTextDirection where+ parseQueryParam = \case+ "TEXT_DIRECTION_UNSPECIFIED" -> Right TextDirectionUnspecified+ "LEFT_TO_RIGHT" -> Right LeftToRight+ "RIGHT_TO_LEFT" -> Right RightToLeft+ x -> Left ("Unable to parse CellFormatTextDirection from: " <> x)++instance ToHttpApiData CellFormatTextDirection where+ toQueryParam = \case+ TextDirectionUnspecified -> "TEXT_DIRECTION_UNSPECIFIED"+ LeftToRight -> "LEFT_TO_RIGHT"+ RightToLeft -> "RIGHT_TO_LEFT"++instance FromJSON CellFormatTextDirection where+ parseJSON = parseJSONText "CellFormatTextDirection"++instance ToJSON CellFormatTextDirection where+ toJSON = toJSONText++-- | The type of this series. Valid only if the chartType is COMBO. Different+-- types will change the way the series is visualized. Only LINE, AREA, and+-- COLUMN are supported.+data BasicChartSeriesType+ = BCSTBasicChartTypeUnspecified+ -- ^ @BASIC_CHART_TYPE_UNSPECIFIED@+ -- Default value, do not use.+ | BCSTBar+ -- ^ @BAR@+ -- A </chart/interactive/docs/gallery/barchart bar chart>.+ | BCSTLine+ -- ^ @LINE@+ -- A </chart/interactive/docs/gallery/linechart line chart>.+ | BCSTArea+ -- ^ @AREA@+ -- An </chart/interactive/docs/gallery/areachart area chart>.+ | BCSTColumn+ -- ^ @COLUMN@+ -- A </chart/interactive/docs/gallery/columnchart column chart>.+ | BCSTScatter+ -- ^ @SCATTER@+ -- A </chart/interactive/docs/gallery/scatterchart scatter chart>.+ | BCSTCombo+ -- ^ @COMBO@+ -- A </chart/interactive/docs/gallery/combochart combo chart>.+ | BCSTSteppedArea+ -- ^ @STEPPED_AREA@+ -- A </chart/interactive/docs/gallery/steppedareachart stepped area chart>.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable BasicChartSeriesType++instance FromHttpApiData BasicChartSeriesType where+ parseQueryParam = \case+ "BASIC_CHART_TYPE_UNSPECIFIED" -> Right BCSTBasicChartTypeUnspecified+ "BAR" -> Right BCSTBar+ "LINE" -> Right BCSTLine+ "AREA" -> Right BCSTArea+ "COLUMN" -> Right BCSTColumn+ "SCATTER" -> Right BCSTScatter+ "COMBO" -> Right BCSTCombo+ "STEPPED_AREA" -> Right BCSTSteppedArea+ x -> Left ("Unable to parse BasicChartSeriesType from: " <> x)++instance ToHttpApiData BasicChartSeriesType where+ toQueryParam = \case+ BCSTBasicChartTypeUnspecified -> "BASIC_CHART_TYPE_UNSPECIFIED"+ BCSTBar -> "BAR"+ BCSTLine -> "LINE"+ BCSTArea -> "AREA"+ BCSTColumn -> "COLUMN"+ BCSTScatter -> "SCATTER"+ BCSTCombo -> "COMBO"+ BCSTSteppedArea -> "STEPPED_AREA"++instance FromJSON BasicChartSeriesType where+ parseJSON = parseJSONText "BasicChartSeriesType"++instance ToJSON BasicChartSeriesType where+ toJSON = toJSONText++-- | If specified, indicates that pivot values should be displayed as the+-- result of a calculation with another pivot value. For example, if+-- calculated_display_type is specified as PERCENT_OF_GRAND_TOTAL, all the+-- pivot values are displayed as the percentage of the grand total. In the+-- Sheets UI, this is referred to as \"Show As\" in the value section of a+-- pivot table.+data PivotValueCalculatedDisplayType+ = PivotValueCalculatedDisplayTypeUnspecified+ -- ^ @PIVOT_VALUE_CALCULATED_DISPLAY_TYPE_UNSPECIFIED@+ -- Default value, do not use.+ | PercentOfRowTotal+ -- ^ @PERCENT_OF_ROW_TOTAL@+ -- Shows the pivot values as percentage of the row total values.+ | PercentOfColumnTotal+ -- ^ @PERCENT_OF_COLUMN_TOTAL@+ -- Shows the pivot values as percentage of the column total values.+ | PercentOfGrandTotal+ -- ^ @PERCENT_OF_GRAND_TOTAL@+ -- Shows the pivot values as percentage of the grand total values.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable PivotValueCalculatedDisplayType++instance FromHttpApiData PivotValueCalculatedDisplayType where+ parseQueryParam = \case+ "PIVOT_VALUE_CALCULATED_DISPLAY_TYPE_UNSPECIFIED" -> Right PivotValueCalculatedDisplayTypeUnspecified+ "PERCENT_OF_ROW_TOTAL" -> Right PercentOfRowTotal+ "PERCENT_OF_COLUMN_TOTAL" -> Right PercentOfColumnTotal+ "PERCENT_OF_GRAND_TOTAL" -> Right PercentOfGrandTotal+ x -> Left ("Unable to parse PivotValueCalculatedDisplayType from: " <> x)++instance ToHttpApiData PivotValueCalculatedDisplayType where+ toQueryParam = \case+ PivotValueCalculatedDisplayTypeUnspecified -> "PIVOT_VALUE_CALCULATED_DISPLAY_TYPE_UNSPECIFIED"+ PercentOfRowTotal -> "PERCENT_OF_ROW_TOTAL"+ PercentOfColumnTotal -> "PERCENT_OF_COLUMN_TOTAL"+ PercentOfGrandTotal -> "PERCENT_OF_GRAND_TOTAL"++instance FromJSON PivotValueCalculatedDisplayType where+ parseJSON = parseJSONText "PivotValueCalculatedDisplayType"++instance ToJSON PivotValueCalculatedDisplayType where+ toJSON = toJSONText++-- | How dates, times, and durations should be represented in the output.+-- This is ignored if value_render_option is FORMATTED_VALUE. The default+-- dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].+data BatchGetValuesByDataFilterRequestDateTimeRenderOption+ = BGVBDFRDTROSerialNumber+ -- ^ @SERIAL_NUMBER@+ -- Instructs date, time, datetime, and duration fields to be output as+ -- doubles in \"serial number\" format, as popularized by Lotus 1-2-3. The+ -- whole number portion of the value (left of the decimal) counts the days+ -- since December 30th 1899. The fractional portion (right of the decimal)+ -- counts the time as a fraction of the day. For example, January 1st 1900+ -- at noon would be 2.5, 2 because it\'s 2 days after December 30st 1899,+ -- and .5 because noon is half a day. February 1st 1900 at 3pm would be+ -- 33.625. This correctly treats the year 1900 as not a leap year.+ | BGVBDFRDTROFormattedString+ -- ^ @FORMATTED_STRING@+ -- Instructs date, time, datetime, and duration fields to be output as+ -- strings in their given number format (which is dependent on the+ -- spreadsheet locale).+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable BatchGetValuesByDataFilterRequestDateTimeRenderOption++instance FromHttpApiData BatchGetValuesByDataFilterRequestDateTimeRenderOption where+ parseQueryParam = \case+ "SERIAL_NUMBER" -> Right BGVBDFRDTROSerialNumber+ "FORMATTED_STRING" -> Right BGVBDFRDTROFormattedString+ x -> Left ("Unable to parse BatchGetValuesByDataFilterRequestDateTimeRenderOption from: " <> x)++instance ToHttpApiData BatchGetValuesByDataFilterRequestDateTimeRenderOption where+ toQueryParam = \case+ BGVBDFRDTROSerialNumber -> "SERIAL_NUMBER"+ BGVBDFRDTROFormattedString -> "FORMATTED_STRING"++instance FromJSON BatchGetValuesByDataFilterRequestDateTimeRenderOption where+ parseJSON = parseJSONText "BatchGetValuesByDataFilterRequestDateTimeRenderOption"++instance ToJSON BatchGetValuesByDataFilterRequestDateTimeRenderOption where+ toJSON = toJSONText++-- | Determines how the charts will use hidden rows or columns.+data ChartSpecHiddenDimensionStrategy+ = ChartHiddenDimensionStrategyUnspecified+ -- ^ @CHART_HIDDEN_DIMENSION_STRATEGY_UNSPECIFIED@+ -- Default value, do not use.+ | SkipHiddenRowsAndColumns+ -- ^ @SKIP_HIDDEN_ROWS_AND_COLUMNS@+ -- Charts will skip hidden rows and columns.+ | SkipHiddenRows+ -- ^ @SKIP_HIDDEN_ROWS@+ -- Charts will skip hidden rows only.+ | SkipHiddenColumns+ -- ^ @SKIP_HIDDEN_COLUMNS@+ -- Charts will skip hidden columns only.+ | ShowAll+ -- ^ @SHOW_ALL@+ -- Charts will not skip any hidden rows or columns.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ChartSpecHiddenDimensionStrategy++instance FromHttpApiData ChartSpecHiddenDimensionStrategy where+ parseQueryParam = \case+ "CHART_HIDDEN_DIMENSION_STRATEGY_UNSPECIFIED" -> Right ChartHiddenDimensionStrategyUnspecified+ "SKIP_HIDDEN_ROWS_AND_COLUMNS" -> Right SkipHiddenRowsAndColumns+ "SKIP_HIDDEN_ROWS" -> Right SkipHiddenRows+ "SKIP_HIDDEN_COLUMNS" -> Right SkipHiddenColumns+ "SHOW_ALL" -> Right ShowAll+ x -> Left ("Unable to parse ChartSpecHiddenDimensionStrategy from: " <> x)++instance ToHttpApiData ChartSpecHiddenDimensionStrategy where+ toQueryParam = \case+ ChartHiddenDimensionStrategyUnspecified -> "CHART_HIDDEN_DIMENSION_STRATEGY_UNSPECIFIED"+ SkipHiddenRowsAndColumns -> "SKIP_HIDDEN_ROWS_AND_COLUMNS"+ SkipHiddenRows -> "SKIP_HIDDEN_ROWS"+ SkipHiddenColumns -> "SKIP_HIDDEN_COLUMNS"+ ShowAll -> "SHOW_ALL"++instance FromJSON ChartSpecHiddenDimensionStrategy where+ parseJSON = parseJSONText "ChartSpecHiddenDimensionStrategy"++instance ToJSON ChartSpecHiddenDimensionStrategy where+ toJSON = toJSONText++-- | The style of the border.+data BOrderStyle+ = StyleUnspecified+ -- ^ @STYLE_UNSPECIFIED@+ -- The style is not specified. Do not use this.+ | Dotted+ -- ^ @DOTTED@+ -- The border is dotted.+ | Dashed+ -- ^ @DASHED@+ -- The border is dashed.+ | Solid+ -- ^ @SOLID@+ -- The border is a thin solid line.+ | SolidMedium+ -- ^ @SOLID_MEDIUM@+ -- The border is a medium solid line.+ | SolidThick+ -- ^ @SOLID_THICK@+ -- The border is a thick solid line.+ | None+ -- ^ @NONE@+ -- No border. Used only when updating a border in order to erase it.+ | Double+ -- ^ @DOUBLE@+ -- The border is two solid lines.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable BOrderStyle++instance FromHttpApiData BOrderStyle where+ parseQueryParam = \case+ "STYLE_UNSPECIFIED" -> Right StyleUnspecified+ "DOTTED" -> Right Dotted+ "DASHED" -> Right Dashed+ "SOLID" -> Right Solid+ "SOLID_MEDIUM" -> Right SolidMedium+ "SOLID_THICK" -> Right SolidThick+ "NONE" -> Right None+ "DOUBLE" -> Right Double+ x -> Left ("Unable to parse BOrderStyle from: " <> x)++instance ToHttpApiData BOrderStyle where+ toQueryParam = \case+ StyleUnspecified -> "STYLE_UNSPECIFIED"+ Dotted -> "DOTTED"+ Dashed -> "DASHED"+ Solid -> "SOLID"+ SolidMedium -> "SOLID_MEDIUM"+ SolidThick -> "SOLID_THICK"+ None -> "NONE"+ Double -> "DOUBLE"++instance FromJSON BOrderStyle where+ parseJSON = parseJSONText "BOrderStyle"++instance ToJSON BOrderStyle where+ toJSON = toJSONText++-- | What kind of data to paste. All the source data will be cut, regardless+-- of what is pasted.+data CutPasteRequestPasteType+ = CPRPTPasteNormal+ -- ^ @PASTE_NORMAL@+ -- Paste values, formulas, formats, and merges.+ | CPRPTPasteValues+ -- ^ @PASTE_VALUES@+ -- Paste the values ONLY without formats, formulas, or merges.+ | CPRPTPasteFormat+ -- ^ @PASTE_FORMAT@+ -- Paste the format and data validation only.+ | CPRPTPasteNoBOrders+ -- ^ @PASTE_NO_BORDERS@+ -- Like PASTE_NORMAL but without borders.+ | CPRPTPasteFormula+ -- ^ @PASTE_FORMULA@+ -- Paste the formulas only.+ | CPRPTPasteDataValidation+ -- ^ @PASTE_DATA_VALIDATION@+ -- Paste the data validation only.+ | CPRPTPasteConditionalFormatting+ -- ^ @PASTE_CONDITIONAL_FORMATTING@+ -- Paste the conditional formatting rules only.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable CutPasteRequestPasteType++instance FromHttpApiData CutPasteRequestPasteType where+ parseQueryParam = \case+ "PASTE_NORMAL" -> Right CPRPTPasteNormal+ "PASTE_VALUES" -> Right CPRPTPasteValues+ "PASTE_FORMAT" -> Right CPRPTPasteFormat+ "PASTE_NO_BORDERS" -> Right CPRPTPasteNoBOrders+ "PASTE_FORMULA" -> Right CPRPTPasteFormula+ "PASTE_DATA_VALIDATION" -> Right CPRPTPasteDataValidation+ "PASTE_CONDITIONAL_FORMATTING" -> Right CPRPTPasteConditionalFormatting+ x -> Left ("Unable to parse CutPasteRequestPasteType from: " <> x)++instance ToHttpApiData CutPasteRequestPasteType where+ toQueryParam = \case+ CPRPTPasteNormal -> "PASTE_NORMAL"+ CPRPTPasteValues -> "PASTE_VALUES"+ CPRPTPasteFormat -> "PASTE_FORMAT"+ CPRPTPasteNoBOrders -> "PASTE_NO_BORDERS"+ CPRPTPasteFormula -> "PASTE_FORMULA"+ CPRPTPasteDataValidation -> "PASTE_DATA_VALIDATION"+ CPRPTPasteConditionalFormatting -> "PASTE_CONDITIONAL_FORMATTING"++instance FromJSON CutPasteRequestPasteType where+ parseJSON = parseJSONText "CutPasteRequestPasteType"++instance ToJSON CutPasteRequestPasteType where+ toJSON = toJSONText++-- | The position of the chart legend.+data BasicChartSpecLegendPosition+ = BCSLPBasicChartLegendPositionUnspecified+ -- ^ @BASIC_CHART_LEGEND_POSITION_UNSPECIFIED@+ -- Default value, do not use.+ | BCSLPBottomLegend+ -- ^ @BOTTOM_LEGEND@+ -- The legend is rendered on the bottom of the chart.+ | BCSLPLeftLegend+ -- ^ @LEFT_LEGEND@+ -- The legend is rendered on the left of the chart.+ | BCSLPRightLegend+ -- ^ @RIGHT_LEGEND@+ -- The legend is rendered on the right of the chart.+ | BCSLPTopLegend+ -- ^ @TOP_LEGEND@+ -- The legend is rendered on the top of the chart.+ | BCSLPNoLegend+ -- ^ @NO_LEGEND@+ -- No legend is rendered.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable BasicChartSpecLegendPosition++instance FromHttpApiData BasicChartSpecLegendPosition where+ parseQueryParam = \case+ "BASIC_CHART_LEGEND_POSITION_UNSPECIFIED" -> Right BCSLPBasicChartLegendPositionUnspecified+ "BOTTOM_LEGEND" -> Right BCSLPBottomLegend+ "LEFT_LEGEND" -> Right BCSLPLeftLegend+ "RIGHT_LEGEND" -> Right BCSLPRightLegend+ "TOP_LEGEND" -> Right BCSLPTopLegend+ "NO_LEGEND" -> Right BCSLPNoLegend+ x -> Left ("Unable to parse BasicChartSpecLegendPosition from: " <> x)++instance ToHttpApiData BasicChartSpecLegendPosition where+ toQueryParam = \case+ BCSLPBasicChartLegendPositionUnspecified -> "BASIC_CHART_LEGEND_POSITION_UNSPECIFIED"+ BCSLPBottomLegend -> "BOTTOM_LEGEND"+ BCSLPLeftLegend -> "LEFT_LEGEND"+ BCSLPRightLegend -> "RIGHT_LEGEND"+ BCSLPTopLegend -> "TOP_LEGEND"+ BCSLPNoLegend -> "NO_LEGEND"++instance FromJSON BasicChartSpecLegendPosition where+ parseJSON = parseJSONText "BasicChartSpecLegendPosition"++instance ToJSON BasicChartSpecLegendPosition where+ toJSON = toJSONText++-- | The type of error.+data ErrorValueType+ = ErrorTypeUnspecified+ -- ^ @ERROR_TYPE_UNSPECIFIED@+ -- The default error type, do not use this.+ | Error'+ -- ^ @ERROR@+ -- Corresponds to the \`#ERROR!\` error.+ | NullValue+ -- ^ @NULL_VALUE@+ -- Corresponds to the \`#NULL!\` error.+ | DivideByZero+ -- ^ @DIVIDE_BY_ZERO@+ -- Corresponds to the \`#DIV\/0\` error.+ | Value+ -- ^ @VALUE@+ -- Corresponds to the \`#VALUE!\` error.+ | Ref+ -- ^ @REF@+ -- Corresponds to the \`#REF!\` error.+ | Name+ -- ^ @NAME@+ -- Corresponds to the \`#NAME?\` error.+ | Num+ -- ^ @NUM@+ -- Corresponds to the \`#NUM\`! error.+ | NA+ -- ^ @N_A@+ -- Corresponds to the \`#N\/A\` error.+ | Loading+ -- ^ @LOADING@+ -- Corresponds to the \`Loading...\` state.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ErrorValueType++instance FromHttpApiData ErrorValueType where+ parseQueryParam = \case+ "ERROR_TYPE_UNSPECIFIED" -> Right ErrorTypeUnspecified+ "ERROR" -> Right Error'+ "NULL_VALUE" -> Right NullValue+ "DIVIDE_BY_ZERO" -> Right DivideByZero+ "VALUE" -> Right Value+ "REF" -> Right Ref+ "NAME" -> Right Name+ "NUM" -> Right Num+ "N_A" -> Right NA+ "LOADING" -> Right Loading+ x -> Left ("Unable to parse ErrorValueType from: " <> x)++instance ToHttpApiData ErrorValueType where+ toQueryParam = \case+ ErrorTypeUnspecified -> "ERROR_TYPE_UNSPECIFIED"+ Error' -> "ERROR"+ NullValue -> "NULL_VALUE"+ DivideByZero -> "DIVIDE_BY_ZERO"+ Value -> "VALUE"+ Ref -> "REF"+ Name -> "NAME"+ Num -> "NUM"+ NA -> "N_A"+ Loading -> "LOADING"++instance FromJSON ErrorValueType where+ parseJSON = parseJSONText "ErrorValueType"++instance ToJSON ErrorValueType where+ toJSON = toJSONText++-- | The major dimension that results should use. For example, if the+-- spreadsheet data is: \`A1=1,B1=2,A2=3,B2=4\`, then a request that+-- selects that range and sets \`majorDimension=ROWS\` will return+-- \`[[1,2],[3,4]]\`, whereas a request that sets+-- \`majorDimension=COLUMNS\` will return \`[[1,3],[2,4]]\`.+data BatchGetValuesByDataFilterRequestMajorDimension+ = BGVBDFRMDDimensionUnspecified+ -- ^ @DIMENSION_UNSPECIFIED@+ -- The default value, do not use.+ | BGVBDFRMDRows+ -- ^ @ROWS@+ -- Operates on the rows of a sheet.+ | BGVBDFRMDColumns+ -- ^ @COLUMNS@+ -- Operates on the columns of a sheet.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable BatchGetValuesByDataFilterRequestMajorDimension++instance FromHttpApiData BatchGetValuesByDataFilterRequestMajorDimension where+ parseQueryParam = \case+ "DIMENSION_UNSPECIFIED" -> Right BGVBDFRMDDimensionUnspecified+ "ROWS" -> Right BGVBDFRMDRows+ "COLUMNS" -> Right BGVBDFRMDColumns+ x -> Left ("Unable to parse BatchGetValuesByDataFilterRequestMajorDimension from: " <> x)++instance ToHttpApiData BatchGetValuesByDataFilterRequestMajorDimension where+ toQueryParam = \case+ BGVBDFRMDDimensionUnspecified -> "DIMENSION_UNSPECIFIED"+ BGVBDFRMDRows -> "ROWS"+ BGVBDFRMDColumns -> "COLUMNS"++instance FromJSON BatchGetValuesByDataFilterRequestMajorDimension where+ parseJSON = parseJSONText "BatchGetValuesByDataFilterRequestMajorDimension"++instance ToJSON BatchGetValuesByDataFilterRequestMajorDimension where+ toJSON = toJSONText++-- | Whether values should be listed horizontally (as columns) or vertically+-- (as rows).+data PivotTableValueLayout+ = Horizontal+ -- ^ @HORIZONTAL@+ -- Values are laid out horizontally (as columns).+ | Vertical+ -- ^ @VERTICAL@+ -- Values are laid out vertically (as rows).+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable PivotTableValueLayout++instance FromHttpApiData PivotTableValueLayout where+ parseQueryParam = \case+ "HORIZONTAL" -> Right Horizontal+ "VERTICAL" -> Right Vertical+ x -> Left ("Unable to parse PivotTableValueLayout from: " <> x)++instance ToHttpApiData PivotTableValueLayout where+ toQueryParam = \case+ Horizontal -> "HORIZONTAL"+ Vertical -> "VERTICAL"++instance FromJSON PivotTableValueLayout where+ parseJSON = parseJSONText "PivotTableValueLayout"++instance ToJSON PivotTableValueLayout where+ toJSON = toJSONText++-- | How the value should be interpreted.+data InterpolationPointType+ = IPTInterpolationPointTypeUnspecified+ -- ^ @INTERPOLATION_POINT_TYPE_UNSPECIFIED@+ -- The default value, do not use.+ | IPTMin+ -- ^ @MIN@+ -- The interpolation point uses the minimum value in the cells over the+ -- range of the conditional format.+ | IPTMax+ -- ^ @MAX@+ -- The interpolation point uses the maximum value in the cells over the+ -- range of the conditional format.+ | IPTNumber+ -- ^ @NUMBER@+ -- The interpolation point uses exactly the value in+ -- InterpolationPoint.value.+ | IPTPercent+ -- ^ @PERCENT@+ -- The interpolation point is the given percentage over all the cells in+ -- the range of the conditional format. This is equivalent to NUMBER if the+ -- value was: \`=(MAX(FLATTEN(range)) * (value \/ 100)) ++ -- (MIN(FLATTEN(range)) * (1 - (value \/ 100)))\` (where errors in the+ -- range are ignored when flattening).+ | IPTPercentile+ -- ^ @PERCENTILE@+ -- The interpolation point is the given percentile over all the cells in+ -- the range of the conditional format. This is equivalent to NUMBER if the+ -- value was: \`=PERCENTILE(FLATTEN(range), value \/ 100)\` (where errors+ -- in the range are ignored when flattening).+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable InterpolationPointType++instance FromHttpApiData InterpolationPointType where+ parseQueryParam = \case+ "INTERPOLATION_POINT_TYPE_UNSPECIFIED" -> Right IPTInterpolationPointTypeUnspecified+ "MIN" -> Right IPTMin+ "MAX" -> Right IPTMax+ "NUMBER" -> Right IPTNumber+ "PERCENT" -> Right IPTPercent+ "PERCENTILE" -> Right IPTPercentile+ x -> Left ("Unable to parse InterpolationPointType from: " <> x)++instance ToHttpApiData InterpolationPointType where+ toQueryParam = \case+ IPTInterpolationPointTypeUnspecified -> "INTERPOLATION_POINT_TYPE_UNSPECIFIED"+ IPTMin -> "MIN"+ IPTMax -> "MAX"+ IPTNumber -> "NUMBER"+ IPTPercent -> "PERCENT"+ IPTPercentile -> "PERCENTILE"++instance FromJSON InterpolationPointType where+ parseJSON = parseJSONText "InterpolationPointType"++instance ToJSON InterpolationPointType where+ toJSON = toJSONText++-- | The delimiter type to use.+data TextToColumnsRequestDelimiterType+ = TTCRDTDelimiterTypeUnspecified+ -- ^ @DELIMITER_TYPE_UNSPECIFIED@+ -- Default value. This value must not be used.+ | TTCRDTComma+ -- ^ @COMMA@+ -- \",\"+ | TTCRDTSemicolon+ -- ^ @SEMICOLON@+ -- \";\"+ | TTCRDTPeriod+ -- ^ @PERIOD@+ -- \".\"+ | TTCRDTSpace+ -- ^ @SPACE@+ -- \" \"+ | TTCRDTCustom+ -- ^ @CUSTOM@+ -- A custom value as defined in delimiter.+ | TTCRDTAutodetect+ -- ^ @AUTODETECT@+ -- Automatically detect columns.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable TextToColumnsRequestDelimiterType++instance FromHttpApiData TextToColumnsRequestDelimiterType where+ parseQueryParam = \case+ "DELIMITER_TYPE_UNSPECIFIED" -> Right TTCRDTDelimiterTypeUnspecified+ "COMMA" -> Right TTCRDTComma+ "SEMICOLON" -> Right TTCRDTSemicolon+ "PERIOD" -> Right TTCRDTPeriod+ "SPACE" -> Right TTCRDTSpace+ "CUSTOM" -> Right TTCRDTCustom+ "AUTODETECT" -> Right TTCRDTAutodetect+ x -> Left ("Unable to parse TextToColumnsRequestDelimiterType from: " <> x)++instance ToHttpApiData TextToColumnsRequestDelimiterType where+ toQueryParam = \case+ TTCRDTDelimiterTypeUnspecified -> "DELIMITER_TYPE_UNSPECIFIED"+ TTCRDTComma -> "COMMA"+ TTCRDTSemicolon -> "SEMICOLON"+ TTCRDTPeriod -> "PERIOD"+ TTCRDTSpace -> "SPACE"+ TTCRDTCustom -> "CUSTOM"+ TTCRDTAutodetect -> "AUTODETECT" instance FromJSON TextToColumnsRequestDelimiterType where parseJSON = parseJSONText "TextToColumnsRequestDelimiterType"
gogol-sheets.cabal view
@@ -1,5 +1,5 @@ name: gogol-sheets-version: 0.3.0+version: 0.4.0 synopsis: Google Sheets SDK. homepage: https://github.com/brendanhay/gogol bug-reports: https://github.com/brendanhay/gogol/issues@@ -35,12 +35,18 @@ exposed-modules: Network.Google.Resource.Sheets.Spreadsheets.BatchUpdate , Network.Google.Resource.Sheets.Spreadsheets.Create+ , Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Get+ , Network.Google.Resource.Sheets.Spreadsheets.DeveloperMetadata.Search , Network.Google.Resource.Sheets.Spreadsheets.Get+ , Network.Google.Resource.Sheets.Spreadsheets.GetByDataFilter , Network.Google.Resource.Sheets.Spreadsheets.Sheets.CopyTo , Network.Google.Resource.Sheets.Spreadsheets.Values.Append , Network.Google.Resource.Sheets.Spreadsheets.Values.BatchClear+ , Network.Google.Resource.Sheets.Spreadsheets.Values.BatchClearByDataFilter , Network.Google.Resource.Sheets.Spreadsheets.Values.BatchGet+ , Network.Google.Resource.Sheets.Spreadsheets.Values.BatchGetByDataFilter , Network.Google.Resource.Sheets.Spreadsheets.Values.BatchUpdate+ , Network.Google.Resource.Sheets.Spreadsheets.Values.BatchUpdateByDataFilter , Network.Google.Resource.Sheets.Spreadsheets.Values.Clear , Network.Google.Resource.Sheets.Spreadsheets.Values.Get , Network.Google.Resource.Sheets.Spreadsheets.Values.Update@@ -52,5 +58,5 @@ , Network.Google.Sheets.Types.Sum build-depends:- gogol-core == 0.3.0.*+ gogol-core == 0.4.0.* , base >= 4.7 && < 5