stratosphere-0.40.0: library-gen/Stratosphere/ResourceProperties/IoTAnalyticsDatastoreDatastoreStorage.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-datastorestorage.html
module Stratosphere.ResourceProperties.IoTAnalyticsDatastoreDatastoreStorage where
import Stratosphere.ResourceImports
import Stratosphere.ResourceProperties.IoTAnalyticsDatastoreCustomerManagedS3
import Stratosphere.ResourceProperties.IoTAnalyticsDatastoreServiceManagedS3
-- | Full data type definition for IoTAnalyticsDatastoreDatastoreStorage. See
-- 'ioTAnalyticsDatastoreDatastoreStorage' for a more convenient
-- constructor.
data IoTAnalyticsDatastoreDatastoreStorage =
IoTAnalyticsDatastoreDatastoreStorage
{ _ioTAnalyticsDatastoreDatastoreStorageCustomerManagedS3 :: Maybe IoTAnalyticsDatastoreCustomerManagedS3
, _ioTAnalyticsDatastoreDatastoreStorageServiceManagedS3 :: Maybe IoTAnalyticsDatastoreServiceManagedS3
} deriving (Show, Eq)
instance ToJSON IoTAnalyticsDatastoreDatastoreStorage where
toJSON IoTAnalyticsDatastoreDatastoreStorage{..} =
object $
catMaybes
[ fmap (("CustomerManagedS3",) . toJSON) _ioTAnalyticsDatastoreDatastoreStorageCustomerManagedS3
, fmap (("ServiceManagedS3",) . toJSON) _ioTAnalyticsDatastoreDatastoreStorageServiceManagedS3
]
-- | Constructor for 'IoTAnalyticsDatastoreDatastoreStorage' containing
-- required fields as arguments.
ioTAnalyticsDatastoreDatastoreStorage
:: IoTAnalyticsDatastoreDatastoreStorage
ioTAnalyticsDatastoreDatastoreStorage =
IoTAnalyticsDatastoreDatastoreStorage
{ _ioTAnalyticsDatastoreDatastoreStorageCustomerManagedS3 = Nothing
, _ioTAnalyticsDatastoreDatastoreStorageServiceManagedS3 = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-datastorestorage.html#cfn-iotanalytics-datastore-datastorestorage-customermanageds3
itaddsCustomerManagedS3 :: Lens' IoTAnalyticsDatastoreDatastoreStorage (Maybe IoTAnalyticsDatastoreCustomerManagedS3)
itaddsCustomerManagedS3 = lens _ioTAnalyticsDatastoreDatastoreStorageCustomerManagedS3 (\s a -> s { _ioTAnalyticsDatastoreDatastoreStorageCustomerManagedS3 = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-datastorestorage.html#cfn-iotanalytics-datastore-datastorestorage-servicemanageds3
itaddsServiceManagedS3 :: Lens' IoTAnalyticsDatastoreDatastoreStorage (Maybe IoTAnalyticsDatastoreServiceManagedS3)
itaddsServiceManagedS3 = lens _ioTAnalyticsDatastoreDatastoreStorageServiceManagedS3 (\s a -> s { _ioTAnalyticsDatastoreDatastoreStorageServiceManagedS3 = a })