packages feed

stratosphere-customerprofiles-1.0.0: gen/Stratosphere/CustomerProfiles/Domain/DomainStatsProperty.hs

module Stratosphere.CustomerProfiles.Domain.DomainStatsProperty (
        DomainStatsProperty(..), mkDomainStatsProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data DomainStatsProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-domain-domainstats.html>
    DomainStatsProperty {haddock_workaround_ :: (),
                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-domain-domainstats.html#cfn-customerprofiles-domain-domainstats-meteringprofilecount>
                         meteringProfileCount :: (Prelude.Maybe (Value Prelude.Double)),
                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-domain-domainstats.html#cfn-customerprofiles-domain-domainstats-objectcount>
                         objectCount :: (Prelude.Maybe (Value Prelude.Double)),
                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-domain-domainstats.html#cfn-customerprofiles-domain-domainstats-profilecount>
                         profileCount :: (Prelude.Maybe (Value Prelude.Double)),
                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-customerprofiles-domain-domainstats.html#cfn-customerprofiles-domain-domainstats-totalsize>
                         totalSize :: (Prelude.Maybe (Value Prelude.Double))}
  deriving stock (Prelude.Eq, Prelude.Show)
mkDomainStatsProperty :: DomainStatsProperty
mkDomainStatsProperty
  = DomainStatsProperty
      {haddock_workaround_ = (), meteringProfileCount = Prelude.Nothing,
       objectCount = Prelude.Nothing, profileCount = Prelude.Nothing,
       totalSize = Prelude.Nothing}
instance ToResourceProperties DomainStatsProperty where
  toResourceProperties DomainStatsProperty {..}
    = ResourceProperties
        {awsType = "AWS::CustomerProfiles::Domain.DomainStats",
         supportsTags = Prelude.False,
         properties = Prelude.fromList
                        (Prelude.catMaybes
                           [(JSON..=) "MeteringProfileCount" Prelude.<$> meteringProfileCount,
                            (JSON..=) "ObjectCount" Prelude.<$> objectCount,
                            (JSON..=) "ProfileCount" Prelude.<$> profileCount,
                            (JSON..=) "TotalSize" Prelude.<$> totalSize])}
instance JSON.ToJSON DomainStatsProperty where
  toJSON DomainStatsProperty {..}
    = JSON.object
        (Prelude.fromList
           (Prelude.catMaybes
              [(JSON..=) "MeteringProfileCount" Prelude.<$> meteringProfileCount,
               (JSON..=) "ObjectCount" Prelude.<$> objectCount,
               (JSON..=) "ProfileCount" Prelude.<$> profileCount,
               (JSON..=) "TotalSize" Prelude.<$> totalSize]))
instance Property "MeteringProfileCount" DomainStatsProperty where
  type PropertyType "MeteringProfileCount" DomainStatsProperty = Value Prelude.Double
  set newValue DomainStatsProperty {..}
    = DomainStatsProperty
        {meteringProfileCount = Prelude.pure newValue, ..}
instance Property "ObjectCount" DomainStatsProperty where
  type PropertyType "ObjectCount" DomainStatsProperty = Value Prelude.Double
  set newValue DomainStatsProperty {..}
    = DomainStatsProperty {objectCount = Prelude.pure newValue, ..}
instance Property "ProfileCount" DomainStatsProperty where
  type PropertyType "ProfileCount" DomainStatsProperty = Value Prelude.Double
  set newValue DomainStatsProperty {..}
    = DomainStatsProperty {profileCount = Prelude.pure newValue, ..}
instance Property "TotalSize" DomainStatsProperty where
  type PropertyType "TotalSize" DomainStatsProperty = Value Prelude.Double
  set newValue DomainStatsProperty {..}
    = DomainStatsProperty {totalSize = Prelude.pure newValue, ..}