module Stratosphere.Cognito.ManagedLoginBranding ( module Exports, ManagedLoginBranding(..), mkManagedLoginBranding ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import {-# SOURCE #-} Stratosphere.Cognito.ManagedLoginBranding.AssetTypeProperty as Exports import Stratosphere.ResourceProperties import Stratosphere.Value data ManagedLoginBranding = -- | See: ManagedLoginBranding {haddock_workaround_ :: (), -- | See: assets :: (Prelude.Maybe [AssetTypeProperty]), -- | See: clientId :: (Prelude.Maybe (Value Prelude.Text)), -- | See: returnMergedResources :: (Prelude.Maybe (Value Prelude.Bool)), -- | See: settings :: (Prelude.Maybe JSON.Object), -- | See: useCognitoProvidedValues :: (Prelude.Maybe (Value Prelude.Bool)), -- | See: userPoolId :: (Value Prelude.Text)} deriving stock (Prelude.Eq, Prelude.Show) mkManagedLoginBranding :: Value Prelude.Text -> ManagedLoginBranding mkManagedLoginBranding userPoolId = ManagedLoginBranding {haddock_workaround_ = (), userPoolId = userPoolId, assets = Prelude.Nothing, clientId = Prelude.Nothing, returnMergedResources = Prelude.Nothing, settings = Prelude.Nothing, useCognitoProvidedValues = Prelude.Nothing} instance ToResourceProperties ManagedLoginBranding where toResourceProperties ManagedLoginBranding {..} = ResourceProperties {awsType = "AWS::Cognito::ManagedLoginBranding", supportsTags = Prelude.False, properties = Prelude.fromList ((Prelude.<>) ["UserPoolId" JSON..= userPoolId] (Prelude.catMaybes [(JSON..=) "Assets" Prelude.<$> assets, (JSON..=) "ClientId" Prelude.<$> clientId, (JSON..=) "ReturnMergedResources" Prelude.<$> returnMergedResources, (JSON..=) "Settings" Prelude.<$> settings, (JSON..=) "UseCognitoProvidedValues" Prelude.<$> useCognitoProvidedValues]))} instance JSON.ToJSON ManagedLoginBranding where toJSON ManagedLoginBranding {..} = JSON.object (Prelude.fromList ((Prelude.<>) ["UserPoolId" JSON..= userPoolId] (Prelude.catMaybes [(JSON..=) "Assets" Prelude.<$> assets, (JSON..=) "ClientId" Prelude.<$> clientId, (JSON..=) "ReturnMergedResources" Prelude.<$> returnMergedResources, (JSON..=) "Settings" Prelude.<$> settings, (JSON..=) "UseCognitoProvidedValues" Prelude.<$> useCognitoProvidedValues]))) instance Property "Assets" ManagedLoginBranding where type PropertyType "Assets" ManagedLoginBranding = [AssetTypeProperty] set newValue ManagedLoginBranding {..} = ManagedLoginBranding {assets = Prelude.pure newValue, ..} instance Property "ClientId" ManagedLoginBranding where type PropertyType "ClientId" ManagedLoginBranding = Value Prelude.Text set newValue ManagedLoginBranding {..} = ManagedLoginBranding {clientId = Prelude.pure newValue, ..} instance Property "ReturnMergedResources" ManagedLoginBranding where type PropertyType "ReturnMergedResources" ManagedLoginBranding = Value Prelude.Bool set newValue ManagedLoginBranding {..} = ManagedLoginBranding {returnMergedResources = Prelude.pure newValue, ..} instance Property "Settings" ManagedLoginBranding where type PropertyType "Settings" ManagedLoginBranding = JSON.Object set newValue ManagedLoginBranding {..} = ManagedLoginBranding {settings = Prelude.pure newValue, ..} instance Property "UseCognitoProvidedValues" ManagedLoginBranding where type PropertyType "UseCognitoProvidedValues" ManagedLoginBranding = Value Prelude.Bool set newValue ManagedLoginBranding {..} = ManagedLoginBranding {useCognitoProvidedValues = Prelude.pure newValue, ..} instance Property "UserPoolId" ManagedLoginBranding where type PropertyType "UserPoolId" ManagedLoginBranding = Value Prelude.Text set newValue ManagedLoginBranding {..} = ManagedLoginBranding {userPoolId = newValue, ..}