packages feed

amazonka-budgets 1.6.1 → 2.0

raw patch · 110 files changed

+12044/−3928 lines, 110 filesdep +case-insensitivedep ~amazonka-coredep ~amazonka-testdep ~basesetup-changedPVP ok

version bump matches the API change (PVP)

Dependencies added: case-insensitive

Dependency ranges changed: amazonka-core, amazonka-test, base

API changes (from Hackage documentation)

- Network.AWS.Budgets: AbsoluteValue :: ThresholdType
- Network.AWS.Budgets: Actual :: NotificationType
- Network.AWS.Budgets: Annually :: TimeUnit
- Network.AWS.Budgets: Cost :: BudgetType
- Network.AWS.Budgets: Daily :: TimeUnit
- Network.AWS.Budgets: Email :: SubscriptionType
- Network.AWS.Budgets: EqualTo :: ComparisonOperator
- Network.AWS.Budgets: Forecasted :: NotificationType
- Network.AWS.Budgets: GreaterThan :: ComparisonOperator
- Network.AWS.Budgets: LessThan :: ComparisonOperator
- Network.AWS.Budgets: Monthly :: TimeUnit
- Network.AWS.Budgets: Percentage :: ThresholdType
- Network.AWS.Budgets: Quarterly :: TimeUnit
- Network.AWS.Budgets: RiCoverage :: BudgetType
- Network.AWS.Budgets: RiUtilization :: BudgetType
- Network.AWS.Budgets: SNS :: SubscriptionType
- Network.AWS.Budgets: Usage :: BudgetType
- Network.AWS.Budgets: _CreationLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.Budgets: _DuplicateRecordException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.Budgets: _ExpiredNextTokenException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.Budgets: _InternalErrorException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.Budgets: _InvalidNextTokenException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.Budgets: _InvalidParameterException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.Budgets: _NotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.Budgets: bBudgetLimit :: Lens' Budget (Maybe Spend)
- Network.AWS.Budgets: bBudgetName :: Lens' Budget Text
- Network.AWS.Budgets: bBudgetType :: Lens' Budget BudgetType
- Network.AWS.Budgets: bCalculatedSpend :: Lens' Budget (Maybe CalculatedSpend)
- Network.AWS.Budgets: bCostFilters :: Lens' Budget (HashMap Text [Text])
- Network.AWS.Budgets: bCostTypes :: Lens' Budget (Maybe CostTypes)
- Network.AWS.Budgets: bTimePeriod :: Lens' Budget (Maybe TimePeriod)
- Network.AWS.Budgets: bTimeUnit :: Lens' Budget TimeUnit
- Network.AWS.Budgets: budget :: Text -> TimeUnit -> BudgetType -> Budget
- Network.AWS.Budgets: budgets :: Service
- Network.AWS.Budgets: calculatedSpend :: Spend -> CalculatedSpend
- Network.AWS.Budgets: costTypes :: CostTypes
- Network.AWS.Budgets: csActualSpend :: Lens' CalculatedSpend Spend
- Network.AWS.Budgets: csForecastedSpend :: Lens' CalculatedSpend (Maybe Spend)
- Network.AWS.Budgets: ctIncludeCredit :: Lens' CostTypes (Maybe Bool)
- Network.AWS.Budgets: ctIncludeDiscount :: Lens' CostTypes (Maybe Bool)
- Network.AWS.Budgets: ctIncludeOtherSubscription :: Lens' CostTypes (Maybe Bool)
- Network.AWS.Budgets: ctIncludeRecurring :: Lens' CostTypes (Maybe Bool)
- Network.AWS.Budgets: ctIncludeRefund :: Lens' CostTypes (Maybe Bool)
- Network.AWS.Budgets: ctIncludeSubscription :: Lens' CostTypes (Maybe Bool)
- Network.AWS.Budgets: ctIncludeSupport :: Lens' CostTypes (Maybe Bool)
- Network.AWS.Budgets: ctIncludeTax :: Lens' CostTypes (Maybe Bool)
- Network.AWS.Budgets: ctIncludeUpfront :: Lens' CostTypes (Maybe Bool)
- Network.AWS.Budgets: ctUseAmortized :: Lens' CostTypes (Maybe Bool)
- Network.AWS.Budgets: ctUseBlended :: Lens' CostTypes (Maybe Bool)
- Network.AWS.Budgets: data Budget
- Network.AWS.Budgets: data BudgetType
- Network.AWS.Budgets: data CalculatedSpend
- Network.AWS.Budgets: data ComparisonOperator
- Network.AWS.Budgets: data CostTypes
- Network.AWS.Budgets: data Notification
- Network.AWS.Budgets: data NotificationType
- Network.AWS.Budgets: data NotificationWithSubscribers
- Network.AWS.Budgets: data Spend
- Network.AWS.Budgets: data Subscriber
- Network.AWS.Budgets: data SubscriptionType
- Network.AWS.Budgets: data ThresholdType
- Network.AWS.Budgets: data TimePeriod
- Network.AWS.Budgets: data TimeUnit
- Network.AWS.Budgets: nComparisonOperator :: Lens' Notification ComparisonOperator
- Network.AWS.Budgets: nNotificationType :: Lens' Notification NotificationType
- Network.AWS.Budgets: nThreshold :: Lens' Notification Double
- Network.AWS.Budgets: nThresholdType :: Lens' Notification (Maybe ThresholdType)
- Network.AWS.Budgets: notification :: NotificationType -> ComparisonOperator -> Double -> Notification
- Network.AWS.Budgets: notificationWithSubscribers :: Notification -> NonEmpty Subscriber -> NotificationWithSubscribers
- Network.AWS.Budgets: nwsNotification :: Lens' NotificationWithSubscribers Notification
- Network.AWS.Budgets: nwsSubscribers :: Lens' NotificationWithSubscribers (NonEmpty Subscriber)
- Network.AWS.Budgets: sAddress :: Lens' Subscriber Text
- Network.AWS.Budgets: sAmount :: Lens' Spend Text
- Network.AWS.Budgets: sSubscriptionType :: Lens' Subscriber SubscriptionType
- Network.AWS.Budgets: sUnit :: Lens' Spend Text
- Network.AWS.Budgets: spend :: Text -> Text -> Spend
- Network.AWS.Budgets: subscriber :: SubscriptionType -> Text -> Subscriber
- Network.AWS.Budgets: timePeriod :: TimePeriod
- Network.AWS.Budgets: tpEnd :: Lens' TimePeriod (Maybe UTCTime)
- Network.AWS.Budgets: tpStart :: Lens' TimePeriod (Maybe UTCTime)
- Network.AWS.Budgets.CreateBudget: cbAccountId :: Lens' CreateBudget Text
- Network.AWS.Budgets.CreateBudget: cbBudget :: Lens' CreateBudget Budget
- Network.AWS.Budgets.CreateBudget: cbNotificationsWithSubscribers :: Lens' CreateBudget [NotificationWithSubscribers]
- Network.AWS.Budgets.CreateBudget: cbrsResponseStatus :: Lens' CreateBudgetResponse Int
- Network.AWS.Budgets.CreateBudget: createBudget :: Text -> Budget -> CreateBudget
- Network.AWS.Budgets.CreateBudget: createBudgetResponse :: Int -> CreateBudgetResponse
- Network.AWS.Budgets.CreateBudget: data CreateBudget
- Network.AWS.Budgets.CreateBudget: data CreateBudgetResponse
- Network.AWS.Budgets.CreateBudget: instance Control.DeepSeq.NFData Network.AWS.Budgets.CreateBudget.CreateBudget
- Network.AWS.Budgets.CreateBudget: instance Control.DeepSeq.NFData Network.AWS.Budgets.CreateBudget.CreateBudgetResponse
- Network.AWS.Budgets.CreateBudget: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Budgets.CreateBudget.CreateBudget
- Network.AWS.Budgets.CreateBudget: instance Data.Data.Data Network.AWS.Budgets.CreateBudget.CreateBudget
- Network.AWS.Budgets.CreateBudget: instance Data.Data.Data Network.AWS.Budgets.CreateBudget.CreateBudgetResponse
- Network.AWS.Budgets.CreateBudget: instance Data.Hashable.Class.Hashable Network.AWS.Budgets.CreateBudget.CreateBudget
- Network.AWS.Budgets.CreateBudget: instance GHC.Classes.Eq Network.AWS.Budgets.CreateBudget.CreateBudget
- Network.AWS.Budgets.CreateBudget: instance GHC.Classes.Eq Network.AWS.Budgets.CreateBudget.CreateBudgetResponse
- Network.AWS.Budgets.CreateBudget: instance GHC.Generics.Generic Network.AWS.Budgets.CreateBudget.CreateBudget
- Network.AWS.Budgets.CreateBudget: instance GHC.Generics.Generic Network.AWS.Budgets.CreateBudget.CreateBudgetResponse
- Network.AWS.Budgets.CreateBudget: instance GHC.Read.Read Network.AWS.Budgets.CreateBudget.CreateBudget
- Network.AWS.Budgets.CreateBudget: instance GHC.Read.Read Network.AWS.Budgets.CreateBudget.CreateBudgetResponse
- Network.AWS.Budgets.CreateBudget: instance GHC.Show.Show Network.AWS.Budgets.CreateBudget.CreateBudget
- Network.AWS.Budgets.CreateBudget: instance GHC.Show.Show Network.AWS.Budgets.CreateBudget.CreateBudgetResponse
- Network.AWS.Budgets.CreateBudget: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Budgets.CreateBudget.CreateBudget
- Network.AWS.Budgets.CreateBudget: instance Network.AWS.Data.Path.ToPath Network.AWS.Budgets.CreateBudget.CreateBudget
- Network.AWS.Budgets.CreateBudget: instance Network.AWS.Data.Query.ToQuery Network.AWS.Budgets.CreateBudget.CreateBudget
- Network.AWS.Budgets.CreateBudget: instance Network.AWS.Types.AWSRequest Network.AWS.Budgets.CreateBudget.CreateBudget
- Network.AWS.Budgets.CreateNotification: cnAccountId :: Lens' CreateNotification Text
- Network.AWS.Budgets.CreateNotification: cnBudgetName :: Lens' CreateNotification Text
- Network.AWS.Budgets.CreateNotification: cnNotification :: Lens' CreateNotification Notification
- Network.AWS.Budgets.CreateNotification: cnSubscribers :: Lens' CreateNotification (NonEmpty Subscriber)
- Network.AWS.Budgets.CreateNotification: cnrsResponseStatus :: Lens' CreateNotificationResponse Int
- Network.AWS.Budgets.CreateNotification: createNotification :: Text -> Text -> Notification -> NonEmpty Subscriber -> CreateNotification
- Network.AWS.Budgets.CreateNotification: createNotificationResponse :: Int -> CreateNotificationResponse
- Network.AWS.Budgets.CreateNotification: data CreateNotification
- Network.AWS.Budgets.CreateNotification: data CreateNotificationResponse
- Network.AWS.Budgets.CreateNotification: instance Control.DeepSeq.NFData Network.AWS.Budgets.CreateNotification.CreateNotification
- Network.AWS.Budgets.CreateNotification: instance Control.DeepSeq.NFData Network.AWS.Budgets.CreateNotification.CreateNotificationResponse
- Network.AWS.Budgets.CreateNotification: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Budgets.CreateNotification.CreateNotification
- Network.AWS.Budgets.CreateNotification: instance Data.Data.Data Network.AWS.Budgets.CreateNotification.CreateNotification
- Network.AWS.Budgets.CreateNotification: instance Data.Data.Data Network.AWS.Budgets.CreateNotification.CreateNotificationResponse
- Network.AWS.Budgets.CreateNotification: instance Data.Hashable.Class.Hashable Network.AWS.Budgets.CreateNotification.CreateNotification
- Network.AWS.Budgets.CreateNotification: instance GHC.Classes.Eq Network.AWS.Budgets.CreateNotification.CreateNotification
- Network.AWS.Budgets.CreateNotification: instance GHC.Classes.Eq Network.AWS.Budgets.CreateNotification.CreateNotificationResponse
- Network.AWS.Budgets.CreateNotification: instance GHC.Generics.Generic Network.AWS.Budgets.CreateNotification.CreateNotification
- Network.AWS.Budgets.CreateNotification: instance GHC.Generics.Generic Network.AWS.Budgets.CreateNotification.CreateNotificationResponse
- Network.AWS.Budgets.CreateNotification: instance GHC.Read.Read Network.AWS.Budgets.CreateNotification.CreateNotification
- Network.AWS.Budgets.CreateNotification: instance GHC.Read.Read Network.AWS.Budgets.CreateNotification.CreateNotificationResponse
- Network.AWS.Budgets.CreateNotification: instance GHC.Show.Show Network.AWS.Budgets.CreateNotification.CreateNotification
- Network.AWS.Budgets.CreateNotification: instance GHC.Show.Show Network.AWS.Budgets.CreateNotification.CreateNotificationResponse
- Network.AWS.Budgets.CreateNotification: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Budgets.CreateNotification.CreateNotification
- Network.AWS.Budgets.CreateNotification: instance Network.AWS.Data.Path.ToPath Network.AWS.Budgets.CreateNotification.CreateNotification
- Network.AWS.Budgets.CreateNotification: instance Network.AWS.Data.Query.ToQuery Network.AWS.Budgets.CreateNotification.CreateNotification
- Network.AWS.Budgets.CreateNotification: instance Network.AWS.Types.AWSRequest Network.AWS.Budgets.CreateNotification.CreateNotification
- Network.AWS.Budgets.CreateSubscriber: createSubscriber :: Text -> Text -> Notification -> Subscriber -> CreateSubscriber
- Network.AWS.Budgets.CreateSubscriber: createSubscriberResponse :: Int -> CreateSubscriberResponse
- Network.AWS.Budgets.CreateSubscriber: csAccountId :: Lens' CreateSubscriber Text
- Network.AWS.Budgets.CreateSubscriber: csBudgetName :: Lens' CreateSubscriber Text
- Network.AWS.Budgets.CreateSubscriber: csNotification :: Lens' CreateSubscriber Notification
- Network.AWS.Budgets.CreateSubscriber: csSubscriber :: Lens' CreateSubscriber Subscriber
- Network.AWS.Budgets.CreateSubscriber: csrsResponseStatus :: Lens' CreateSubscriberResponse Int
- Network.AWS.Budgets.CreateSubscriber: data CreateSubscriber
- Network.AWS.Budgets.CreateSubscriber: data CreateSubscriberResponse
- Network.AWS.Budgets.CreateSubscriber: instance Control.DeepSeq.NFData Network.AWS.Budgets.CreateSubscriber.CreateSubscriber
- Network.AWS.Budgets.CreateSubscriber: instance Control.DeepSeq.NFData Network.AWS.Budgets.CreateSubscriber.CreateSubscriberResponse
- Network.AWS.Budgets.CreateSubscriber: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Budgets.CreateSubscriber.CreateSubscriber
- Network.AWS.Budgets.CreateSubscriber: instance Data.Data.Data Network.AWS.Budgets.CreateSubscriber.CreateSubscriber
- Network.AWS.Budgets.CreateSubscriber: instance Data.Data.Data Network.AWS.Budgets.CreateSubscriber.CreateSubscriberResponse
- Network.AWS.Budgets.CreateSubscriber: instance Data.Hashable.Class.Hashable Network.AWS.Budgets.CreateSubscriber.CreateSubscriber
- Network.AWS.Budgets.CreateSubscriber: instance GHC.Classes.Eq Network.AWS.Budgets.CreateSubscriber.CreateSubscriber
- Network.AWS.Budgets.CreateSubscriber: instance GHC.Classes.Eq Network.AWS.Budgets.CreateSubscriber.CreateSubscriberResponse
- Network.AWS.Budgets.CreateSubscriber: instance GHC.Generics.Generic Network.AWS.Budgets.CreateSubscriber.CreateSubscriber
- Network.AWS.Budgets.CreateSubscriber: instance GHC.Generics.Generic Network.AWS.Budgets.CreateSubscriber.CreateSubscriberResponse
- Network.AWS.Budgets.CreateSubscriber: instance GHC.Read.Read Network.AWS.Budgets.CreateSubscriber.CreateSubscriber
- Network.AWS.Budgets.CreateSubscriber: instance GHC.Read.Read Network.AWS.Budgets.CreateSubscriber.CreateSubscriberResponse
- Network.AWS.Budgets.CreateSubscriber: instance GHC.Show.Show Network.AWS.Budgets.CreateSubscriber.CreateSubscriber
- Network.AWS.Budgets.CreateSubscriber: instance GHC.Show.Show Network.AWS.Budgets.CreateSubscriber.CreateSubscriberResponse
- Network.AWS.Budgets.CreateSubscriber: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Budgets.CreateSubscriber.CreateSubscriber
- Network.AWS.Budgets.CreateSubscriber: instance Network.AWS.Data.Path.ToPath Network.AWS.Budgets.CreateSubscriber.CreateSubscriber
- Network.AWS.Budgets.CreateSubscriber: instance Network.AWS.Data.Query.ToQuery Network.AWS.Budgets.CreateSubscriber.CreateSubscriber
- Network.AWS.Budgets.CreateSubscriber: instance Network.AWS.Types.AWSRequest Network.AWS.Budgets.CreateSubscriber.CreateSubscriber
- Network.AWS.Budgets.DeleteBudget: dAccountId :: Lens' DeleteBudget Text
- Network.AWS.Budgets.DeleteBudget: dBudgetName :: Lens' DeleteBudget Text
- Network.AWS.Budgets.DeleteBudget: data DeleteBudget
- Network.AWS.Budgets.DeleteBudget: data DeleteBudgetResponse
- Network.AWS.Budgets.DeleteBudget: deleteBudget :: Text -> Text -> DeleteBudget
- Network.AWS.Budgets.DeleteBudget: deleteBudgetResponse :: Int -> DeleteBudgetResponse
- Network.AWS.Budgets.DeleteBudget: drsResponseStatus :: Lens' DeleteBudgetResponse Int
- Network.AWS.Budgets.DeleteBudget: instance Control.DeepSeq.NFData Network.AWS.Budgets.DeleteBudget.DeleteBudget
- Network.AWS.Budgets.DeleteBudget: instance Control.DeepSeq.NFData Network.AWS.Budgets.DeleteBudget.DeleteBudgetResponse
- Network.AWS.Budgets.DeleteBudget: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Budgets.DeleteBudget.DeleteBudget
- Network.AWS.Budgets.DeleteBudget: instance Data.Data.Data Network.AWS.Budgets.DeleteBudget.DeleteBudget
- Network.AWS.Budgets.DeleteBudget: instance Data.Data.Data Network.AWS.Budgets.DeleteBudget.DeleteBudgetResponse
- Network.AWS.Budgets.DeleteBudget: instance Data.Hashable.Class.Hashable Network.AWS.Budgets.DeleteBudget.DeleteBudget
- Network.AWS.Budgets.DeleteBudget: instance GHC.Classes.Eq Network.AWS.Budgets.DeleteBudget.DeleteBudget
- Network.AWS.Budgets.DeleteBudget: instance GHC.Classes.Eq Network.AWS.Budgets.DeleteBudget.DeleteBudgetResponse
- Network.AWS.Budgets.DeleteBudget: instance GHC.Generics.Generic Network.AWS.Budgets.DeleteBudget.DeleteBudget
- Network.AWS.Budgets.DeleteBudget: instance GHC.Generics.Generic Network.AWS.Budgets.DeleteBudget.DeleteBudgetResponse
- Network.AWS.Budgets.DeleteBudget: instance GHC.Read.Read Network.AWS.Budgets.DeleteBudget.DeleteBudget
- Network.AWS.Budgets.DeleteBudget: instance GHC.Read.Read Network.AWS.Budgets.DeleteBudget.DeleteBudgetResponse
- Network.AWS.Budgets.DeleteBudget: instance GHC.Show.Show Network.AWS.Budgets.DeleteBudget.DeleteBudget
- Network.AWS.Budgets.DeleteBudget: instance GHC.Show.Show Network.AWS.Budgets.DeleteBudget.DeleteBudgetResponse
- Network.AWS.Budgets.DeleteBudget: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Budgets.DeleteBudget.DeleteBudget
- Network.AWS.Budgets.DeleteBudget: instance Network.AWS.Data.Path.ToPath Network.AWS.Budgets.DeleteBudget.DeleteBudget
- Network.AWS.Budgets.DeleteBudget: instance Network.AWS.Data.Query.ToQuery Network.AWS.Budgets.DeleteBudget.DeleteBudget
- Network.AWS.Budgets.DeleteBudget: instance Network.AWS.Types.AWSRequest Network.AWS.Budgets.DeleteBudget.DeleteBudget
- Network.AWS.Budgets.DeleteNotification: data DeleteNotification
- Network.AWS.Budgets.DeleteNotification: data DeleteNotificationResponse
- Network.AWS.Budgets.DeleteNotification: deleteNotification :: Text -> Text -> Notification -> DeleteNotification
- Network.AWS.Budgets.DeleteNotification: deleteNotificationResponse :: Int -> DeleteNotificationResponse
- Network.AWS.Budgets.DeleteNotification: dnAccountId :: Lens' DeleteNotification Text
- Network.AWS.Budgets.DeleteNotification: dnBudgetName :: Lens' DeleteNotification Text
- Network.AWS.Budgets.DeleteNotification: dnNotification :: Lens' DeleteNotification Notification
- Network.AWS.Budgets.DeleteNotification: dnrsResponseStatus :: Lens' DeleteNotificationResponse Int
- Network.AWS.Budgets.DeleteNotification: instance Control.DeepSeq.NFData Network.AWS.Budgets.DeleteNotification.DeleteNotification
- Network.AWS.Budgets.DeleteNotification: instance Control.DeepSeq.NFData Network.AWS.Budgets.DeleteNotification.DeleteNotificationResponse
- Network.AWS.Budgets.DeleteNotification: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Budgets.DeleteNotification.DeleteNotification
- Network.AWS.Budgets.DeleteNotification: instance Data.Data.Data Network.AWS.Budgets.DeleteNotification.DeleteNotification
- Network.AWS.Budgets.DeleteNotification: instance Data.Data.Data Network.AWS.Budgets.DeleteNotification.DeleteNotificationResponse
- Network.AWS.Budgets.DeleteNotification: instance Data.Hashable.Class.Hashable Network.AWS.Budgets.DeleteNotification.DeleteNotification
- Network.AWS.Budgets.DeleteNotification: instance GHC.Classes.Eq Network.AWS.Budgets.DeleteNotification.DeleteNotification
- Network.AWS.Budgets.DeleteNotification: instance GHC.Classes.Eq Network.AWS.Budgets.DeleteNotification.DeleteNotificationResponse
- Network.AWS.Budgets.DeleteNotification: instance GHC.Generics.Generic Network.AWS.Budgets.DeleteNotification.DeleteNotification
- Network.AWS.Budgets.DeleteNotification: instance GHC.Generics.Generic Network.AWS.Budgets.DeleteNotification.DeleteNotificationResponse
- Network.AWS.Budgets.DeleteNotification: instance GHC.Read.Read Network.AWS.Budgets.DeleteNotification.DeleteNotification
- Network.AWS.Budgets.DeleteNotification: instance GHC.Read.Read Network.AWS.Budgets.DeleteNotification.DeleteNotificationResponse
- Network.AWS.Budgets.DeleteNotification: instance GHC.Show.Show Network.AWS.Budgets.DeleteNotification.DeleteNotification
- Network.AWS.Budgets.DeleteNotification: instance GHC.Show.Show Network.AWS.Budgets.DeleteNotification.DeleteNotificationResponse
- Network.AWS.Budgets.DeleteNotification: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Budgets.DeleteNotification.DeleteNotification
- Network.AWS.Budgets.DeleteNotification: instance Network.AWS.Data.Path.ToPath Network.AWS.Budgets.DeleteNotification.DeleteNotification
- Network.AWS.Budgets.DeleteNotification: instance Network.AWS.Data.Query.ToQuery Network.AWS.Budgets.DeleteNotification.DeleteNotification
- Network.AWS.Budgets.DeleteNotification: instance Network.AWS.Types.AWSRequest Network.AWS.Budgets.DeleteNotification.DeleteNotification
- Network.AWS.Budgets.DeleteSubscriber: data DeleteSubscriber
- Network.AWS.Budgets.DeleteSubscriber: data DeleteSubscriberResponse
- Network.AWS.Budgets.DeleteSubscriber: deleteSubscriber :: Text -> Text -> Notification -> Subscriber -> DeleteSubscriber
- Network.AWS.Budgets.DeleteSubscriber: deleteSubscriberResponse :: Int -> DeleteSubscriberResponse
- Network.AWS.Budgets.DeleteSubscriber: dsAccountId :: Lens' DeleteSubscriber Text
- Network.AWS.Budgets.DeleteSubscriber: dsBudgetName :: Lens' DeleteSubscriber Text
- Network.AWS.Budgets.DeleteSubscriber: dsNotification :: Lens' DeleteSubscriber Notification
- Network.AWS.Budgets.DeleteSubscriber: dsSubscriber :: Lens' DeleteSubscriber Subscriber
- Network.AWS.Budgets.DeleteSubscriber: dsrsResponseStatus :: Lens' DeleteSubscriberResponse Int
- Network.AWS.Budgets.DeleteSubscriber: instance Control.DeepSeq.NFData Network.AWS.Budgets.DeleteSubscriber.DeleteSubscriber
- Network.AWS.Budgets.DeleteSubscriber: instance Control.DeepSeq.NFData Network.AWS.Budgets.DeleteSubscriber.DeleteSubscriberResponse
- Network.AWS.Budgets.DeleteSubscriber: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Budgets.DeleteSubscriber.DeleteSubscriber
- Network.AWS.Budgets.DeleteSubscriber: instance Data.Data.Data Network.AWS.Budgets.DeleteSubscriber.DeleteSubscriber
- Network.AWS.Budgets.DeleteSubscriber: instance Data.Data.Data Network.AWS.Budgets.DeleteSubscriber.DeleteSubscriberResponse
- Network.AWS.Budgets.DeleteSubscriber: instance Data.Hashable.Class.Hashable Network.AWS.Budgets.DeleteSubscriber.DeleteSubscriber
- Network.AWS.Budgets.DeleteSubscriber: instance GHC.Classes.Eq Network.AWS.Budgets.DeleteSubscriber.DeleteSubscriber
- Network.AWS.Budgets.DeleteSubscriber: instance GHC.Classes.Eq Network.AWS.Budgets.DeleteSubscriber.DeleteSubscriberResponse
- Network.AWS.Budgets.DeleteSubscriber: instance GHC.Generics.Generic Network.AWS.Budgets.DeleteSubscriber.DeleteSubscriber
- Network.AWS.Budgets.DeleteSubscriber: instance GHC.Generics.Generic Network.AWS.Budgets.DeleteSubscriber.DeleteSubscriberResponse
- Network.AWS.Budgets.DeleteSubscriber: instance GHC.Read.Read Network.AWS.Budgets.DeleteSubscriber.DeleteSubscriber
- Network.AWS.Budgets.DeleteSubscriber: instance GHC.Read.Read Network.AWS.Budgets.DeleteSubscriber.DeleteSubscriberResponse
- Network.AWS.Budgets.DeleteSubscriber: instance GHC.Show.Show Network.AWS.Budgets.DeleteSubscriber.DeleteSubscriber
- Network.AWS.Budgets.DeleteSubscriber: instance GHC.Show.Show Network.AWS.Budgets.DeleteSubscriber.DeleteSubscriberResponse
- Network.AWS.Budgets.DeleteSubscriber: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Budgets.DeleteSubscriber.DeleteSubscriber
- Network.AWS.Budgets.DeleteSubscriber: instance Network.AWS.Data.Path.ToPath Network.AWS.Budgets.DeleteSubscriber.DeleteSubscriber
- Network.AWS.Budgets.DeleteSubscriber: instance Network.AWS.Data.Query.ToQuery Network.AWS.Budgets.DeleteSubscriber.DeleteSubscriber
- Network.AWS.Budgets.DeleteSubscriber: instance Network.AWS.Types.AWSRequest Network.AWS.Budgets.DeleteSubscriber.DeleteSubscriber
- Network.AWS.Budgets.DescribeBudget: data DescribeBudget
- Network.AWS.Budgets.DescribeBudget: data DescribeBudgetResponse
- Network.AWS.Budgets.DescribeBudget: desAccountId :: Lens' DescribeBudget Text
- Network.AWS.Budgets.DescribeBudget: desBudgetName :: Lens' DescribeBudget Text
- Network.AWS.Budgets.DescribeBudget: describeBudget :: Text -> Text -> DescribeBudget
- Network.AWS.Budgets.DescribeBudget: describeBudgetResponse :: Int -> DescribeBudgetResponse
- Network.AWS.Budgets.DescribeBudget: desrsBudget :: Lens' DescribeBudgetResponse (Maybe Budget)
- Network.AWS.Budgets.DescribeBudget: desrsResponseStatus :: Lens' DescribeBudgetResponse Int
- Network.AWS.Budgets.DescribeBudget: instance Control.DeepSeq.NFData Network.AWS.Budgets.DescribeBudget.DescribeBudget
- Network.AWS.Budgets.DescribeBudget: instance Control.DeepSeq.NFData Network.AWS.Budgets.DescribeBudget.DescribeBudgetResponse
- Network.AWS.Budgets.DescribeBudget: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Budgets.DescribeBudget.DescribeBudget
- Network.AWS.Budgets.DescribeBudget: instance Data.Data.Data Network.AWS.Budgets.DescribeBudget.DescribeBudget
- Network.AWS.Budgets.DescribeBudget: instance Data.Data.Data Network.AWS.Budgets.DescribeBudget.DescribeBudgetResponse
- Network.AWS.Budgets.DescribeBudget: instance Data.Hashable.Class.Hashable Network.AWS.Budgets.DescribeBudget.DescribeBudget
- Network.AWS.Budgets.DescribeBudget: instance GHC.Classes.Eq Network.AWS.Budgets.DescribeBudget.DescribeBudget
- Network.AWS.Budgets.DescribeBudget: instance GHC.Classes.Eq Network.AWS.Budgets.DescribeBudget.DescribeBudgetResponse
- Network.AWS.Budgets.DescribeBudget: instance GHC.Generics.Generic Network.AWS.Budgets.DescribeBudget.DescribeBudget
- Network.AWS.Budgets.DescribeBudget: instance GHC.Generics.Generic Network.AWS.Budgets.DescribeBudget.DescribeBudgetResponse
- Network.AWS.Budgets.DescribeBudget: instance GHC.Read.Read Network.AWS.Budgets.DescribeBudget.DescribeBudget
- Network.AWS.Budgets.DescribeBudget: instance GHC.Read.Read Network.AWS.Budgets.DescribeBudget.DescribeBudgetResponse
- Network.AWS.Budgets.DescribeBudget: instance GHC.Show.Show Network.AWS.Budgets.DescribeBudget.DescribeBudget
- Network.AWS.Budgets.DescribeBudget: instance GHC.Show.Show Network.AWS.Budgets.DescribeBudget.DescribeBudgetResponse
- Network.AWS.Budgets.DescribeBudget: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Budgets.DescribeBudget.DescribeBudget
- Network.AWS.Budgets.DescribeBudget: instance Network.AWS.Data.Path.ToPath Network.AWS.Budgets.DescribeBudget.DescribeBudget
- Network.AWS.Budgets.DescribeBudget: instance Network.AWS.Data.Query.ToQuery Network.AWS.Budgets.DescribeBudget.DescribeBudget
- Network.AWS.Budgets.DescribeBudget: instance Network.AWS.Types.AWSRequest Network.AWS.Budgets.DescribeBudget.DescribeBudget
- Network.AWS.Budgets.DescribeBudgets: data DescribeBudgets
- Network.AWS.Budgets.DescribeBudgets: data DescribeBudgetsResponse
- Network.AWS.Budgets.DescribeBudgets: dbAccountId :: Lens' DescribeBudgets Text
- Network.AWS.Budgets.DescribeBudgets: dbMaxResults :: Lens' DescribeBudgets (Maybe Natural)
- Network.AWS.Budgets.DescribeBudgets: dbNextToken :: Lens' DescribeBudgets (Maybe Text)
- Network.AWS.Budgets.DescribeBudgets: dbrsBudgets :: Lens' DescribeBudgetsResponse [Budget]
- Network.AWS.Budgets.DescribeBudgets: dbrsNextToken :: Lens' DescribeBudgetsResponse (Maybe Text)
- Network.AWS.Budgets.DescribeBudgets: dbrsResponseStatus :: Lens' DescribeBudgetsResponse Int
- Network.AWS.Budgets.DescribeBudgets: describeBudgets :: Text -> DescribeBudgets
- Network.AWS.Budgets.DescribeBudgets: describeBudgetsResponse :: Int -> DescribeBudgetsResponse
- Network.AWS.Budgets.DescribeBudgets: instance Control.DeepSeq.NFData Network.AWS.Budgets.DescribeBudgets.DescribeBudgets
- Network.AWS.Budgets.DescribeBudgets: instance Control.DeepSeq.NFData Network.AWS.Budgets.DescribeBudgets.DescribeBudgetsResponse
- Network.AWS.Budgets.DescribeBudgets: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Budgets.DescribeBudgets.DescribeBudgets
- Network.AWS.Budgets.DescribeBudgets: instance Data.Data.Data Network.AWS.Budgets.DescribeBudgets.DescribeBudgets
- Network.AWS.Budgets.DescribeBudgets: instance Data.Data.Data Network.AWS.Budgets.DescribeBudgets.DescribeBudgetsResponse
- Network.AWS.Budgets.DescribeBudgets: instance Data.Hashable.Class.Hashable Network.AWS.Budgets.DescribeBudgets.DescribeBudgets
- Network.AWS.Budgets.DescribeBudgets: instance GHC.Classes.Eq Network.AWS.Budgets.DescribeBudgets.DescribeBudgets
- Network.AWS.Budgets.DescribeBudgets: instance GHC.Classes.Eq Network.AWS.Budgets.DescribeBudgets.DescribeBudgetsResponse
- Network.AWS.Budgets.DescribeBudgets: instance GHC.Generics.Generic Network.AWS.Budgets.DescribeBudgets.DescribeBudgets
- Network.AWS.Budgets.DescribeBudgets: instance GHC.Generics.Generic Network.AWS.Budgets.DescribeBudgets.DescribeBudgetsResponse
- Network.AWS.Budgets.DescribeBudgets: instance GHC.Read.Read Network.AWS.Budgets.DescribeBudgets.DescribeBudgets
- Network.AWS.Budgets.DescribeBudgets: instance GHC.Read.Read Network.AWS.Budgets.DescribeBudgets.DescribeBudgetsResponse
- Network.AWS.Budgets.DescribeBudgets: instance GHC.Show.Show Network.AWS.Budgets.DescribeBudgets.DescribeBudgets
- Network.AWS.Budgets.DescribeBudgets: instance GHC.Show.Show Network.AWS.Budgets.DescribeBudgets.DescribeBudgetsResponse
- Network.AWS.Budgets.DescribeBudgets: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Budgets.DescribeBudgets.DescribeBudgets
- Network.AWS.Budgets.DescribeBudgets: instance Network.AWS.Data.Path.ToPath Network.AWS.Budgets.DescribeBudgets.DescribeBudgets
- Network.AWS.Budgets.DescribeBudgets: instance Network.AWS.Data.Query.ToQuery Network.AWS.Budgets.DescribeBudgets.DescribeBudgets
- Network.AWS.Budgets.DescribeBudgets: instance Network.AWS.Types.AWSRequest Network.AWS.Budgets.DescribeBudgets.DescribeBudgets
- Network.AWS.Budgets.DescribeNotificationsForBudget: data DescribeNotificationsForBudget
- Network.AWS.Budgets.DescribeNotificationsForBudget: data DescribeNotificationsForBudgetResponse
- Network.AWS.Budgets.DescribeNotificationsForBudget: describeNotificationsForBudget :: Text -> Text -> DescribeNotificationsForBudget
- Network.AWS.Budgets.DescribeNotificationsForBudget: describeNotificationsForBudgetResponse :: Int -> DescribeNotificationsForBudgetResponse
- Network.AWS.Budgets.DescribeNotificationsForBudget: dnfbAccountId :: Lens' DescribeNotificationsForBudget Text
- Network.AWS.Budgets.DescribeNotificationsForBudget: dnfbBudgetName :: Lens' DescribeNotificationsForBudget Text
- Network.AWS.Budgets.DescribeNotificationsForBudget: dnfbMaxResults :: Lens' DescribeNotificationsForBudget (Maybe Natural)
- Network.AWS.Budgets.DescribeNotificationsForBudget: dnfbNextToken :: Lens' DescribeNotificationsForBudget (Maybe Text)
- Network.AWS.Budgets.DescribeNotificationsForBudget: dnfbrsNextToken :: Lens' DescribeNotificationsForBudgetResponse (Maybe Text)
- Network.AWS.Budgets.DescribeNotificationsForBudget: dnfbrsNotifications :: Lens' DescribeNotificationsForBudgetResponse [Notification]
- Network.AWS.Budgets.DescribeNotificationsForBudget: dnfbrsResponseStatus :: Lens' DescribeNotificationsForBudgetResponse Int
- Network.AWS.Budgets.DescribeNotificationsForBudget: instance Control.DeepSeq.NFData Network.AWS.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudget
- Network.AWS.Budgets.DescribeNotificationsForBudget: instance Control.DeepSeq.NFData Network.AWS.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudgetResponse
- Network.AWS.Budgets.DescribeNotificationsForBudget: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudget
- Network.AWS.Budgets.DescribeNotificationsForBudget: instance Data.Data.Data Network.AWS.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudget
- Network.AWS.Budgets.DescribeNotificationsForBudget: instance Data.Data.Data Network.AWS.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudgetResponse
- Network.AWS.Budgets.DescribeNotificationsForBudget: instance Data.Hashable.Class.Hashable Network.AWS.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudget
- Network.AWS.Budgets.DescribeNotificationsForBudget: instance GHC.Classes.Eq Network.AWS.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudget
- Network.AWS.Budgets.DescribeNotificationsForBudget: instance GHC.Classes.Eq Network.AWS.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudgetResponse
- Network.AWS.Budgets.DescribeNotificationsForBudget: instance GHC.Generics.Generic Network.AWS.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudget
- Network.AWS.Budgets.DescribeNotificationsForBudget: instance GHC.Generics.Generic Network.AWS.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudgetResponse
- Network.AWS.Budgets.DescribeNotificationsForBudget: instance GHC.Read.Read Network.AWS.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudget
- Network.AWS.Budgets.DescribeNotificationsForBudget: instance GHC.Read.Read Network.AWS.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudgetResponse
- Network.AWS.Budgets.DescribeNotificationsForBudget: instance GHC.Show.Show Network.AWS.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudget
- Network.AWS.Budgets.DescribeNotificationsForBudget: instance GHC.Show.Show Network.AWS.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudgetResponse
- Network.AWS.Budgets.DescribeNotificationsForBudget: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudget
- Network.AWS.Budgets.DescribeNotificationsForBudget: instance Network.AWS.Data.Path.ToPath Network.AWS.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudget
- Network.AWS.Budgets.DescribeNotificationsForBudget: instance Network.AWS.Data.Query.ToQuery Network.AWS.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudget
- Network.AWS.Budgets.DescribeNotificationsForBudget: instance Network.AWS.Types.AWSRequest Network.AWS.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudget
- Network.AWS.Budgets.DescribeSubscribersForNotification: data DescribeSubscribersForNotification
- Network.AWS.Budgets.DescribeSubscribersForNotification: data DescribeSubscribersForNotificationResponse
- Network.AWS.Budgets.DescribeSubscribersForNotification: describeSubscribersForNotification :: Text -> Text -> Notification -> DescribeSubscribersForNotification
- Network.AWS.Budgets.DescribeSubscribersForNotification: describeSubscribersForNotificationResponse :: Int -> DescribeSubscribersForNotificationResponse
- Network.AWS.Budgets.DescribeSubscribersForNotification: dsfnAccountId :: Lens' DescribeSubscribersForNotification Text
- Network.AWS.Budgets.DescribeSubscribersForNotification: dsfnBudgetName :: Lens' DescribeSubscribersForNotification Text
- Network.AWS.Budgets.DescribeSubscribersForNotification: dsfnMaxResults :: Lens' DescribeSubscribersForNotification (Maybe Natural)
- Network.AWS.Budgets.DescribeSubscribersForNotification: dsfnNextToken :: Lens' DescribeSubscribersForNotification (Maybe Text)
- Network.AWS.Budgets.DescribeSubscribersForNotification: dsfnNotification :: Lens' DescribeSubscribersForNotification Notification
- Network.AWS.Budgets.DescribeSubscribersForNotification: dsfnrsNextToken :: Lens' DescribeSubscribersForNotificationResponse (Maybe Text)
- Network.AWS.Budgets.DescribeSubscribersForNotification: dsfnrsResponseStatus :: Lens' DescribeSubscribersForNotificationResponse Int
- Network.AWS.Budgets.DescribeSubscribersForNotification: dsfnrsSubscribers :: Lens' DescribeSubscribersForNotificationResponse (Maybe (NonEmpty Subscriber))
- Network.AWS.Budgets.DescribeSubscribersForNotification: instance Control.DeepSeq.NFData Network.AWS.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotification
- Network.AWS.Budgets.DescribeSubscribersForNotification: instance Control.DeepSeq.NFData Network.AWS.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotificationResponse
- Network.AWS.Budgets.DescribeSubscribersForNotification: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotification
- Network.AWS.Budgets.DescribeSubscribersForNotification: instance Data.Data.Data Network.AWS.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotification
- Network.AWS.Budgets.DescribeSubscribersForNotification: instance Data.Data.Data Network.AWS.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotificationResponse
- Network.AWS.Budgets.DescribeSubscribersForNotification: instance Data.Hashable.Class.Hashable Network.AWS.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotification
- Network.AWS.Budgets.DescribeSubscribersForNotification: instance GHC.Classes.Eq Network.AWS.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotification
- Network.AWS.Budgets.DescribeSubscribersForNotification: instance GHC.Classes.Eq Network.AWS.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotificationResponse
- Network.AWS.Budgets.DescribeSubscribersForNotification: instance GHC.Generics.Generic Network.AWS.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotification
- Network.AWS.Budgets.DescribeSubscribersForNotification: instance GHC.Generics.Generic Network.AWS.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotificationResponse
- Network.AWS.Budgets.DescribeSubscribersForNotification: instance GHC.Read.Read Network.AWS.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotification
- Network.AWS.Budgets.DescribeSubscribersForNotification: instance GHC.Read.Read Network.AWS.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotificationResponse
- Network.AWS.Budgets.DescribeSubscribersForNotification: instance GHC.Show.Show Network.AWS.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotification
- Network.AWS.Budgets.DescribeSubscribersForNotification: instance GHC.Show.Show Network.AWS.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotificationResponse
- Network.AWS.Budgets.DescribeSubscribersForNotification: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotification
- Network.AWS.Budgets.DescribeSubscribersForNotification: instance Network.AWS.Data.Path.ToPath Network.AWS.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotification
- Network.AWS.Budgets.DescribeSubscribersForNotification: instance Network.AWS.Data.Query.ToQuery Network.AWS.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotification
- Network.AWS.Budgets.DescribeSubscribersForNotification: instance Network.AWS.Types.AWSRequest Network.AWS.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotification
- Network.AWS.Budgets.Types: AbsoluteValue :: ThresholdType
- Network.AWS.Budgets.Types: Actual :: NotificationType
- Network.AWS.Budgets.Types: Annually :: TimeUnit
- Network.AWS.Budgets.Types: Cost :: BudgetType
- Network.AWS.Budgets.Types: Daily :: TimeUnit
- Network.AWS.Budgets.Types: Email :: SubscriptionType
- Network.AWS.Budgets.Types: EqualTo :: ComparisonOperator
- Network.AWS.Budgets.Types: Forecasted :: NotificationType
- Network.AWS.Budgets.Types: GreaterThan :: ComparisonOperator
- Network.AWS.Budgets.Types: LessThan :: ComparisonOperator
- Network.AWS.Budgets.Types: Monthly :: TimeUnit
- Network.AWS.Budgets.Types: Percentage :: ThresholdType
- Network.AWS.Budgets.Types: Quarterly :: TimeUnit
- Network.AWS.Budgets.Types: RiCoverage :: BudgetType
- Network.AWS.Budgets.Types: RiUtilization :: BudgetType
- Network.AWS.Budgets.Types: SNS :: SubscriptionType
- Network.AWS.Budgets.Types: Usage :: BudgetType
- Network.AWS.Budgets.Types: _CreationLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.Budgets.Types: _DuplicateRecordException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.Budgets.Types: _ExpiredNextTokenException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.Budgets.Types: _InternalErrorException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.Budgets.Types: _InvalidNextTokenException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.Budgets.Types: _InvalidParameterException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.Budgets.Types: _NotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.Budgets.Types: bBudgetLimit :: Lens' Budget (Maybe Spend)
- Network.AWS.Budgets.Types: bBudgetName :: Lens' Budget Text
- Network.AWS.Budgets.Types: bBudgetType :: Lens' Budget BudgetType
- Network.AWS.Budgets.Types: bCalculatedSpend :: Lens' Budget (Maybe CalculatedSpend)
- Network.AWS.Budgets.Types: bCostFilters :: Lens' Budget (HashMap Text [Text])
- Network.AWS.Budgets.Types: bCostTypes :: Lens' Budget (Maybe CostTypes)
- Network.AWS.Budgets.Types: bTimePeriod :: Lens' Budget (Maybe TimePeriod)
- Network.AWS.Budgets.Types: bTimeUnit :: Lens' Budget TimeUnit
- Network.AWS.Budgets.Types: budget :: Text -> TimeUnit -> BudgetType -> Budget
- Network.AWS.Budgets.Types: budgets :: Service
- Network.AWS.Budgets.Types: calculatedSpend :: Spend -> CalculatedSpend
- Network.AWS.Budgets.Types: costTypes :: CostTypes
- Network.AWS.Budgets.Types: csActualSpend :: Lens' CalculatedSpend Spend
- Network.AWS.Budgets.Types: csForecastedSpend :: Lens' CalculatedSpend (Maybe Spend)
- Network.AWS.Budgets.Types: ctIncludeCredit :: Lens' CostTypes (Maybe Bool)
- Network.AWS.Budgets.Types: ctIncludeDiscount :: Lens' CostTypes (Maybe Bool)
- Network.AWS.Budgets.Types: ctIncludeOtherSubscription :: Lens' CostTypes (Maybe Bool)
- Network.AWS.Budgets.Types: ctIncludeRecurring :: Lens' CostTypes (Maybe Bool)
- Network.AWS.Budgets.Types: ctIncludeRefund :: Lens' CostTypes (Maybe Bool)
- Network.AWS.Budgets.Types: ctIncludeSubscription :: Lens' CostTypes (Maybe Bool)
- Network.AWS.Budgets.Types: ctIncludeSupport :: Lens' CostTypes (Maybe Bool)
- Network.AWS.Budgets.Types: ctIncludeTax :: Lens' CostTypes (Maybe Bool)
- Network.AWS.Budgets.Types: ctIncludeUpfront :: Lens' CostTypes (Maybe Bool)
- Network.AWS.Budgets.Types: ctUseAmortized :: Lens' CostTypes (Maybe Bool)
- Network.AWS.Budgets.Types: ctUseBlended :: Lens' CostTypes (Maybe Bool)
- Network.AWS.Budgets.Types: data Budget
- Network.AWS.Budgets.Types: data BudgetType
- Network.AWS.Budgets.Types: data CalculatedSpend
- Network.AWS.Budgets.Types: data ComparisonOperator
- Network.AWS.Budgets.Types: data CostTypes
- Network.AWS.Budgets.Types: data Notification
- Network.AWS.Budgets.Types: data NotificationType
- Network.AWS.Budgets.Types: data NotificationWithSubscribers
- Network.AWS.Budgets.Types: data Spend
- Network.AWS.Budgets.Types: data Subscriber
- Network.AWS.Budgets.Types: data SubscriptionType
- Network.AWS.Budgets.Types: data ThresholdType
- Network.AWS.Budgets.Types: data TimePeriod
- Network.AWS.Budgets.Types: data TimeUnit
- Network.AWS.Budgets.Types: nComparisonOperator :: Lens' Notification ComparisonOperator
- Network.AWS.Budgets.Types: nNotificationType :: Lens' Notification NotificationType
- Network.AWS.Budgets.Types: nThreshold :: Lens' Notification Double
- Network.AWS.Budgets.Types: nThresholdType :: Lens' Notification (Maybe ThresholdType)
- Network.AWS.Budgets.Types: notification :: NotificationType -> ComparisonOperator -> Double -> Notification
- Network.AWS.Budgets.Types: notificationWithSubscribers :: Notification -> NonEmpty Subscriber -> NotificationWithSubscribers
- Network.AWS.Budgets.Types: nwsNotification :: Lens' NotificationWithSubscribers Notification
- Network.AWS.Budgets.Types: nwsSubscribers :: Lens' NotificationWithSubscribers (NonEmpty Subscriber)
- Network.AWS.Budgets.Types: sAddress :: Lens' Subscriber Text
- Network.AWS.Budgets.Types: sAmount :: Lens' Spend Text
- Network.AWS.Budgets.Types: sSubscriptionType :: Lens' Subscriber SubscriptionType
- Network.AWS.Budgets.Types: sUnit :: Lens' Spend Text
- Network.AWS.Budgets.Types: spend :: Text -> Text -> Spend
- Network.AWS.Budgets.Types: subscriber :: SubscriptionType -> Text -> Subscriber
- Network.AWS.Budgets.Types: timePeriod :: TimePeriod
- Network.AWS.Budgets.Types: tpEnd :: Lens' TimePeriod (Maybe UTCTime)
- Network.AWS.Budgets.Types: tpStart :: Lens' TimePeriod (Maybe UTCTime)
- Network.AWS.Budgets.UpdateBudget: data UpdateBudget
- Network.AWS.Budgets.UpdateBudget: data UpdateBudgetResponse
- Network.AWS.Budgets.UpdateBudget: instance Control.DeepSeq.NFData Network.AWS.Budgets.UpdateBudget.UpdateBudget
- Network.AWS.Budgets.UpdateBudget: instance Control.DeepSeq.NFData Network.AWS.Budgets.UpdateBudget.UpdateBudgetResponse
- Network.AWS.Budgets.UpdateBudget: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Budgets.UpdateBudget.UpdateBudget
- Network.AWS.Budgets.UpdateBudget: instance Data.Data.Data Network.AWS.Budgets.UpdateBudget.UpdateBudget
- Network.AWS.Budgets.UpdateBudget: instance Data.Data.Data Network.AWS.Budgets.UpdateBudget.UpdateBudgetResponse
- Network.AWS.Budgets.UpdateBudget: instance Data.Hashable.Class.Hashable Network.AWS.Budgets.UpdateBudget.UpdateBudget
- Network.AWS.Budgets.UpdateBudget: instance GHC.Classes.Eq Network.AWS.Budgets.UpdateBudget.UpdateBudget
- Network.AWS.Budgets.UpdateBudget: instance GHC.Classes.Eq Network.AWS.Budgets.UpdateBudget.UpdateBudgetResponse
- Network.AWS.Budgets.UpdateBudget: instance GHC.Generics.Generic Network.AWS.Budgets.UpdateBudget.UpdateBudget
- Network.AWS.Budgets.UpdateBudget: instance GHC.Generics.Generic Network.AWS.Budgets.UpdateBudget.UpdateBudgetResponse
- Network.AWS.Budgets.UpdateBudget: instance GHC.Read.Read Network.AWS.Budgets.UpdateBudget.UpdateBudget
- Network.AWS.Budgets.UpdateBudget: instance GHC.Read.Read Network.AWS.Budgets.UpdateBudget.UpdateBudgetResponse
- Network.AWS.Budgets.UpdateBudget: instance GHC.Show.Show Network.AWS.Budgets.UpdateBudget.UpdateBudget
- Network.AWS.Budgets.UpdateBudget: instance GHC.Show.Show Network.AWS.Budgets.UpdateBudget.UpdateBudgetResponse
- Network.AWS.Budgets.UpdateBudget: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Budgets.UpdateBudget.UpdateBudget
- Network.AWS.Budgets.UpdateBudget: instance Network.AWS.Data.Path.ToPath Network.AWS.Budgets.UpdateBudget.UpdateBudget
- Network.AWS.Budgets.UpdateBudget: instance Network.AWS.Data.Query.ToQuery Network.AWS.Budgets.UpdateBudget.UpdateBudget
- Network.AWS.Budgets.UpdateBudget: instance Network.AWS.Types.AWSRequest Network.AWS.Budgets.UpdateBudget.UpdateBudget
- Network.AWS.Budgets.UpdateBudget: ubAccountId :: Lens' UpdateBudget Text
- Network.AWS.Budgets.UpdateBudget: ubNewBudget :: Lens' UpdateBudget Budget
- Network.AWS.Budgets.UpdateBudget: ubrsResponseStatus :: Lens' UpdateBudgetResponse Int
- Network.AWS.Budgets.UpdateBudget: updateBudget :: Text -> Budget -> UpdateBudget
- Network.AWS.Budgets.UpdateBudget: updateBudgetResponse :: Int -> UpdateBudgetResponse
- Network.AWS.Budgets.UpdateNotification: data UpdateNotification
- Network.AWS.Budgets.UpdateNotification: data UpdateNotificationResponse
- Network.AWS.Budgets.UpdateNotification: instance Control.DeepSeq.NFData Network.AWS.Budgets.UpdateNotification.UpdateNotification
- Network.AWS.Budgets.UpdateNotification: instance Control.DeepSeq.NFData Network.AWS.Budgets.UpdateNotification.UpdateNotificationResponse
- Network.AWS.Budgets.UpdateNotification: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Budgets.UpdateNotification.UpdateNotification
- Network.AWS.Budgets.UpdateNotification: instance Data.Data.Data Network.AWS.Budgets.UpdateNotification.UpdateNotification
- Network.AWS.Budgets.UpdateNotification: instance Data.Data.Data Network.AWS.Budgets.UpdateNotification.UpdateNotificationResponse
- Network.AWS.Budgets.UpdateNotification: instance Data.Hashable.Class.Hashable Network.AWS.Budgets.UpdateNotification.UpdateNotification
- Network.AWS.Budgets.UpdateNotification: instance GHC.Classes.Eq Network.AWS.Budgets.UpdateNotification.UpdateNotification
- Network.AWS.Budgets.UpdateNotification: instance GHC.Classes.Eq Network.AWS.Budgets.UpdateNotification.UpdateNotificationResponse
- Network.AWS.Budgets.UpdateNotification: instance GHC.Generics.Generic Network.AWS.Budgets.UpdateNotification.UpdateNotification
- Network.AWS.Budgets.UpdateNotification: instance GHC.Generics.Generic Network.AWS.Budgets.UpdateNotification.UpdateNotificationResponse
- Network.AWS.Budgets.UpdateNotification: instance GHC.Read.Read Network.AWS.Budgets.UpdateNotification.UpdateNotification
- Network.AWS.Budgets.UpdateNotification: instance GHC.Read.Read Network.AWS.Budgets.UpdateNotification.UpdateNotificationResponse
- Network.AWS.Budgets.UpdateNotification: instance GHC.Show.Show Network.AWS.Budgets.UpdateNotification.UpdateNotification
- Network.AWS.Budgets.UpdateNotification: instance GHC.Show.Show Network.AWS.Budgets.UpdateNotification.UpdateNotificationResponse
- Network.AWS.Budgets.UpdateNotification: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Budgets.UpdateNotification.UpdateNotification
- Network.AWS.Budgets.UpdateNotification: instance Network.AWS.Data.Path.ToPath Network.AWS.Budgets.UpdateNotification.UpdateNotification
- Network.AWS.Budgets.UpdateNotification: instance Network.AWS.Data.Query.ToQuery Network.AWS.Budgets.UpdateNotification.UpdateNotification
- Network.AWS.Budgets.UpdateNotification: instance Network.AWS.Types.AWSRequest Network.AWS.Budgets.UpdateNotification.UpdateNotification
- Network.AWS.Budgets.UpdateNotification: unAccountId :: Lens' UpdateNotification Text
- Network.AWS.Budgets.UpdateNotification: unBudgetName :: Lens' UpdateNotification Text
- Network.AWS.Budgets.UpdateNotification: unNewNotification :: Lens' UpdateNotification Notification
- Network.AWS.Budgets.UpdateNotification: unOldNotification :: Lens' UpdateNotification Notification
- Network.AWS.Budgets.UpdateNotification: unrsResponseStatus :: Lens' UpdateNotificationResponse Int
- Network.AWS.Budgets.UpdateNotification: updateNotification :: Text -> Text -> Notification -> Notification -> UpdateNotification
- Network.AWS.Budgets.UpdateNotification: updateNotificationResponse :: Int -> UpdateNotificationResponse
- Network.AWS.Budgets.UpdateSubscriber: data UpdateSubscriber
- Network.AWS.Budgets.UpdateSubscriber: data UpdateSubscriberResponse
- Network.AWS.Budgets.UpdateSubscriber: instance Control.DeepSeq.NFData Network.AWS.Budgets.UpdateSubscriber.UpdateSubscriber
- Network.AWS.Budgets.UpdateSubscriber: instance Control.DeepSeq.NFData Network.AWS.Budgets.UpdateSubscriber.UpdateSubscriberResponse
- Network.AWS.Budgets.UpdateSubscriber: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Budgets.UpdateSubscriber.UpdateSubscriber
- Network.AWS.Budgets.UpdateSubscriber: instance Data.Data.Data Network.AWS.Budgets.UpdateSubscriber.UpdateSubscriber
- Network.AWS.Budgets.UpdateSubscriber: instance Data.Data.Data Network.AWS.Budgets.UpdateSubscriber.UpdateSubscriberResponse
- Network.AWS.Budgets.UpdateSubscriber: instance Data.Hashable.Class.Hashable Network.AWS.Budgets.UpdateSubscriber.UpdateSubscriber
- Network.AWS.Budgets.UpdateSubscriber: instance GHC.Classes.Eq Network.AWS.Budgets.UpdateSubscriber.UpdateSubscriber
- Network.AWS.Budgets.UpdateSubscriber: instance GHC.Classes.Eq Network.AWS.Budgets.UpdateSubscriber.UpdateSubscriberResponse
- Network.AWS.Budgets.UpdateSubscriber: instance GHC.Generics.Generic Network.AWS.Budgets.UpdateSubscriber.UpdateSubscriber
- Network.AWS.Budgets.UpdateSubscriber: instance GHC.Generics.Generic Network.AWS.Budgets.UpdateSubscriber.UpdateSubscriberResponse
- Network.AWS.Budgets.UpdateSubscriber: instance GHC.Read.Read Network.AWS.Budgets.UpdateSubscriber.UpdateSubscriber
- Network.AWS.Budgets.UpdateSubscriber: instance GHC.Read.Read Network.AWS.Budgets.UpdateSubscriber.UpdateSubscriberResponse
- Network.AWS.Budgets.UpdateSubscriber: instance GHC.Show.Show Network.AWS.Budgets.UpdateSubscriber.UpdateSubscriber
- Network.AWS.Budgets.UpdateSubscriber: instance GHC.Show.Show Network.AWS.Budgets.UpdateSubscriber.UpdateSubscriberResponse
- Network.AWS.Budgets.UpdateSubscriber: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Budgets.UpdateSubscriber.UpdateSubscriber
- Network.AWS.Budgets.UpdateSubscriber: instance Network.AWS.Data.Path.ToPath Network.AWS.Budgets.UpdateSubscriber.UpdateSubscriber
- Network.AWS.Budgets.UpdateSubscriber: instance Network.AWS.Data.Query.ToQuery Network.AWS.Budgets.UpdateSubscriber.UpdateSubscriber
- Network.AWS.Budgets.UpdateSubscriber: instance Network.AWS.Types.AWSRequest Network.AWS.Budgets.UpdateSubscriber.UpdateSubscriber
- Network.AWS.Budgets.UpdateSubscriber: updateSubscriber :: Text -> Text -> Notification -> Subscriber -> Subscriber -> UpdateSubscriber
- Network.AWS.Budgets.UpdateSubscriber: updateSubscriberResponse :: Int -> UpdateSubscriberResponse
- Network.AWS.Budgets.UpdateSubscriber: usAccountId :: Lens' UpdateSubscriber Text
- Network.AWS.Budgets.UpdateSubscriber: usBudgetName :: Lens' UpdateSubscriber Text
- Network.AWS.Budgets.UpdateSubscriber: usNewSubscriber :: Lens' UpdateSubscriber Subscriber
- Network.AWS.Budgets.UpdateSubscriber: usNotification :: Lens' UpdateSubscriber Notification
- Network.AWS.Budgets.UpdateSubscriber: usOldSubscriber :: Lens' UpdateSubscriber Subscriber
- Network.AWS.Budgets.UpdateSubscriber: usrsResponseStatus :: Lens' UpdateSubscriberResponse Int
+ Amazonka.Budgets: Action' :: Text -> Text -> NotificationType -> ActionType -> ActionThreshold -> Definition -> Text -> ApprovalModel -> ActionStatus -> NonEmpty Subscriber -> Action
+ Amazonka.Budgets: ActionHistory' :: POSIX -> ActionStatus -> EventType -> ActionHistoryDetails -> ActionHistory
+ Amazonka.Budgets: ActionHistoryDetails' :: Text -> Action -> ActionHistoryDetails
+ Amazonka.Budgets: ActionStatus' :: Text -> ActionStatus
+ Amazonka.Budgets: ActionSubType' :: Text -> ActionSubType
+ Amazonka.Budgets: ActionThreshold' :: Double -> ThresholdType -> ActionThreshold
+ Amazonka.Budgets: ActionType' :: Text -> ActionType
+ Amazonka.Budgets: ApprovalModel' :: Text -> ApprovalModel
+ Amazonka.Budgets: AutoAdjustData' :: Maybe HistoricalOptions -> Maybe POSIX -> AutoAdjustType -> AutoAdjustData
+ Amazonka.Budgets: AutoAdjustType' :: Text -> AutoAdjustType
+ Amazonka.Budgets: Budget' :: Maybe AutoAdjustData -> Maybe Spend -> Maybe CalculatedSpend -> Maybe (HashMap Text [Text]) -> Maybe CostTypes -> Maybe POSIX -> Maybe (HashMap Text Spend) -> Maybe TimePeriod -> Text -> TimeUnit -> BudgetType -> Budget
+ Amazonka.Budgets: BudgetNotificationsForAccount' :: Maybe Text -> Maybe [Notification] -> BudgetNotificationsForAccount
+ Amazonka.Budgets: BudgetPerformanceHistory' :: Maybe Text -> Maybe BudgetType -> Maybe [BudgetedAndActualAmounts] -> Maybe (HashMap Text [Text]) -> Maybe CostTypes -> Maybe TimeUnit -> BudgetPerformanceHistory
+ Amazonka.Budgets: BudgetType' :: Text -> BudgetType
+ Amazonka.Budgets: BudgetedAndActualAmounts' :: Maybe Spend -> Maybe Spend -> Maybe TimePeriod -> BudgetedAndActualAmounts
+ Amazonka.Budgets: CalculatedSpend' :: Maybe Spend -> Spend -> CalculatedSpend
+ Amazonka.Budgets: ComparisonOperator' :: Text -> ComparisonOperator
+ Amazonka.Budgets: CostTypes' :: Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> CostTypes
+ Amazonka.Budgets: CreateBudget' :: Maybe [NotificationWithSubscribers] -> Text -> Budget -> CreateBudget
+ Amazonka.Budgets: CreateBudgetAction' :: Text -> Text -> NotificationType -> ActionType -> ActionThreshold -> Definition -> Text -> ApprovalModel -> NonEmpty Subscriber -> CreateBudgetAction
+ Amazonka.Budgets: CreateBudgetActionResponse' :: Int -> Text -> Text -> Text -> CreateBudgetActionResponse
+ Amazonka.Budgets: CreateBudgetResponse' :: Int -> CreateBudgetResponse
+ Amazonka.Budgets: CreateNotification' :: Text -> Text -> Notification -> NonEmpty Subscriber -> CreateNotification
+ Amazonka.Budgets: CreateNotificationResponse' :: Int -> CreateNotificationResponse
+ Amazonka.Budgets: CreateSubscriber' :: Text -> Text -> Notification -> Subscriber -> CreateSubscriber
+ Amazonka.Budgets: CreateSubscriberResponse' :: Int -> CreateSubscriberResponse
+ Amazonka.Budgets: Definition' :: Maybe IamActionDefinition -> Maybe ScpActionDefinition -> Maybe SsmActionDefinition -> Definition
+ Amazonka.Budgets: DeleteBudget' :: Text -> Text -> DeleteBudget
+ Amazonka.Budgets: DeleteBudgetAction' :: Text -> Text -> Text -> DeleteBudgetAction
+ Amazonka.Budgets: DeleteBudgetActionResponse' :: Int -> Text -> Text -> Action -> DeleteBudgetActionResponse
+ Amazonka.Budgets: DeleteBudgetResponse' :: Int -> DeleteBudgetResponse
+ Amazonka.Budgets: DeleteNotification' :: Text -> Text -> Notification -> DeleteNotification
+ Amazonka.Budgets: DeleteNotificationResponse' :: Int -> DeleteNotificationResponse
+ Amazonka.Budgets: DeleteSubscriber' :: Text -> Text -> Notification -> Subscriber -> DeleteSubscriber
+ Amazonka.Budgets: DeleteSubscriberResponse' :: Int -> DeleteSubscriberResponse
+ Amazonka.Budgets: DescribeBudget' :: Text -> Text -> DescribeBudget
+ Amazonka.Budgets: DescribeBudgetAction' :: Text -> Text -> Text -> DescribeBudgetAction
+ Amazonka.Budgets: DescribeBudgetActionHistories' :: Maybe Natural -> Maybe Text -> Maybe TimePeriod -> Text -> Text -> Text -> DescribeBudgetActionHistories
+ Amazonka.Budgets: DescribeBudgetActionHistoriesResponse' :: Maybe Text -> Int -> [ActionHistory] -> DescribeBudgetActionHistoriesResponse
+ Amazonka.Budgets: DescribeBudgetActionResponse' :: Int -> Text -> Text -> Action -> DescribeBudgetActionResponse
+ Amazonka.Budgets: DescribeBudgetActionsForAccount' :: Maybe Natural -> Maybe Text -> Text -> DescribeBudgetActionsForAccount
+ Amazonka.Budgets: DescribeBudgetActionsForAccountResponse' :: Maybe Text -> Int -> [Action] -> DescribeBudgetActionsForAccountResponse
+ Amazonka.Budgets: DescribeBudgetActionsForBudget' :: Maybe Natural -> Maybe Text -> Text -> Text -> DescribeBudgetActionsForBudget
+ Amazonka.Budgets: DescribeBudgetActionsForBudgetResponse' :: Maybe Text -> Int -> [Action] -> DescribeBudgetActionsForBudgetResponse
+ Amazonka.Budgets: DescribeBudgetNotificationsForAccount' :: Maybe Natural -> Maybe Text -> Text -> DescribeBudgetNotificationsForAccount
+ Amazonka.Budgets: DescribeBudgetNotificationsForAccountResponse' :: Maybe [BudgetNotificationsForAccount] -> Maybe Text -> Int -> DescribeBudgetNotificationsForAccountResponse
+ Amazonka.Budgets: DescribeBudgetPerformanceHistory' :: Maybe Natural -> Maybe Text -> Maybe TimePeriod -> Text -> Text -> DescribeBudgetPerformanceHistory
+ Amazonka.Budgets: DescribeBudgetPerformanceHistoryResponse' :: Maybe BudgetPerformanceHistory -> Maybe Text -> Int -> DescribeBudgetPerformanceHistoryResponse
+ Amazonka.Budgets: DescribeBudgetResponse' :: Maybe Budget -> Int -> DescribeBudgetResponse
+ Amazonka.Budgets: DescribeBudgets' :: Maybe Natural -> Maybe Text -> Text -> DescribeBudgets
+ Amazonka.Budgets: DescribeBudgetsResponse' :: Maybe [Budget] -> Maybe Text -> Int -> DescribeBudgetsResponse
+ Amazonka.Budgets: DescribeNotificationsForBudget' :: Maybe Natural -> Maybe Text -> Text -> Text -> DescribeNotificationsForBudget
+ Amazonka.Budgets: DescribeNotificationsForBudgetResponse' :: Maybe Text -> Maybe [Notification] -> Int -> DescribeNotificationsForBudgetResponse
+ Amazonka.Budgets: DescribeSubscribersForNotification' :: Maybe Natural -> Maybe Text -> Text -> Text -> Notification -> DescribeSubscribersForNotification
+ Amazonka.Budgets: DescribeSubscribersForNotificationResponse' :: Maybe Text -> Maybe (NonEmpty Subscriber) -> Int -> DescribeSubscribersForNotificationResponse
+ Amazonka.Budgets: EventType' :: Text -> EventType
+ Amazonka.Budgets: ExecuteBudgetAction' :: Text -> Text -> Text -> ExecutionType -> ExecuteBudgetAction
+ Amazonka.Budgets: ExecuteBudgetActionResponse' :: Int -> Text -> Text -> Text -> ExecutionType -> ExecuteBudgetActionResponse
+ Amazonka.Budgets: ExecutionType' :: Text -> ExecutionType
+ Amazonka.Budgets: HistoricalOptions' :: Maybe Natural -> Natural -> HistoricalOptions
+ Amazonka.Budgets: IamActionDefinition' :: Maybe (NonEmpty Text) -> Maybe (NonEmpty Text) -> Maybe (NonEmpty Text) -> Text -> IamActionDefinition
+ Amazonka.Budgets: Notification' :: Maybe NotificationState -> Maybe ThresholdType -> NotificationType -> ComparisonOperator -> Double -> Notification
+ Amazonka.Budgets: NotificationState' :: Text -> NotificationState
+ Amazonka.Budgets: NotificationType' :: Text -> NotificationType
+ Amazonka.Budgets: NotificationWithSubscribers' :: Notification -> NonEmpty Subscriber -> NotificationWithSubscribers
+ Amazonka.Budgets: ScpActionDefinition' :: Text -> NonEmpty Text -> ScpActionDefinition
+ Amazonka.Budgets: Spend' :: Text -> Text -> Spend
+ Amazonka.Budgets: SsmActionDefinition' :: ActionSubType -> Text -> NonEmpty Text -> SsmActionDefinition
+ Amazonka.Budgets: Subscriber' :: SubscriptionType -> Sensitive Text -> Subscriber
+ Amazonka.Budgets: SubscriptionType' :: Text -> SubscriptionType
+ Amazonka.Budgets: ThresholdType' :: Text -> ThresholdType
+ Amazonka.Budgets: TimePeriod' :: Maybe POSIX -> Maybe POSIX -> TimePeriod
+ Amazonka.Budgets: TimeUnit' :: Text -> TimeUnit
+ Amazonka.Budgets: UpdateBudget' :: Text -> Budget -> UpdateBudget
+ Amazonka.Budgets: UpdateBudgetAction' :: Maybe ActionThreshold -> Maybe ApprovalModel -> Maybe Definition -> Maybe Text -> Maybe NotificationType -> Maybe (NonEmpty Subscriber) -> Text -> Text -> Text -> UpdateBudgetAction
+ Amazonka.Budgets: UpdateBudgetActionResponse' :: Int -> Text -> Text -> Action -> Action -> UpdateBudgetActionResponse
+ Amazonka.Budgets: UpdateBudgetResponse' :: Int -> UpdateBudgetResponse
+ Amazonka.Budgets: UpdateNotification' :: Text -> Text -> Notification -> Notification -> UpdateNotification
+ Amazonka.Budgets: UpdateNotificationResponse' :: Int -> UpdateNotificationResponse
+ Amazonka.Budgets: UpdateSubscriber' :: Text -> Text -> Notification -> Subscriber -> Subscriber -> UpdateSubscriber
+ Amazonka.Budgets: UpdateSubscriberResponse' :: Int -> UpdateSubscriberResponse
+ Amazonka.Budgets: [fromActionStatus] :: ActionStatus -> Text
+ Amazonka.Budgets: [fromActionSubType] :: ActionSubType -> Text
+ Amazonka.Budgets: [fromActionType] :: ActionType -> Text
+ Amazonka.Budgets: [fromApprovalModel] :: ApprovalModel -> Text
+ Amazonka.Budgets: [fromAutoAdjustType] :: AutoAdjustType -> Text
+ Amazonka.Budgets: [fromBudgetType] :: BudgetType -> Text
+ Amazonka.Budgets: [fromComparisonOperator] :: ComparisonOperator -> Text
+ Amazonka.Budgets: [fromEventType] :: EventType -> Text
+ Amazonka.Budgets: [fromExecutionType] :: ExecutionType -> Text
+ Amazonka.Budgets: [fromNotificationState] :: NotificationState -> Text
+ Amazonka.Budgets: [fromNotificationType] :: NotificationType -> Text
+ Amazonka.Budgets: [fromSubscriptionType] :: SubscriptionType -> Text
+ Amazonka.Budgets: [fromThresholdType] :: ThresholdType -> Text
+ Amazonka.Budgets: [fromTimeUnit] :: TimeUnit -> Text
+ Amazonka.Budgets: _AccessDeniedException :: AsError a => Fold a ServiceError
+ Amazonka.Budgets: _CreationLimitExceededException :: AsError a => Fold a ServiceError
+ Amazonka.Budgets: _DuplicateRecordException :: AsError a => Fold a ServiceError
+ Amazonka.Budgets: _ExpiredNextTokenException :: AsError a => Fold a ServiceError
+ Amazonka.Budgets: _InternalErrorException :: AsError a => Fold a ServiceError
+ Amazonka.Budgets: _InvalidNextTokenException :: AsError a => Fold a ServiceError
+ Amazonka.Budgets: _InvalidParameterException :: AsError a => Fold a ServiceError
+ Amazonka.Budgets: _NotFoundException :: AsError a => Fold a ServiceError
+ Amazonka.Budgets: _ResourceLockedException :: AsError a => Fold a ServiceError
+ Amazonka.Budgets: _ThrottlingException :: AsError a => Fold a ServiceError
+ Amazonka.Budgets: data Action
+ Amazonka.Budgets: data ActionHistory
+ Amazonka.Budgets: data ActionHistoryDetails
+ Amazonka.Budgets: data ActionThreshold
+ Amazonka.Budgets: data AutoAdjustData
+ Amazonka.Budgets: data Budget
+ Amazonka.Budgets: data BudgetNotificationsForAccount
+ Amazonka.Budgets: data BudgetPerformanceHistory
+ Amazonka.Budgets: data BudgetedAndActualAmounts
+ Amazonka.Budgets: data CalculatedSpend
+ Amazonka.Budgets: data CostTypes
+ Amazonka.Budgets: data CreateBudget
+ Amazonka.Budgets: data CreateBudgetAction
+ Amazonka.Budgets: data CreateBudgetActionResponse
+ Amazonka.Budgets: data CreateBudgetResponse
+ Amazonka.Budgets: data CreateNotification
+ Amazonka.Budgets: data CreateNotificationResponse
+ Amazonka.Budgets: data CreateSubscriber
+ Amazonka.Budgets: data CreateSubscriberResponse
+ Amazonka.Budgets: data Definition
+ Amazonka.Budgets: data DeleteBudget
+ Amazonka.Budgets: data DeleteBudgetAction
+ Amazonka.Budgets: data DeleteBudgetActionResponse
+ Amazonka.Budgets: data DeleteBudgetResponse
+ Amazonka.Budgets: data DeleteNotification
+ Amazonka.Budgets: data DeleteNotificationResponse
+ Amazonka.Budgets: data DeleteSubscriber
+ Amazonka.Budgets: data DeleteSubscriberResponse
+ Amazonka.Budgets: data DescribeBudget
+ Amazonka.Budgets: data DescribeBudgetAction
+ Amazonka.Budgets: data DescribeBudgetActionHistories
+ Amazonka.Budgets: data DescribeBudgetActionHistoriesResponse
+ Amazonka.Budgets: data DescribeBudgetActionResponse
+ Amazonka.Budgets: data DescribeBudgetActionsForAccount
+ Amazonka.Budgets: data DescribeBudgetActionsForAccountResponse
+ Amazonka.Budgets: data DescribeBudgetActionsForBudget
+ Amazonka.Budgets: data DescribeBudgetActionsForBudgetResponse
+ Amazonka.Budgets: data DescribeBudgetNotificationsForAccount
+ Amazonka.Budgets: data DescribeBudgetNotificationsForAccountResponse
+ Amazonka.Budgets: data DescribeBudgetPerformanceHistory
+ Amazonka.Budgets: data DescribeBudgetPerformanceHistoryResponse
+ Amazonka.Budgets: data DescribeBudgetResponse
+ Amazonka.Budgets: data DescribeBudgets
+ Amazonka.Budgets: data DescribeBudgetsResponse
+ Amazonka.Budgets: data DescribeNotificationsForBudget
+ Amazonka.Budgets: data DescribeNotificationsForBudgetResponse
+ Amazonka.Budgets: data DescribeSubscribersForNotification
+ Amazonka.Budgets: data DescribeSubscribersForNotificationResponse
+ Amazonka.Budgets: data ExecuteBudgetAction
+ Amazonka.Budgets: data ExecuteBudgetActionResponse
+ Amazonka.Budgets: data HistoricalOptions
+ Amazonka.Budgets: data IamActionDefinition
+ Amazonka.Budgets: data Notification
+ Amazonka.Budgets: data NotificationWithSubscribers
+ Amazonka.Budgets: data ScpActionDefinition
+ Amazonka.Budgets: data Spend
+ Amazonka.Budgets: data SsmActionDefinition
+ Amazonka.Budgets: data Subscriber
+ Amazonka.Budgets: data TimePeriod
+ Amazonka.Budgets: data UpdateBudget
+ Amazonka.Budgets: data UpdateBudgetAction
+ Amazonka.Budgets: data UpdateBudgetActionResponse
+ Amazonka.Budgets: data UpdateBudgetResponse
+ Amazonka.Budgets: data UpdateNotification
+ Amazonka.Budgets: data UpdateNotificationResponse
+ Amazonka.Budgets: data UpdateSubscriber
+ Amazonka.Budgets: data UpdateSubscriberResponse
+ Amazonka.Budgets: defaultService :: Service
+ Amazonka.Budgets: newAction :: Text -> Text -> NotificationType -> ActionType -> ActionThreshold -> Definition -> Text -> ApprovalModel -> ActionStatus -> NonEmpty Subscriber -> Action
+ Amazonka.Budgets: newActionHistory :: UTCTime -> ActionStatus -> EventType -> ActionHistoryDetails -> ActionHistory
+ Amazonka.Budgets: newActionHistoryDetails :: Text -> Action -> ActionHistoryDetails
+ Amazonka.Budgets: newActionThreshold :: Double -> ThresholdType -> ActionThreshold
+ Amazonka.Budgets: newAutoAdjustData :: AutoAdjustType -> AutoAdjustData
+ Amazonka.Budgets: newBudget :: Text -> TimeUnit -> BudgetType -> Budget
+ Amazonka.Budgets: newBudgetNotificationsForAccount :: BudgetNotificationsForAccount
+ Amazonka.Budgets: newBudgetPerformanceHistory :: BudgetPerformanceHistory
+ Amazonka.Budgets: newBudgetedAndActualAmounts :: BudgetedAndActualAmounts
+ Amazonka.Budgets: newCalculatedSpend :: Spend -> CalculatedSpend
+ Amazonka.Budgets: newCostTypes :: CostTypes
+ Amazonka.Budgets: newCreateBudget :: Text -> Budget -> CreateBudget
+ Amazonka.Budgets: newCreateBudgetAction :: Text -> Text -> NotificationType -> ActionType -> ActionThreshold -> Definition -> Text -> ApprovalModel -> NonEmpty Subscriber -> CreateBudgetAction
+ Amazonka.Budgets: newCreateBudgetActionResponse :: Int -> Text -> Text -> Text -> CreateBudgetActionResponse
+ Amazonka.Budgets: newCreateBudgetResponse :: Int -> CreateBudgetResponse
+ Amazonka.Budgets: newCreateNotification :: Text -> Text -> Notification -> NonEmpty Subscriber -> CreateNotification
+ Amazonka.Budgets: newCreateNotificationResponse :: Int -> CreateNotificationResponse
+ Amazonka.Budgets: newCreateSubscriber :: Text -> Text -> Notification -> Subscriber -> CreateSubscriber
+ Amazonka.Budgets: newCreateSubscriberResponse :: Int -> CreateSubscriberResponse
+ Amazonka.Budgets: newDefinition :: Definition
+ Amazonka.Budgets: newDeleteBudget :: Text -> Text -> DeleteBudget
+ Amazonka.Budgets: newDeleteBudgetAction :: Text -> Text -> Text -> DeleteBudgetAction
+ Amazonka.Budgets: newDeleteBudgetActionResponse :: Int -> Text -> Text -> Action -> DeleteBudgetActionResponse
+ Amazonka.Budgets: newDeleteBudgetResponse :: Int -> DeleteBudgetResponse
+ Amazonka.Budgets: newDeleteNotification :: Text -> Text -> Notification -> DeleteNotification
+ Amazonka.Budgets: newDeleteNotificationResponse :: Int -> DeleteNotificationResponse
+ Amazonka.Budgets: newDeleteSubscriber :: Text -> Text -> Notification -> Subscriber -> DeleteSubscriber
+ Amazonka.Budgets: newDeleteSubscriberResponse :: Int -> DeleteSubscriberResponse
+ Amazonka.Budgets: newDescribeBudget :: Text -> Text -> DescribeBudget
+ Amazonka.Budgets: newDescribeBudgetAction :: Text -> Text -> Text -> DescribeBudgetAction
+ Amazonka.Budgets: newDescribeBudgetActionHistories :: Text -> Text -> Text -> DescribeBudgetActionHistories
+ Amazonka.Budgets: newDescribeBudgetActionHistoriesResponse :: Int -> DescribeBudgetActionHistoriesResponse
+ Amazonka.Budgets: newDescribeBudgetActionResponse :: Int -> Text -> Text -> Action -> DescribeBudgetActionResponse
+ Amazonka.Budgets: newDescribeBudgetActionsForAccount :: Text -> DescribeBudgetActionsForAccount
+ Amazonka.Budgets: newDescribeBudgetActionsForAccountResponse :: Int -> DescribeBudgetActionsForAccountResponse
+ Amazonka.Budgets: newDescribeBudgetActionsForBudget :: Text -> Text -> DescribeBudgetActionsForBudget
+ Amazonka.Budgets: newDescribeBudgetActionsForBudgetResponse :: Int -> DescribeBudgetActionsForBudgetResponse
+ Amazonka.Budgets: newDescribeBudgetNotificationsForAccount :: Text -> DescribeBudgetNotificationsForAccount
+ Amazonka.Budgets: newDescribeBudgetNotificationsForAccountResponse :: Int -> DescribeBudgetNotificationsForAccountResponse
+ Amazonka.Budgets: newDescribeBudgetPerformanceHistory :: Text -> Text -> DescribeBudgetPerformanceHistory
+ Amazonka.Budgets: newDescribeBudgetPerformanceHistoryResponse :: Int -> DescribeBudgetPerformanceHistoryResponse
+ Amazonka.Budgets: newDescribeBudgetResponse :: Int -> DescribeBudgetResponse
+ Amazonka.Budgets: newDescribeBudgets :: Text -> DescribeBudgets
+ Amazonka.Budgets: newDescribeBudgetsResponse :: Int -> DescribeBudgetsResponse
+ Amazonka.Budgets: newDescribeNotificationsForBudget :: Text -> Text -> DescribeNotificationsForBudget
+ Amazonka.Budgets: newDescribeNotificationsForBudgetResponse :: Int -> DescribeNotificationsForBudgetResponse
+ Amazonka.Budgets: newDescribeSubscribersForNotification :: Text -> Text -> Notification -> DescribeSubscribersForNotification
+ Amazonka.Budgets: newDescribeSubscribersForNotificationResponse :: Int -> DescribeSubscribersForNotificationResponse
+ Amazonka.Budgets: newExecuteBudgetAction :: Text -> Text -> Text -> ExecutionType -> ExecuteBudgetAction
+ Amazonka.Budgets: newExecuteBudgetActionResponse :: Int -> Text -> Text -> Text -> ExecutionType -> ExecuteBudgetActionResponse
+ Amazonka.Budgets: newHistoricalOptions :: Natural -> HistoricalOptions
+ Amazonka.Budgets: newIamActionDefinition :: Text -> IamActionDefinition
+ Amazonka.Budgets: newNotification :: NotificationType -> ComparisonOperator -> Double -> Notification
+ Amazonka.Budgets: newNotificationWithSubscribers :: Notification -> NonEmpty Subscriber -> NotificationWithSubscribers
+ Amazonka.Budgets: newScpActionDefinition :: Text -> NonEmpty Text -> ScpActionDefinition
+ Amazonka.Budgets: newSpend :: Text -> Text -> Spend
+ Amazonka.Budgets: newSsmActionDefinition :: ActionSubType -> Text -> NonEmpty Text -> SsmActionDefinition
+ Amazonka.Budgets: newSubscriber :: SubscriptionType -> Text -> Subscriber
+ Amazonka.Budgets: newTimePeriod :: TimePeriod
+ Amazonka.Budgets: newUpdateBudget :: Text -> Budget -> UpdateBudget
+ Amazonka.Budgets: newUpdateBudgetAction :: Text -> Text -> Text -> UpdateBudgetAction
+ Amazonka.Budgets: newUpdateBudgetActionResponse :: Int -> Text -> Text -> Action -> Action -> UpdateBudgetActionResponse
+ Amazonka.Budgets: newUpdateBudgetResponse :: Int -> UpdateBudgetResponse
+ Amazonka.Budgets: newUpdateNotification :: Text -> Text -> Notification -> Notification -> UpdateNotification
+ Amazonka.Budgets: newUpdateNotificationResponse :: Int -> UpdateNotificationResponse
+ Amazonka.Budgets: newUpdateSubscriber :: Text -> Text -> Notification -> Subscriber -> Subscriber -> UpdateSubscriber
+ Amazonka.Budgets: newUpdateSubscriberResponse :: Int -> UpdateSubscriberResponse
+ Amazonka.Budgets: newtype ActionStatus
+ Amazonka.Budgets: newtype ActionSubType
+ Amazonka.Budgets: newtype ActionType
+ Amazonka.Budgets: newtype ApprovalModel
+ Amazonka.Budgets: newtype AutoAdjustType
+ Amazonka.Budgets: newtype BudgetType
+ Amazonka.Budgets: newtype ComparisonOperator
+ Amazonka.Budgets: newtype EventType
+ Amazonka.Budgets: newtype ExecutionType
+ Amazonka.Budgets: newtype NotificationState
+ Amazonka.Budgets: newtype NotificationType
+ Amazonka.Budgets: newtype SubscriptionType
+ Amazonka.Budgets: newtype ThresholdType
+ Amazonka.Budgets: newtype TimeUnit
+ Amazonka.Budgets: pattern ActionStatus_EXECUTION_FAILURE :: ActionStatus
+ Amazonka.Budgets: pattern ActionStatus_EXECUTION_IN_PROGRESS :: ActionStatus
+ Amazonka.Budgets: pattern ActionStatus_EXECUTION_SUCCESS :: ActionStatus
+ Amazonka.Budgets: pattern ActionStatus_PENDING :: ActionStatus
+ Amazonka.Budgets: pattern ActionStatus_RESET_FAILURE :: ActionStatus
+ Amazonka.Budgets: pattern ActionStatus_RESET_IN_PROGRESS :: ActionStatus
+ Amazonka.Budgets: pattern ActionStatus_REVERSE_FAILURE :: ActionStatus
+ Amazonka.Budgets: pattern ActionStatus_REVERSE_IN_PROGRESS :: ActionStatus
+ Amazonka.Budgets: pattern ActionStatus_REVERSE_SUCCESS :: ActionStatus
+ Amazonka.Budgets: pattern ActionStatus_STANDBY :: ActionStatus
+ Amazonka.Budgets: pattern ActionSubType_STOP_EC2_INSTANCES :: ActionSubType
+ Amazonka.Budgets: pattern ActionSubType_STOP_RDS_INSTANCES :: ActionSubType
+ Amazonka.Budgets: pattern ActionType_APPLY_IAM_POLICY :: ActionType
+ Amazonka.Budgets: pattern ActionType_APPLY_SCP_POLICY :: ActionType
+ Amazonka.Budgets: pattern ActionType_RUN_SSM_DOCUMENTS :: ActionType
+ Amazonka.Budgets: pattern ApprovalModel_AUTOMATIC :: ApprovalModel
+ Amazonka.Budgets: pattern ApprovalModel_MANUAL :: ApprovalModel
+ Amazonka.Budgets: pattern AutoAdjustType_FORECAST :: AutoAdjustType
+ Amazonka.Budgets: pattern AutoAdjustType_HISTORICAL :: AutoAdjustType
+ Amazonka.Budgets: pattern BudgetType_COST :: BudgetType
+ Amazonka.Budgets: pattern BudgetType_RI_COVERAGE :: BudgetType
+ Amazonka.Budgets: pattern BudgetType_RI_UTILIZATION :: BudgetType
+ Amazonka.Budgets: pattern BudgetType_SAVINGS_PLANS_COVERAGE :: BudgetType
+ Amazonka.Budgets: pattern BudgetType_SAVINGS_PLANS_UTILIZATION :: BudgetType
+ Amazonka.Budgets: pattern BudgetType_USAGE :: BudgetType
+ Amazonka.Budgets: pattern ComparisonOperator_EQUAL_TO :: ComparisonOperator
+ Amazonka.Budgets: pattern ComparisonOperator_GREATER_THAN :: ComparisonOperator
+ Amazonka.Budgets: pattern ComparisonOperator_LESS_THAN :: ComparisonOperator
+ Amazonka.Budgets: pattern EventType_CREATE_ACTION :: EventType
+ Amazonka.Budgets: pattern EventType_DELETE_ACTION :: EventType
+ Amazonka.Budgets: pattern EventType_EXECUTE_ACTION :: EventType
+ Amazonka.Budgets: pattern EventType_SYSTEM :: EventType
+ Amazonka.Budgets: pattern EventType_UPDATE_ACTION :: EventType
+ Amazonka.Budgets: pattern ExecutionType_APPROVE_BUDGET_ACTION :: ExecutionType
+ Amazonka.Budgets: pattern ExecutionType_RESET_BUDGET_ACTION :: ExecutionType
+ Amazonka.Budgets: pattern ExecutionType_RETRY_BUDGET_ACTION :: ExecutionType
+ Amazonka.Budgets: pattern ExecutionType_REVERSE_BUDGET_ACTION :: ExecutionType
+ Amazonka.Budgets: pattern NotificationState_ALARM :: NotificationState
+ Amazonka.Budgets: pattern NotificationState_OK :: NotificationState
+ Amazonka.Budgets: pattern NotificationType_ACTUAL :: NotificationType
+ Amazonka.Budgets: pattern NotificationType_FORECASTED :: NotificationType
+ Amazonka.Budgets: pattern SubscriptionType_EMAIL :: SubscriptionType
+ Amazonka.Budgets: pattern SubscriptionType_SNS :: SubscriptionType
+ Amazonka.Budgets: pattern ThresholdType_ABSOLUTE_VALUE :: ThresholdType
+ Amazonka.Budgets: pattern ThresholdType_PERCENTAGE :: ThresholdType
+ Amazonka.Budgets: pattern TimeUnit_ANNUALLY :: TimeUnit
+ Amazonka.Budgets: pattern TimeUnit_DAILY :: TimeUnit
+ Amazonka.Budgets: pattern TimeUnit_MONTHLY :: TimeUnit
+ Amazonka.Budgets: pattern TimeUnit_QUARTERLY :: TimeUnit
+ Amazonka.Budgets.CreateBudget: CreateBudget' :: Maybe [NotificationWithSubscribers] -> Text -> Budget -> CreateBudget
+ Amazonka.Budgets.CreateBudget: CreateBudgetResponse' :: Int -> CreateBudgetResponse
+ Amazonka.Budgets.CreateBudget: [$sel:accountId:CreateBudget'] :: CreateBudget -> Text
+ Amazonka.Budgets.CreateBudget: [$sel:budget:CreateBudget'] :: CreateBudget -> Budget
+ Amazonka.Budgets.CreateBudget: [$sel:httpStatus:CreateBudgetResponse'] :: CreateBudgetResponse -> Int
+ Amazonka.Budgets.CreateBudget: [$sel:notificationsWithSubscribers:CreateBudget'] :: CreateBudget -> Maybe [NotificationWithSubscribers]
+ Amazonka.Budgets.CreateBudget: createBudgetResponse_httpStatus :: Lens' CreateBudgetResponse Int
+ Amazonka.Budgets.CreateBudget: createBudget_accountId :: Lens' CreateBudget Text
+ Amazonka.Budgets.CreateBudget: createBudget_budget :: Lens' CreateBudget Budget
+ Amazonka.Budgets.CreateBudget: createBudget_notificationsWithSubscribers :: Lens' CreateBudget (Maybe [NotificationWithSubscribers])
+ Amazonka.Budgets.CreateBudget: data CreateBudget
+ Amazonka.Budgets.CreateBudget: data CreateBudgetResponse
+ Amazonka.Budgets.CreateBudget: instance Amazonka.Data.Headers.ToHeaders Amazonka.Budgets.CreateBudget.CreateBudget
+ Amazonka.Budgets.CreateBudget: instance Amazonka.Data.Path.ToPath Amazonka.Budgets.CreateBudget.CreateBudget
+ Amazonka.Budgets.CreateBudget: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.CreateBudget.CreateBudget
+ Amazonka.Budgets.CreateBudget: instance Amazonka.Types.AWSRequest Amazonka.Budgets.CreateBudget.CreateBudget
+ Amazonka.Budgets.CreateBudget: instance Control.DeepSeq.NFData Amazonka.Budgets.CreateBudget.CreateBudget
+ Amazonka.Budgets.CreateBudget: instance Control.DeepSeq.NFData Amazonka.Budgets.CreateBudget.CreateBudgetResponse
+ Amazonka.Budgets.CreateBudget: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.CreateBudget.CreateBudget
+ Amazonka.Budgets.CreateBudget: instance Data.Hashable.Class.Hashable Amazonka.Budgets.CreateBudget.CreateBudget
+ Amazonka.Budgets.CreateBudget: instance GHC.Classes.Eq Amazonka.Budgets.CreateBudget.CreateBudget
+ Amazonka.Budgets.CreateBudget: instance GHC.Classes.Eq Amazonka.Budgets.CreateBudget.CreateBudgetResponse
+ Amazonka.Budgets.CreateBudget: instance GHC.Generics.Generic Amazonka.Budgets.CreateBudget.CreateBudget
+ Amazonka.Budgets.CreateBudget: instance GHC.Generics.Generic Amazonka.Budgets.CreateBudget.CreateBudgetResponse
+ Amazonka.Budgets.CreateBudget: instance GHC.Read.Read Amazonka.Budgets.CreateBudget.CreateBudgetResponse
+ Amazonka.Budgets.CreateBudget: instance GHC.Show.Show Amazonka.Budgets.CreateBudget.CreateBudget
+ Amazonka.Budgets.CreateBudget: instance GHC.Show.Show Amazonka.Budgets.CreateBudget.CreateBudgetResponse
+ Amazonka.Budgets.CreateBudget: newCreateBudget :: Text -> Budget -> CreateBudget
+ Amazonka.Budgets.CreateBudget: newCreateBudgetResponse :: Int -> CreateBudgetResponse
+ Amazonka.Budgets.CreateBudgetAction: CreateBudgetAction' :: Text -> Text -> NotificationType -> ActionType -> ActionThreshold -> Definition -> Text -> ApprovalModel -> NonEmpty Subscriber -> CreateBudgetAction
+ Amazonka.Budgets.CreateBudgetAction: CreateBudgetActionResponse' :: Int -> Text -> Text -> Text -> CreateBudgetActionResponse
+ Amazonka.Budgets.CreateBudgetAction: [$sel:accountId:CreateBudgetAction'] :: CreateBudgetAction -> Text
+ Amazonka.Budgets.CreateBudgetAction: [$sel:accountId:CreateBudgetActionResponse'] :: CreateBudgetActionResponse -> Text
+ Amazonka.Budgets.CreateBudgetAction: [$sel:actionId:CreateBudgetActionResponse'] :: CreateBudgetActionResponse -> Text
+ Amazonka.Budgets.CreateBudgetAction: [$sel:actionThreshold:CreateBudgetAction'] :: CreateBudgetAction -> ActionThreshold
+ Amazonka.Budgets.CreateBudgetAction: [$sel:actionType:CreateBudgetAction'] :: CreateBudgetAction -> ActionType
+ Amazonka.Budgets.CreateBudgetAction: [$sel:approvalModel:CreateBudgetAction'] :: CreateBudgetAction -> ApprovalModel
+ Amazonka.Budgets.CreateBudgetAction: [$sel:budgetName:CreateBudgetAction'] :: CreateBudgetAction -> Text
+ Amazonka.Budgets.CreateBudgetAction: [$sel:budgetName:CreateBudgetActionResponse'] :: CreateBudgetActionResponse -> Text
+ Amazonka.Budgets.CreateBudgetAction: [$sel:definition:CreateBudgetAction'] :: CreateBudgetAction -> Definition
+ Amazonka.Budgets.CreateBudgetAction: [$sel:executionRoleArn:CreateBudgetAction'] :: CreateBudgetAction -> Text
+ Amazonka.Budgets.CreateBudgetAction: [$sel:httpStatus:CreateBudgetActionResponse'] :: CreateBudgetActionResponse -> Int
+ Amazonka.Budgets.CreateBudgetAction: [$sel:notificationType:CreateBudgetAction'] :: CreateBudgetAction -> NotificationType
+ Amazonka.Budgets.CreateBudgetAction: [$sel:subscribers:CreateBudgetAction'] :: CreateBudgetAction -> NonEmpty Subscriber
+ Amazonka.Budgets.CreateBudgetAction: createBudgetActionResponse_accountId :: Lens' CreateBudgetActionResponse Text
+ Amazonka.Budgets.CreateBudgetAction: createBudgetActionResponse_actionId :: Lens' CreateBudgetActionResponse Text
+ Amazonka.Budgets.CreateBudgetAction: createBudgetActionResponse_budgetName :: Lens' CreateBudgetActionResponse Text
+ Amazonka.Budgets.CreateBudgetAction: createBudgetActionResponse_httpStatus :: Lens' CreateBudgetActionResponse Int
+ Amazonka.Budgets.CreateBudgetAction: createBudgetAction_accountId :: Lens' CreateBudgetAction Text
+ Amazonka.Budgets.CreateBudgetAction: createBudgetAction_actionThreshold :: Lens' CreateBudgetAction ActionThreshold
+ Amazonka.Budgets.CreateBudgetAction: createBudgetAction_actionType :: Lens' CreateBudgetAction ActionType
+ Amazonka.Budgets.CreateBudgetAction: createBudgetAction_approvalModel :: Lens' CreateBudgetAction ApprovalModel
+ Amazonka.Budgets.CreateBudgetAction: createBudgetAction_budgetName :: Lens' CreateBudgetAction Text
+ Amazonka.Budgets.CreateBudgetAction: createBudgetAction_definition :: Lens' CreateBudgetAction Definition
+ Amazonka.Budgets.CreateBudgetAction: createBudgetAction_executionRoleArn :: Lens' CreateBudgetAction Text
+ Amazonka.Budgets.CreateBudgetAction: createBudgetAction_notificationType :: Lens' CreateBudgetAction NotificationType
+ Amazonka.Budgets.CreateBudgetAction: createBudgetAction_subscribers :: Lens' CreateBudgetAction (NonEmpty Subscriber)
+ Amazonka.Budgets.CreateBudgetAction: data CreateBudgetAction
+ Amazonka.Budgets.CreateBudgetAction: data CreateBudgetActionResponse
+ Amazonka.Budgets.CreateBudgetAction: instance Amazonka.Data.Headers.ToHeaders Amazonka.Budgets.CreateBudgetAction.CreateBudgetAction
+ Amazonka.Budgets.CreateBudgetAction: instance Amazonka.Data.Path.ToPath Amazonka.Budgets.CreateBudgetAction.CreateBudgetAction
+ Amazonka.Budgets.CreateBudgetAction: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.CreateBudgetAction.CreateBudgetAction
+ Amazonka.Budgets.CreateBudgetAction: instance Amazonka.Types.AWSRequest Amazonka.Budgets.CreateBudgetAction.CreateBudgetAction
+ Amazonka.Budgets.CreateBudgetAction: instance Control.DeepSeq.NFData Amazonka.Budgets.CreateBudgetAction.CreateBudgetAction
+ Amazonka.Budgets.CreateBudgetAction: instance Control.DeepSeq.NFData Amazonka.Budgets.CreateBudgetAction.CreateBudgetActionResponse
+ Amazonka.Budgets.CreateBudgetAction: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.CreateBudgetAction.CreateBudgetAction
+ Amazonka.Budgets.CreateBudgetAction: instance Data.Hashable.Class.Hashable Amazonka.Budgets.CreateBudgetAction.CreateBudgetAction
+ Amazonka.Budgets.CreateBudgetAction: instance GHC.Classes.Eq Amazonka.Budgets.CreateBudgetAction.CreateBudgetAction
+ Amazonka.Budgets.CreateBudgetAction: instance GHC.Classes.Eq Amazonka.Budgets.CreateBudgetAction.CreateBudgetActionResponse
+ Amazonka.Budgets.CreateBudgetAction: instance GHC.Generics.Generic Amazonka.Budgets.CreateBudgetAction.CreateBudgetAction
+ Amazonka.Budgets.CreateBudgetAction: instance GHC.Generics.Generic Amazonka.Budgets.CreateBudgetAction.CreateBudgetActionResponse
+ Amazonka.Budgets.CreateBudgetAction: instance GHC.Read.Read Amazonka.Budgets.CreateBudgetAction.CreateBudgetActionResponse
+ Amazonka.Budgets.CreateBudgetAction: instance GHC.Show.Show Amazonka.Budgets.CreateBudgetAction.CreateBudgetAction
+ Amazonka.Budgets.CreateBudgetAction: instance GHC.Show.Show Amazonka.Budgets.CreateBudgetAction.CreateBudgetActionResponse
+ Amazonka.Budgets.CreateBudgetAction: newCreateBudgetAction :: Text -> Text -> NotificationType -> ActionType -> ActionThreshold -> Definition -> Text -> ApprovalModel -> NonEmpty Subscriber -> CreateBudgetAction
+ Amazonka.Budgets.CreateBudgetAction: newCreateBudgetActionResponse :: Int -> Text -> Text -> Text -> CreateBudgetActionResponse
+ Amazonka.Budgets.CreateNotification: CreateNotification' :: Text -> Text -> Notification -> NonEmpty Subscriber -> CreateNotification
+ Amazonka.Budgets.CreateNotification: CreateNotificationResponse' :: Int -> CreateNotificationResponse
+ Amazonka.Budgets.CreateNotification: [$sel:accountId:CreateNotification'] :: CreateNotification -> Text
+ Amazonka.Budgets.CreateNotification: [$sel:budgetName:CreateNotification'] :: CreateNotification -> Text
+ Amazonka.Budgets.CreateNotification: [$sel:httpStatus:CreateNotificationResponse'] :: CreateNotificationResponse -> Int
+ Amazonka.Budgets.CreateNotification: [$sel:notification:CreateNotification'] :: CreateNotification -> Notification
+ Amazonka.Budgets.CreateNotification: [$sel:subscribers:CreateNotification'] :: CreateNotification -> NonEmpty Subscriber
+ Amazonka.Budgets.CreateNotification: createNotificationResponse_httpStatus :: Lens' CreateNotificationResponse Int
+ Amazonka.Budgets.CreateNotification: createNotification_accountId :: Lens' CreateNotification Text
+ Amazonka.Budgets.CreateNotification: createNotification_budgetName :: Lens' CreateNotification Text
+ Amazonka.Budgets.CreateNotification: createNotification_notification :: Lens' CreateNotification Notification
+ Amazonka.Budgets.CreateNotification: createNotification_subscribers :: Lens' CreateNotification (NonEmpty Subscriber)
+ Amazonka.Budgets.CreateNotification: data CreateNotification
+ Amazonka.Budgets.CreateNotification: data CreateNotificationResponse
+ Amazonka.Budgets.CreateNotification: instance Amazonka.Data.Headers.ToHeaders Amazonka.Budgets.CreateNotification.CreateNotification
+ Amazonka.Budgets.CreateNotification: instance Amazonka.Data.Path.ToPath Amazonka.Budgets.CreateNotification.CreateNotification
+ Amazonka.Budgets.CreateNotification: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.CreateNotification.CreateNotification
+ Amazonka.Budgets.CreateNotification: instance Amazonka.Types.AWSRequest Amazonka.Budgets.CreateNotification.CreateNotification
+ Amazonka.Budgets.CreateNotification: instance Control.DeepSeq.NFData Amazonka.Budgets.CreateNotification.CreateNotification
+ Amazonka.Budgets.CreateNotification: instance Control.DeepSeq.NFData Amazonka.Budgets.CreateNotification.CreateNotificationResponse
+ Amazonka.Budgets.CreateNotification: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.CreateNotification.CreateNotification
+ Amazonka.Budgets.CreateNotification: instance Data.Hashable.Class.Hashable Amazonka.Budgets.CreateNotification.CreateNotification
+ Amazonka.Budgets.CreateNotification: instance GHC.Classes.Eq Amazonka.Budgets.CreateNotification.CreateNotification
+ Amazonka.Budgets.CreateNotification: instance GHC.Classes.Eq Amazonka.Budgets.CreateNotification.CreateNotificationResponse
+ Amazonka.Budgets.CreateNotification: instance GHC.Generics.Generic Amazonka.Budgets.CreateNotification.CreateNotification
+ Amazonka.Budgets.CreateNotification: instance GHC.Generics.Generic Amazonka.Budgets.CreateNotification.CreateNotificationResponse
+ Amazonka.Budgets.CreateNotification: instance GHC.Read.Read Amazonka.Budgets.CreateNotification.CreateNotificationResponse
+ Amazonka.Budgets.CreateNotification: instance GHC.Show.Show Amazonka.Budgets.CreateNotification.CreateNotification
+ Amazonka.Budgets.CreateNotification: instance GHC.Show.Show Amazonka.Budgets.CreateNotification.CreateNotificationResponse
+ Amazonka.Budgets.CreateNotification: newCreateNotification :: Text -> Text -> Notification -> NonEmpty Subscriber -> CreateNotification
+ Amazonka.Budgets.CreateNotification: newCreateNotificationResponse :: Int -> CreateNotificationResponse
+ Amazonka.Budgets.CreateSubscriber: CreateSubscriber' :: Text -> Text -> Notification -> Subscriber -> CreateSubscriber
+ Amazonka.Budgets.CreateSubscriber: CreateSubscriberResponse' :: Int -> CreateSubscriberResponse
+ Amazonka.Budgets.CreateSubscriber: [$sel:accountId:CreateSubscriber'] :: CreateSubscriber -> Text
+ Amazonka.Budgets.CreateSubscriber: [$sel:budgetName:CreateSubscriber'] :: CreateSubscriber -> Text
+ Amazonka.Budgets.CreateSubscriber: [$sel:httpStatus:CreateSubscriberResponse'] :: CreateSubscriberResponse -> Int
+ Amazonka.Budgets.CreateSubscriber: [$sel:notification:CreateSubscriber'] :: CreateSubscriber -> Notification
+ Amazonka.Budgets.CreateSubscriber: [$sel:subscriber:CreateSubscriber'] :: CreateSubscriber -> Subscriber
+ Amazonka.Budgets.CreateSubscriber: createSubscriberResponse_httpStatus :: Lens' CreateSubscriberResponse Int
+ Amazonka.Budgets.CreateSubscriber: createSubscriber_accountId :: Lens' CreateSubscriber Text
+ Amazonka.Budgets.CreateSubscriber: createSubscriber_budgetName :: Lens' CreateSubscriber Text
+ Amazonka.Budgets.CreateSubscriber: createSubscriber_notification :: Lens' CreateSubscriber Notification
+ Amazonka.Budgets.CreateSubscriber: createSubscriber_subscriber :: Lens' CreateSubscriber Subscriber
+ Amazonka.Budgets.CreateSubscriber: data CreateSubscriber
+ Amazonka.Budgets.CreateSubscriber: data CreateSubscriberResponse
+ Amazonka.Budgets.CreateSubscriber: instance Amazonka.Data.Headers.ToHeaders Amazonka.Budgets.CreateSubscriber.CreateSubscriber
+ Amazonka.Budgets.CreateSubscriber: instance Amazonka.Data.Path.ToPath Amazonka.Budgets.CreateSubscriber.CreateSubscriber
+ Amazonka.Budgets.CreateSubscriber: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.CreateSubscriber.CreateSubscriber
+ Amazonka.Budgets.CreateSubscriber: instance Amazonka.Types.AWSRequest Amazonka.Budgets.CreateSubscriber.CreateSubscriber
+ Amazonka.Budgets.CreateSubscriber: instance Control.DeepSeq.NFData Amazonka.Budgets.CreateSubscriber.CreateSubscriber
+ Amazonka.Budgets.CreateSubscriber: instance Control.DeepSeq.NFData Amazonka.Budgets.CreateSubscriber.CreateSubscriberResponse
+ Amazonka.Budgets.CreateSubscriber: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.CreateSubscriber.CreateSubscriber
+ Amazonka.Budgets.CreateSubscriber: instance Data.Hashable.Class.Hashable Amazonka.Budgets.CreateSubscriber.CreateSubscriber
+ Amazonka.Budgets.CreateSubscriber: instance GHC.Classes.Eq Amazonka.Budgets.CreateSubscriber.CreateSubscriber
+ Amazonka.Budgets.CreateSubscriber: instance GHC.Classes.Eq Amazonka.Budgets.CreateSubscriber.CreateSubscriberResponse
+ Amazonka.Budgets.CreateSubscriber: instance GHC.Generics.Generic Amazonka.Budgets.CreateSubscriber.CreateSubscriber
+ Amazonka.Budgets.CreateSubscriber: instance GHC.Generics.Generic Amazonka.Budgets.CreateSubscriber.CreateSubscriberResponse
+ Amazonka.Budgets.CreateSubscriber: instance GHC.Read.Read Amazonka.Budgets.CreateSubscriber.CreateSubscriberResponse
+ Amazonka.Budgets.CreateSubscriber: instance GHC.Show.Show Amazonka.Budgets.CreateSubscriber.CreateSubscriber
+ Amazonka.Budgets.CreateSubscriber: instance GHC.Show.Show Amazonka.Budgets.CreateSubscriber.CreateSubscriberResponse
+ Amazonka.Budgets.CreateSubscriber: newCreateSubscriber :: Text -> Text -> Notification -> Subscriber -> CreateSubscriber
+ Amazonka.Budgets.CreateSubscriber: newCreateSubscriberResponse :: Int -> CreateSubscriberResponse
+ Amazonka.Budgets.DeleteBudget: DeleteBudget' :: Text -> Text -> DeleteBudget
+ Amazonka.Budgets.DeleteBudget: DeleteBudgetResponse' :: Int -> DeleteBudgetResponse
+ Amazonka.Budgets.DeleteBudget: [$sel:accountId:DeleteBudget'] :: DeleteBudget -> Text
+ Amazonka.Budgets.DeleteBudget: [$sel:budgetName:DeleteBudget'] :: DeleteBudget -> Text
+ Amazonka.Budgets.DeleteBudget: [$sel:httpStatus:DeleteBudgetResponse'] :: DeleteBudgetResponse -> Int
+ Amazonka.Budgets.DeleteBudget: data DeleteBudget
+ Amazonka.Budgets.DeleteBudget: data DeleteBudgetResponse
+ Amazonka.Budgets.DeleteBudget: deleteBudgetResponse_httpStatus :: Lens' DeleteBudgetResponse Int
+ Amazonka.Budgets.DeleteBudget: deleteBudget_accountId :: Lens' DeleteBudget Text
+ Amazonka.Budgets.DeleteBudget: deleteBudget_budgetName :: Lens' DeleteBudget Text
+ Amazonka.Budgets.DeleteBudget: instance Amazonka.Data.Headers.ToHeaders Amazonka.Budgets.DeleteBudget.DeleteBudget
+ Amazonka.Budgets.DeleteBudget: instance Amazonka.Data.Path.ToPath Amazonka.Budgets.DeleteBudget.DeleteBudget
+ Amazonka.Budgets.DeleteBudget: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.DeleteBudget.DeleteBudget
+ Amazonka.Budgets.DeleteBudget: instance Amazonka.Types.AWSRequest Amazonka.Budgets.DeleteBudget.DeleteBudget
+ Amazonka.Budgets.DeleteBudget: instance Control.DeepSeq.NFData Amazonka.Budgets.DeleteBudget.DeleteBudget
+ Amazonka.Budgets.DeleteBudget: instance Control.DeepSeq.NFData Amazonka.Budgets.DeleteBudget.DeleteBudgetResponse
+ Amazonka.Budgets.DeleteBudget: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.DeleteBudget.DeleteBudget
+ Amazonka.Budgets.DeleteBudget: instance Data.Hashable.Class.Hashable Amazonka.Budgets.DeleteBudget.DeleteBudget
+ Amazonka.Budgets.DeleteBudget: instance GHC.Classes.Eq Amazonka.Budgets.DeleteBudget.DeleteBudget
+ Amazonka.Budgets.DeleteBudget: instance GHC.Classes.Eq Amazonka.Budgets.DeleteBudget.DeleteBudgetResponse
+ Amazonka.Budgets.DeleteBudget: instance GHC.Generics.Generic Amazonka.Budgets.DeleteBudget.DeleteBudget
+ Amazonka.Budgets.DeleteBudget: instance GHC.Generics.Generic Amazonka.Budgets.DeleteBudget.DeleteBudgetResponse
+ Amazonka.Budgets.DeleteBudget: instance GHC.Read.Read Amazonka.Budgets.DeleteBudget.DeleteBudget
+ Amazonka.Budgets.DeleteBudget: instance GHC.Read.Read Amazonka.Budgets.DeleteBudget.DeleteBudgetResponse
+ Amazonka.Budgets.DeleteBudget: instance GHC.Show.Show Amazonka.Budgets.DeleteBudget.DeleteBudget
+ Amazonka.Budgets.DeleteBudget: instance GHC.Show.Show Amazonka.Budgets.DeleteBudget.DeleteBudgetResponse
+ Amazonka.Budgets.DeleteBudget: newDeleteBudget :: Text -> Text -> DeleteBudget
+ Amazonka.Budgets.DeleteBudget: newDeleteBudgetResponse :: Int -> DeleteBudgetResponse
+ Amazonka.Budgets.DeleteBudgetAction: DeleteBudgetAction' :: Text -> Text -> Text -> DeleteBudgetAction
+ Amazonka.Budgets.DeleteBudgetAction: DeleteBudgetActionResponse' :: Int -> Text -> Text -> Action -> DeleteBudgetActionResponse
+ Amazonka.Budgets.DeleteBudgetAction: [$sel:accountId:DeleteBudgetAction'] :: DeleteBudgetAction -> Text
+ Amazonka.Budgets.DeleteBudgetAction: [$sel:accountId:DeleteBudgetActionResponse'] :: DeleteBudgetActionResponse -> Text
+ Amazonka.Budgets.DeleteBudgetAction: [$sel:action:DeleteBudgetActionResponse'] :: DeleteBudgetActionResponse -> Action
+ Amazonka.Budgets.DeleteBudgetAction: [$sel:actionId:DeleteBudgetAction'] :: DeleteBudgetAction -> Text
+ Amazonka.Budgets.DeleteBudgetAction: [$sel:budgetName:DeleteBudgetAction'] :: DeleteBudgetAction -> Text
+ Amazonka.Budgets.DeleteBudgetAction: [$sel:budgetName:DeleteBudgetActionResponse'] :: DeleteBudgetActionResponse -> Text
+ Amazonka.Budgets.DeleteBudgetAction: [$sel:httpStatus:DeleteBudgetActionResponse'] :: DeleteBudgetActionResponse -> Int
+ Amazonka.Budgets.DeleteBudgetAction: data DeleteBudgetAction
+ Amazonka.Budgets.DeleteBudgetAction: data DeleteBudgetActionResponse
+ Amazonka.Budgets.DeleteBudgetAction: deleteBudgetActionResponse_accountId :: Lens' DeleteBudgetActionResponse Text
+ Amazonka.Budgets.DeleteBudgetAction: deleteBudgetActionResponse_action :: Lens' DeleteBudgetActionResponse Action
+ Amazonka.Budgets.DeleteBudgetAction: deleteBudgetActionResponse_budgetName :: Lens' DeleteBudgetActionResponse Text
+ Amazonka.Budgets.DeleteBudgetAction: deleteBudgetActionResponse_httpStatus :: Lens' DeleteBudgetActionResponse Int
+ Amazonka.Budgets.DeleteBudgetAction: deleteBudgetAction_accountId :: Lens' DeleteBudgetAction Text
+ Amazonka.Budgets.DeleteBudgetAction: deleteBudgetAction_actionId :: Lens' DeleteBudgetAction Text
+ Amazonka.Budgets.DeleteBudgetAction: deleteBudgetAction_budgetName :: Lens' DeleteBudgetAction Text
+ Amazonka.Budgets.DeleteBudgetAction: instance Amazonka.Data.Headers.ToHeaders Amazonka.Budgets.DeleteBudgetAction.DeleteBudgetAction
+ Amazonka.Budgets.DeleteBudgetAction: instance Amazonka.Data.Path.ToPath Amazonka.Budgets.DeleteBudgetAction.DeleteBudgetAction
+ Amazonka.Budgets.DeleteBudgetAction: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.DeleteBudgetAction.DeleteBudgetAction
+ Amazonka.Budgets.DeleteBudgetAction: instance Amazonka.Types.AWSRequest Amazonka.Budgets.DeleteBudgetAction.DeleteBudgetAction
+ Amazonka.Budgets.DeleteBudgetAction: instance Control.DeepSeq.NFData Amazonka.Budgets.DeleteBudgetAction.DeleteBudgetAction
+ Amazonka.Budgets.DeleteBudgetAction: instance Control.DeepSeq.NFData Amazonka.Budgets.DeleteBudgetAction.DeleteBudgetActionResponse
+ Amazonka.Budgets.DeleteBudgetAction: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.DeleteBudgetAction.DeleteBudgetAction
+ Amazonka.Budgets.DeleteBudgetAction: instance Data.Hashable.Class.Hashable Amazonka.Budgets.DeleteBudgetAction.DeleteBudgetAction
+ Amazonka.Budgets.DeleteBudgetAction: instance GHC.Classes.Eq Amazonka.Budgets.DeleteBudgetAction.DeleteBudgetAction
+ Amazonka.Budgets.DeleteBudgetAction: instance GHC.Classes.Eq Amazonka.Budgets.DeleteBudgetAction.DeleteBudgetActionResponse
+ Amazonka.Budgets.DeleteBudgetAction: instance GHC.Generics.Generic Amazonka.Budgets.DeleteBudgetAction.DeleteBudgetAction
+ Amazonka.Budgets.DeleteBudgetAction: instance GHC.Generics.Generic Amazonka.Budgets.DeleteBudgetAction.DeleteBudgetActionResponse
+ Amazonka.Budgets.DeleteBudgetAction: instance GHC.Read.Read Amazonka.Budgets.DeleteBudgetAction.DeleteBudgetAction
+ Amazonka.Budgets.DeleteBudgetAction: instance GHC.Show.Show Amazonka.Budgets.DeleteBudgetAction.DeleteBudgetAction
+ Amazonka.Budgets.DeleteBudgetAction: instance GHC.Show.Show Amazonka.Budgets.DeleteBudgetAction.DeleteBudgetActionResponse
+ Amazonka.Budgets.DeleteBudgetAction: newDeleteBudgetAction :: Text -> Text -> Text -> DeleteBudgetAction
+ Amazonka.Budgets.DeleteBudgetAction: newDeleteBudgetActionResponse :: Int -> Text -> Text -> Action -> DeleteBudgetActionResponse
+ Amazonka.Budgets.DeleteNotification: DeleteNotification' :: Text -> Text -> Notification -> DeleteNotification
+ Amazonka.Budgets.DeleteNotification: DeleteNotificationResponse' :: Int -> DeleteNotificationResponse
+ Amazonka.Budgets.DeleteNotification: [$sel:accountId:DeleteNotification'] :: DeleteNotification -> Text
+ Amazonka.Budgets.DeleteNotification: [$sel:budgetName:DeleteNotification'] :: DeleteNotification -> Text
+ Amazonka.Budgets.DeleteNotification: [$sel:httpStatus:DeleteNotificationResponse'] :: DeleteNotificationResponse -> Int
+ Amazonka.Budgets.DeleteNotification: [$sel:notification:DeleteNotification'] :: DeleteNotification -> Notification
+ Amazonka.Budgets.DeleteNotification: data DeleteNotification
+ Amazonka.Budgets.DeleteNotification: data DeleteNotificationResponse
+ Amazonka.Budgets.DeleteNotification: deleteNotificationResponse_httpStatus :: Lens' DeleteNotificationResponse Int
+ Amazonka.Budgets.DeleteNotification: deleteNotification_accountId :: Lens' DeleteNotification Text
+ Amazonka.Budgets.DeleteNotification: deleteNotification_budgetName :: Lens' DeleteNotification Text
+ Amazonka.Budgets.DeleteNotification: deleteNotification_notification :: Lens' DeleteNotification Notification
+ Amazonka.Budgets.DeleteNotification: instance Amazonka.Data.Headers.ToHeaders Amazonka.Budgets.DeleteNotification.DeleteNotification
+ Amazonka.Budgets.DeleteNotification: instance Amazonka.Data.Path.ToPath Amazonka.Budgets.DeleteNotification.DeleteNotification
+ Amazonka.Budgets.DeleteNotification: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.DeleteNotification.DeleteNotification
+ Amazonka.Budgets.DeleteNotification: instance Amazonka.Types.AWSRequest Amazonka.Budgets.DeleteNotification.DeleteNotification
+ Amazonka.Budgets.DeleteNotification: instance Control.DeepSeq.NFData Amazonka.Budgets.DeleteNotification.DeleteNotification
+ Amazonka.Budgets.DeleteNotification: instance Control.DeepSeq.NFData Amazonka.Budgets.DeleteNotification.DeleteNotificationResponse
+ Amazonka.Budgets.DeleteNotification: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.DeleteNotification.DeleteNotification
+ Amazonka.Budgets.DeleteNotification: instance Data.Hashable.Class.Hashable Amazonka.Budgets.DeleteNotification.DeleteNotification
+ Amazonka.Budgets.DeleteNotification: instance GHC.Classes.Eq Amazonka.Budgets.DeleteNotification.DeleteNotification
+ Amazonka.Budgets.DeleteNotification: instance GHC.Classes.Eq Amazonka.Budgets.DeleteNotification.DeleteNotificationResponse
+ Amazonka.Budgets.DeleteNotification: instance GHC.Generics.Generic Amazonka.Budgets.DeleteNotification.DeleteNotification
+ Amazonka.Budgets.DeleteNotification: instance GHC.Generics.Generic Amazonka.Budgets.DeleteNotification.DeleteNotificationResponse
+ Amazonka.Budgets.DeleteNotification: instance GHC.Read.Read Amazonka.Budgets.DeleteNotification.DeleteNotification
+ Amazonka.Budgets.DeleteNotification: instance GHC.Read.Read Amazonka.Budgets.DeleteNotification.DeleteNotificationResponse
+ Amazonka.Budgets.DeleteNotification: instance GHC.Show.Show Amazonka.Budgets.DeleteNotification.DeleteNotification
+ Amazonka.Budgets.DeleteNotification: instance GHC.Show.Show Amazonka.Budgets.DeleteNotification.DeleteNotificationResponse
+ Amazonka.Budgets.DeleteNotification: newDeleteNotification :: Text -> Text -> Notification -> DeleteNotification
+ Amazonka.Budgets.DeleteNotification: newDeleteNotificationResponse :: Int -> DeleteNotificationResponse
+ Amazonka.Budgets.DeleteSubscriber: DeleteSubscriber' :: Text -> Text -> Notification -> Subscriber -> DeleteSubscriber
+ Amazonka.Budgets.DeleteSubscriber: DeleteSubscriberResponse' :: Int -> DeleteSubscriberResponse
+ Amazonka.Budgets.DeleteSubscriber: [$sel:accountId:DeleteSubscriber'] :: DeleteSubscriber -> Text
+ Amazonka.Budgets.DeleteSubscriber: [$sel:budgetName:DeleteSubscriber'] :: DeleteSubscriber -> Text
+ Amazonka.Budgets.DeleteSubscriber: [$sel:httpStatus:DeleteSubscriberResponse'] :: DeleteSubscriberResponse -> Int
+ Amazonka.Budgets.DeleteSubscriber: [$sel:notification:DeleteSubscriber'] :: DeleteSubscriber -> Notification
+ Amazonka.Budgets.DeleteSubscriber: [$sel:subscriber:DeleteSubscriber'] :: DeleteSubscriber -> Subscriber
+ Amazonka.Budgets.DeleteSubscriber: data DeleteSubscriber
+ Amazonka.Budgets.DeleteSubscriber: data DeleteSubscriberResponse
+ Amazonka.Budgets.DeleteSubscriber: deleteSubscriberResponse_httpStatus :: Lens' DeleteSubscriberResponse Int
+ Amazonka.Budgets.DeleteSubscriber: deleteSubscriber_accountId :: Lens' DeleteSubscriber Text
+ Amazonka.Budgets.DeleteSubscriber: deleteSubscriber_budgetName :: Lens' DeleteSubscriber Text
+ Amazonka.Budgets.DeleteSubscriber: deleteSubscriber_notification :: Lens' DeleteSubscriber Notification
+ Amazonka.Budgets.DeleteSubscriber: deleteSubscriber_subscriber :: Lens' DeleteSubscriber Subscriber
+ Amazonka.Budgets.DeleteSubscriber: instance Amazonka.Data.Headers.ToHeaders Amazonka.Budgets.DeleteSubscriber.DeleteSubscriber
+ Amazonka.Budgets.DeleteSubscriber: instance Amazonka.Data.Path.ToPath Amazonka.Budgets.DeleteSubscriber.DeleteSubscriber
+ Amazonka.Budgets.DeleteSubscriber: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.DeleteSubscriber.DeleteSubscriber
+ Amazonka.Budgets.DeleteSubscriber: instance Amazonka.Types.AWSRequest Amazonka.Budgets.DeleteSubscriber.DeleteSubscriber
+ Amazonka.Budgets.DeleteSubscriber: instance Control.DeepSeq.NFData Amazonka.Budgets.DeleteSubscriber.DeleteSubscriber
+ Amazonka.Budgets.DeleteSubscriber: instance Control.DeepSeq.NFData Amazonka.Budgets.DeleteSubscriber.DeleteSubscriberResponse
+ Amazonka.Budgets.DeleteSubscriber: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.DeleteSubscriber.DeleteSubscriber
+ Amazonka.Budgets.DeleteSubscriber: instance Data.Hashable.Class.Hashable Amazonka.Budgets.DeleteSubscriber.DeleteSubscriber
+ Amazonka.Budgets.DeleteSubscriber: instance GHC.Classes.Eq Amazonka.Budgets.DeleteSubscriber.DeleteSubscriber
+ Amazonka.Budgets.DeleteSubscriber: instance GHC.Classes.Eq Amazonka.Budgets.DeleteSubscriber.DeleteSubscriberResponse
+ Amazonka.Budgets.DeleteSubscriber: instance GHC.Generics.Generic Amazonka.Budgets.DeleteSubscriber.DeleteSubscriber
+ Amazonka.Budgets.DeleteSubscriber: instance GHC.Generics.Generic Amazonka.Budgets.DeleteSubscriber.DeleteSubscriberResponse
+ Amazonka.Budgets.DeleteSubscriber: instance GHC.Read.Read Amazonka.Budgets.DeleteSubscriber.DeleteSubscriberResponse
+ Amazonka.Budgets.DeleteSubscriber: instance GHC.Show.Show Amazonka.Budgets.DeleteSubscriber.DeleteSubscriber
+ Amazonka.Budgets.DeleteSubscriber: instance GHC.Show.Show Amazonka.Budgets.DeleteSubscriber.DeleteSubscriberResponse
+ Amazonka.Budgets.DeleteSubscriber: newDeleteSubscriber :: Text -> Text -> Notification -> Subscriber -> DeleteSubscriber
+ Amazonka.Budgets.DeleteSubscriber: newDeleteSubscriberResponse :: Int -> DeleteSubscriberResponse
+ Amazonka.Budgets.DescribeBudget: DescribeBudget' :: Text -> Text -> DescribeBudget
+ Amazonka.Budgets.DescribeBudget: DescribeBudgetResponse' :: Maybe Budget -> Int -> DescribeBudgetResponse
+ Amazonka.Budgets.DescribeBudget: [$sel:accountId:DescribeBudget'] :: DescribeBudget -> Text
+ Amazonka.Budgets.DescribeBudget: [$sel:budget:DescribeBudgetResponse'] :: DescribeBudgetResponse -> Maybe Budget
+ Amazonka.Budgets.DescribeBudget: [$sel:budgetName:DescribeBudget'] :: DescribeBudget -> Text
+ Amazonka.Budgets.DescribeBudget: [$sel:httpStatus:DescribeBudgetResponse'] :: DescribeBudgetResponse -> Int
+ Amazonka.Budgets.DescribeBudget: data DescribeBudget
+ Amazonka.Budgets.DescribeBudget: data DescribeBudgetResponse
+ Amazonka.Budgets.DescribeBudget: describeBudgetResponse_budget :: Lens' DescribeBudgetResponse (Maybe Budget)
+ Amazonka.Budgets.DescribeBudget: describeBudgetResponse_httpStatus :: Lens' DescribeBudgetResponse Int
+ Amazonka.Budgets.DescribeBudget: describeBudget_accountId :: Lens' DescribeBudget Text
+ Amazonka.Budgets.DescribeBudget: describeBudget_budgetName :: Lens' DescribeBudget Text
+ Amazonka.Budgets.DescribeBudget: instance Amazonka.Data.Headers.ToHeaders Amazonka.Budgets.DescribeBudget.DescribeBudget
+ Amazonka.Budgets.DescribeBudget: instance Amazonka.Data.Path.ToPath Amazonka.Budgets.DescribeBudget.DescribeBudget
+ Amazonka.Budgets.DescribeBudget: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.DescribeBudget.DescribeBudget
+ Amazonka.Budgets.DescribeBudget: instance Amazonka.Types.AWSRequest Amazonka.Budgets.DescribeBudget.DescribeBudget
+ Amazonka.Budgets.DescribeBudget: instance Control.DeepSeq.NFData Amazonka.Budgets.DescribeBudget.DescribeBudget
+ Amazonka.Budgets.DescribeBudget: instance Control.DeepSeq.NFData Amazonka.Budgets.DescribeBudget.DescribeBudgetResponse
+ Amazonka.Budgets.DescribeBudget: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.DescribeBudget.DescribeBudget
+ Amazonka.Budgets.DescribeBudget: instance Data.Hashable.Class.Hashable Amazonka.Budgets.DescribeBudget.DescribeBudget
+ Amazonka.Budgets.DescribeBudget: instance GHC.Classes.Eq Amazonka.Budgets.DescribeBudget.DescribeBudget
+ Amazonka.Budgets.DescribeBudget: instance GHC.Classes.Eq Amazonka.Budgets.DescribeBudget.DescribeBudgetResponse
+ Amazonka.Budgets.DescribeBudget: instance GHC.Generics.Generic Amazonka.Budgets.DescribeBudget.DescribeBudget
+ Amazonka.Budgets.DescribeBudget: instance GHC.Generics.Generic Amazonka.Budgets.DescribeBudget.DescribeBudgetResponse
+ Amazonka.Budgets.DescribeBudget: instance GHC.Read.Read Amazonka.Budgets.DescribeBudget.DescribeBudget
+ Amazonka.Budgets.DescribeBudget: instance GHC.Read.Read Amazonka.Budgets.DescribeBudget.DescribeBudgetResponse
+ Amazonka.Budgets.DescribeBudget: instance GHC.Show.Show Amazonka.Budgets.DescribeBudget.DescribeBudget
+ Amazonka.Budgets.DescribeBudget: instance GHC.Show.Show Amazonka.Budgets.DescribeBudget.DescribeBudgetResponse
+ Amazonka.Budgets.DescribeBudget: newDescribeBudget :: Text -> Text -> DescribeBudget
+ Amazonka.Budgets.DescribeBudget: newDescribeBudgetResponse :: Int -> DescribeBudgetResponse
+ Amazonka.Budgets.DescribeBudgetAction: DescribeBudgetAction' :: Text -> Text -> Text -> DescribeBudgetAction
+ Amazonka.Budgets.DescribeBudgetAction: DescribeBudgetActionResponse' :: Int -> Text -> Text -> Action -> DescribeBudgetActionResponse
+ Amazonka.Budgets.DescribeBudgetAction: [$sel:accountId:DescribeBudgetAction'] :: DescribeBudgetAction -> Text
+ Amazonka.Budgets.DescribeBudgetAction: [$sel:accountId:DescribeBudgetActionResponse'] :: DescribeBudgetActionResponse -> Text
+ Amazonka.Budgets.DescribeBudgetAction: [$sel:action:DescribeBudgetActionResponse'] :: DescribeBudgetActionResponse -> Action
+ Amazonka.Budgets.DescribeBudgetAction: [$sel:actionId:DescribeBudgetAction'] :: DescribeBudgetAction -> Text
+ Amazonka.Budgets.DescribeBudgetAction: [$sel:budgetName:DescribeBudgetAction'] :: DescribeBudgetAction -> Text
+ Amazonka.Budgets.DescribeBudgetAction: [$sel:budgetName:DescribeBudgetActionResponse'] :: DescribeBudgetActionResponse -> Text
+ Amazonka.Budgets.DescribeBudgetAction: [$sel:httpStatus:DescribeBudgetActionResponse'] :: DescribeBudgetActionResponse -> Int
+ Amazonka.Budgets.DescribeBudgetAction: data DescribeBudgetAction
+ Amazonka.Budgets.DescribeBudgetAction: data DescribeBudgetActionResponse
+ Amazonka.Budgets.DescribeBudgetAction: describeBudgetActionResponse_accountId :: Lens' DescribeBudgetActionResponse Text
+ Amazonka.Budgets.DescribeBudgetAction: describeBudgetActionResponse_action :: Lens' DescribeBudgetActionResponse Action
+ Amazonka.Budgets.DescribeBudgetAction: describeBudgetActionResponse_budgetName :: Lens' DescribeBudgetActionResponse Text
+ Amazonka.Budgets.DescribeBudgetAction: describeBudgetActionResponse_httpStatus :: Lens' DescribeBudgetActionResponse Int
+ Amazonka.Budgets.DescribeBudgetAction: describeBudgetAction_accountId :: Lens' DescribeBudgetAction Text
+ Amazonka.Budgets.DescribeBudgetAction: describeBudgetAction_actionId :: Lens' DescribeBudgetAction Text
+ Amazonka.Budgets.DescribeBudgetAction: describeBudgetAction_budgetName :: Lens' DescribeBudgetAction Text
+ Amazonka.Budgets.DescribeBudgetAction: instance Amazonka.Data.Headers.ToHeaders Amazonka.Budgets.DescribeBudgetAction.DescribeBudgetAction
+ Amazonka.Budgets.DescribeBudgetAction: instance Amazonka.Data.Path.ToPath Amazonka.Budgets.DescribeBudgetAction.DescribeBudgetAction
+ Amazonka.Budgets.DescribeBudgetAction: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.DescribeBudgetAction.DescribeBudgetAction
+ Amazonka.Budgets.DescribeBudgetAction: instance Amazonka.Types.AWSRequest Amazonka.Budgets.DescribeBudgetAction.DescribeBudgetAction
+ Amazonka.Budgets.DescribeBudgetAction: instance Control.DeepSeq.NFData Amazonka.Budgets.DescribeBudgetAction.DescribeBudgetAction
+ Amazonka.Budgets.DescribeBudgetAction: instance Control.DeepSeq.NFData Amazonka.Budgets.DescribeBudgetAction.DescribeBudgetActionResponse
+ Amazonka.Budgets.DescribeBudgetAction: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.DescribeBudgetAction.DescribeBudgetAction
+ Amazonka.Budgets.DescribeBudgetAction: instance Data.Hashable.Class.Hashable Amazonka.Budgets.DescribeBudgetAction.DescribeBudgetAction
+ Amazonka.Budgets.DescribeBudgetAction: instance GHC.Classes.Eq Amazonka.Budgets.DescribeBudgetAction.DescribeBudgetAction
+ Amazonka.Budgets.DescribeBudgetAction: instance GHC.Classes.Eq Amazonka.Budgets.DescribeBudgetAction.DescribeBudgetActionResponse
+ Amazonka.Budgets.DescribeBudgetAction: instance GHC.Generics.Generic Amazonka.Budgets.DescribeBudgetAction.DescribeBudgetAction
+ Amazonka.Budgets.DescribeBudgetAction: instance GHC.Generics.Generic Amazonka.Budgets.DescribeBudgetAction.DescribeBudgetActionResponse
+ Amazonka.Budgets.DescribeBudgetAction: instance GHC.Read.Read Amazonka.Budgets.DescribeBudgetAction.DescribeBudgetAction
+ Amazonka.Budgets.DescribeBudgetAction: instance GHC.Show.Show Amazonka.Budgets.DescribeBudgetAction.DescribeBudgetAction
+ Amazonka.Budgets.DescribeBudgetAction: instance GHC.Show.Show Amazonka.Budgets.DescribeBudgetAction.DescribeBudgetActionResponse
+ Amazonka.Budgets.DescribeBudgetAction: newDescribeBudgetAction :: Text -> Text -> Text -> DescribeBudgetAction
+ Amazonka.Budgets.DescribeBudgetAction: newDescribeBudgetActionResponse :: Int -> Text -> Text -> Action -> DescribeBudgetActionResponse
+ Amazonka.Budgets.DescribeBudgetActionHistories: DescribeBudgetActionHistories' :: Maybe Natural -> Maybe Text -> Maybe TimePeriod -> Text -> Text -> Text -> DescribeBudgetActionHistories
+ Amazonka.Budgets.DescribeBudgetActionHistories: DescribeBudgetActionHistoriesResponse' :: Maybe Text -> Int -> [ActionHistory] -> DescribeBudgetActionHistoriesResponse
+ Amazonka.Budgets.DescribeBudgetActionHistories: [$sel:accountId:DescribeBudgetActionHistories'] :: DescribeBudgetActionHistories -> Text
+ Amazonka.Budgets.DescribeBudgetActionHistories: [$sel:actionHistories:DescribeBudgetActionHistoriesResponse'] :: DescribeBudgetActionHistoriesResponse -> [ActionHistory]
+ Amazonka.Budgets.DescribeBudgetActionHistories: [$sel:actionId:DescribeBudgetActionHistories'] :: DescribeBudgetActionHistories -> Text
+ Amazonka.Budgets.DescribeBudgetActionHistories: [$sel:budgetName:DescribeBudgetActionHistories'] :: DescribeBudgetActionHistories -> Text
+ Amazonka.Budgets.DescribeBudgetActionHistories: [$sel:httpStatus:DescribeBudgetActionHistoriesResponse'] :: DescribeBudgetActionHistoriesResponse -> Int
+ Amazonka.Budgets.DescribeBudgetActionHistories: [$sel:maxResults:DescribeBudgetActionHistories'] :: DescribeBudgetActionHistories -> Maybe Natural
+ Amazonka.Budgets.DescribeBudgetActionHistories: [$sel:nextToken:DescribeBudgetActionHistories'] :: DescribeBudgetActionHistories -> Maybe Text
+ Amazonka.Budgets.DescribeBudgetActionHistories: [$sel:nextToken:DescribeBudgetActionHistoriesResponse'] :: DescribeBudgetActionHistoriesResponse -> Maybe Text
+ Amazonka.Budgets.DescribeBudgetActionHistories: [$sel:timePeriod:DescribeBudgetActionHistories'] :: DescribeBudgetActionHistories -> Maybe TimePeriod
+ Amazonka.Budgets.DescribeBudgetActionHistories: data DescribeBudgetActionHistories
+ Amazonka.Budgets.DescribeBudgetActionHistories: data DescribeBudgetActionHistoriesResponse
+ Amazonka.Budgets.DescribeBudgetActionHistories: describeBudgetActionHistoriesResponse_actionHistories :: Lens' DescribeBudgetActionHistoriesResponse [ActionHistory]
+ Amazonka.Budgets.DescribeBudgetActionHistories: describeBudgetActionHistoriesResponse_httpStatus :: Lens' DescribeBudgetActionHistoriesResponse Int
+ Amazonka.Budgets.DescribeBudgetActionHistories: describeBudgetActionHistoriesResponse_nextToken :: Lens' DescribeBudgetActionHistoriesResponse (Maybe Text)
+ Amazonka.Budgets.DescribeBudgetActionHistories: describeBudgetActionHistories_accountId :: Lens' DescribeBudgetActionHistories Text
+ Amazonka.Budgets.DescribeBudgetActionHistories: describeBudgetActionHistories_actionId :: Lens' DescribeBudgetActionHistories Text
+ Amazonka.Budgets.DescribeBudgetActionHistories: describeBudgetActionHistories_budgetName :: Lens' DescribeBudgetActionHistories Text
+ Amazonka.Budgets.DescribeBudgetActionHistories: describeBudgetActionHistories_maxResults :: Lens' DescribeBudgetActionHistories (Maybe Natural)
+ Amazonka.Budgets.DescribeBudgetActionHistories: describeBudgetActionHistories_nextToken :: Lens' DescribeBudgetActionHistories (Maybe Text)
+ Amazonka.Budgets.DescribeBudgetActionHistories: describeBudgetActionHistories_timePeriod :: Lens' DescribeBudgetActionHistories (Maybe TimePeriod)
+ Amazonka.Budgets.DescribeBudgetActionHistories: instance Amazonka.Data.Headers.ToHeaders Amazonka.Budgets.DescribeBudgetActionHistories.DescribeBudgetActionHistories
+ Amazonka.Budgets.DescribeBudgetActionHistories: instance Amazonka.Data.Path.ToPath Amazonka.Budgets.DescribeBudgetActionHistories.DescribeBudgetActionHistories
+ Amazonka.Budgets.DescribeBudgetActionHistories: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.DescribeBudgetActionHistories.DescribeBudgetActionHistories
+ Amazonka.Budgets.DescribeBudgetActionHistories: instance Amazonka.Pager.AWSPager Amazonka.Budgets.DescribeBudgetActionHistories.DescribeBudgetActionHistories
+ Amazonka.Budgets.DescribeBudgetActionHistories: instance Amazonka.Types.AWSRequest Amazonka.Budgets.DescribeBudgetActionHistories.DescribeBudgetActionHistories
+ Amazonka.Budgets.DescribeBudgetActionHistories: instance Control.DeepSeq.NFData Amazonka.Budgets.DescribeBudgetActionHistories.DescribeBudgetActionHistories
+ Amazonka.Budgets.DescribeBudgetActionHistories: instance Control.DeepSeq.NFData Amazonka.Budgets.DescribeBudgetActionHistories.DescribeBudgetActionHistoriesResponse
+ Amazonka.Budgets.DescribeBudgetActionHistories: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.DescribeBudgetActionHistories.DescribeBudgetActionHistories
+ Amazonka.Budgets.DescribeBudgetActionHistories: instance Data.Hashable.Class.Hashable Amazonka.Budgets.DescribeBudgetActionHistories.DescribeBudgetActionHistories
+ Amazonka.Budgets.DescribeBudgetActionHistories: instance GHC.Classes.Eq Amazonka.Budgets.DescribeBudgetActionHistories.DescribeBudgetActionHistories
+ Amazonka.Budgets.DescribeBudgetActionHistories: instance GHC.Classes.Eq Amazonka.Budgets.DescribeBudgetActionHistories.DescribeBudgetActionHistoriesResponse
+ Amazonka.Budgets.DescribeBudgetActionHistories: instance GHC.Generics.Generic Amazonka.Budgets.DescribeBudgetActionHistories.DescribeBudgetActionHistories
+ Amazonka.Budgets.DescribeBudgetActionHistories: instance GHC.Generics.Generic Amazonka.Budgets.DescribeBudgetActionHistories.DescribeBudgetActionHistoriesResponse
+ Amazonka.Budgets.DescribeBudgetActionHistories: instance GHC.Read.Read Amazonka.Budgets.DescribeBudgetActionHistories.DescribeBudgetActionHistories
+ Amazonka.Budgets.DescribeBudgetActionHistories: instance GHC.Show.Show Amazonka.Budgets.DescribeBudgetActionHistories.DescribeBudgetActionHistories
+ Amazonka.Budgets.DescribeBudgetActionHistories: instance GHC.Show.Show Amazonka.Budgets.DescribeBudgetActionHistories.DescribeBudgetActionHistoriesResponse
+ Amazonka.Budgets.DescribeBudgetActionHistories: newDescribeBudgetActionHistories :: Text -> Text -> Text -> DescribeBudgetActionHistories
+ Amazonka.Budgets.DescribeBudgetActionHistories: newDescribeBudgetActionHistoriesResponse :: Int -> DescribeBudgetActionHistoriesResponse
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: DescribeBudgetActionsForAccount' :: Maybe Natural -> Maybe Text -> Text -> DescribeBudgetActionsForAccount
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: DescribeBudgetActionsForAccountResponse' :: Maybe Text -> Int -> [Action] -> DescribeBudgetActionsForAccountResponse
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: [$sel:accountId:DescribeBudgetActionsForAccount'] :: DescribeBudgetActionsForAccount -> Text
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: [$sel:actions:DescribeBudgetActionsForAccountResponse'] :: DescribeBudgetActionsForAccountResponse -> [Action]
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: [$sel:httpStatus:DescribeBudgetActionsForAccountResponse'] :: DescribeBudgetActionsForAccountResponse -> Int
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: [$sel:maxResults:DescribeBudgetActionsForAccount'] :: DescribeBudgetActionsForAccount -> Maybe Natural
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: [$sel:nextToken:DescribeBudgetActionsForAccount'] :: DescribeBudgetActionsForAccount -> Maybe Text
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: [$sel:nextToken:DescribeBudgetActionsForAccountResponse'] :: DescribeBudgetActionsForAccountResponse -> Maybe Text
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: data DescribeBudgetActionsForAccount
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: data DescribeBudgetActionsForAccountResponse
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: describeBudgetActionsForAccountResponse_actions :: Lens' DescribeBudgetActionsForAccountResponse [Action]
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: describeBudgetActionsForAccountResponse_httpStatus :: Lens' DescribeBudgetActionsForAccountResponse Int
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: describeBudgetActionsForAccountResponse_nextToken :: Lens' DescribeBudgetActionsForAccountResponse (Maybe Text)
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: describeBudgetActionsForAccount_accountId :: Lens' DescribeBudgetActionsForAccount Text
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: describeBudgetActionsForAccount_maxResults :: Lens' DescribeBudgetActionsForAccount (Maybe Natural)
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: describeBudgetActionsForAccount_nextToken :: Lens' DescribeBudgetActionsForAccount (Maybe Text)
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: instance Amazonka.Data.Headers.ToHeaders Amazonka.Budgets.DescribeBudgetActionsForAccount.DescribeBudgetActionsForAccount
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: instance Amazonka.Data.Path.ToPath Amazonka.Budgets.DescribeBudgetActionsForAccount.DescribeBudgetActionsForAccount
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.DescribeBudgetActionsForAccount.DescribeBudgetActionsForAccount
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: instance Amazonka.Pager.AWSPager Amazonka.Budgets.DescribeBudgetActionsForAccount.DescribeBudgetActionsForAccount
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: instance Amazonka.Types.AWSRequest Amazonka.Budgets.DescribeBudgetActionsForAccount.DescribeBudgetActionsForAccount
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: instance Control.DeepSeq.NFData Amazonka.Budgets.DescribeBudgetActionsForAccount.DescribeBudgetActionsForAccount
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: instance Control.DeepSeq.NFData Amazonka.Budgets.DescribeBudgetActionsForAccount.DescribeBudgetActionsForAccountResponse
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.DescribeBudgetActionsForAccount.DescribeBudgetActionsForAccount
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: instance Data.Hashable.Class.Hashable Amazonka.Budgets.DescribeBudgetActionsForAccount.DescribeBudgetActionsForAccount
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: instance GHC.Classes.Eq Amazonka.Budgets.DescribeBudgetActionsForAccount.DescribeBudgetActionsForAccount
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: instance GHC.Classes.Eq Amazonka.Budgets.DescribeBudgetActionsForAccount.DescribeBudgetActionsForAccountResponse
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: instance GHC.Generics.Generic Amazonka.Budgets.DescribeBudgetActionsForAccount.DescribeBudgetActionsForAccount
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: instance GHC.Generics.Generic Amazonka.Budgets.DescribeBudgetActionsForAccount.DescribeBudgetActionsForAccountResponse
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: instance GHC.Read.Read Amazonka.Budgets.DescribeBudgetActionsForAccount.DescribeBudgetActionsForAccount
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: instance GHC.Show.Show Amazonka.Budgets.DescribeBudgetActionsForAccount.DescribeBudgetActionsForAccount
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: instance GHC.Show.Show Amazonka.Budgets.DescribeBudgetActionsForAccount.DescribeBudgetActionsForAccountResponse
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: newDescribeBudgetActionsForAccount :: Text -> DescribeBudgetActionsForAccount
+ Amazonka.Budgets.DescribeBudgetActionsForAccount: newDescribeBudgetActionsForAccountResponse :: Int -> DescribeBudgetActionsForAccountResponse
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: DescribeBudgetActionsForBudget' :: Maybe Natural -> Maybe Text -> Text -> Text -> DescribeBudgetActionsForBudget
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: DescribeBudgetActionsForBudgetResponse' :: Maybe Text -> Int -> [Action] -> DescribeBudgetActionsForBudgetResponse
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: [$sel:accountId:DescribeBudgetActionsForBudget'] :: DescribeBudgetActionsForBudget -> Text
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: [$sel:actions:DescribeBudgetActionsForBudgetResponse'] :: DescribeBudgetActionsForBudgetResponse -> [Action]
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: [$sel:budgetName:DescribeBudgetActionsForBudget'] :: DescribeBudgetActionsForBudget -> Text
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: [$sel:httpStatus:DescribeBudgetActionsForBudgetResponse'] :: DescribeBudgetActionsForBudgetResponse -> Int
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: [$sel:maxResults:DescribeBudgetActionsForBudget'] :: DescribeBudgetActionsForBudget -> Maybe Natural
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: [$sel:nextToken:DescribeBudgetActionsForBudget'] :: DescribeBudgetActionsForBudget -> Maybe Text
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: [$sel:nextToken:DescribeBudgetActionsForBudgetResponse'] :: DescribeBudgetActionsForBudgetResponse -> Maybe Text
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: data DescribeBudgetActionsForBudget
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: data DescribeBudgetActionsForBudgetResponse
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: describeBudgetActionsForBudgetResponse_actions :: Lens' DescribeBudgetActionsForBudgetResponse [Action]
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: describeBudgetActionsForBudgetResponse_httpStatus :: Lens' DescribeBudgetActionsForBudgetResponse Int
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: describeBudgetActionsForBudgetResponse_nextToken :: Lens' DescribeBudgetActionsForBudgetResponse (Maybe Text)
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: describeBudgetActionsForBudget_accountId :: Lens' DescribeBudgetActionsForBudget Text
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: describeBudgetActionsForBudget_budgetName :: Lens' DescribeBudgetActionsForBudget Text
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: describeBudgetActionsForBudget_maxResults :: Lens' DescribeBudgetActionsForBudget (Maybe Natural)
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: describeBudgetActionsForBudget_nextToken :: Lens' DescribeBudgetActionsForBudget (Maybe Text)
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: instance Amazonka.Data.Headers.ToHeaders Amazonka.Budgets.DescribeBudgetActionsForBudget.DescribeBudgetActionsForBudget
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: instance Amazonka.Data.Path.ToPath Amazonka.Budgets.DescribeBudgetActionsForBudget.DescribeBudgetActionsForBudget
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.DescribeBudgetActionsForBudget.DescribeBudgetActionsForBudget
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: instance Amazonka.Pager.AWSPager Amazonka.Budgets.DescribeBudgetActionsForBudget.DescribeBudgetActionsForBudget
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: instance Amazonka.Types.AWSRequest Amazonka.Budgets.DescribeBudgetActionsForBudget.DescribeBudgetActionsForBudget
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: instance Control.DeepSeq.NFData Amazonka.Budgets.DescribeBudgetActionsForBudget.DescribeBudgetActionsForBudget
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: instance Control.DeepSeq.NFData Amazonka.Budgets.DescribeBudgetActionsForBudget.DescribeBudgetActionsForBudgetResponse
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.DescribeBudgetActionsForBudget.DescribeBudgetActionsForBudget
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: instance Data.Hashable.Class.Hashable Amazonka.Budgets.DescribeBudgetActionsForBudget.DescribeBudgetActionsForBudget
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: instance GHC.Classes.Eq Amazonka.Budgets.DescribeBudgetActionsForBudget.DescribeBudgetActionsForBudget
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: instance GHC.Classes.Eq Amazonka.Budgets.DescribeBudgetActionsForBudget.DescribeBudgetActionsForBudgetResponse
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: instance GHC.Generics.Generic Amazonka.Budgets.DescribeBudgetActionsForBudget.DescribeBudgetActionsForBudget
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: instance GHC.Generics.Generic Amazonka.Budgets.DescribeBudgetActionsForBudget.DescribeBudgetActionsForBudgetResponse
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: instance GHC.Read.Read Amazonka.Budgets.DescribeBudgetActionsForBudget.DescribeBudgetActionsForBudget
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: instance GHC.Show.Show Amazonka.Budgets.DescribeBudgetActionsForBudget.DescribeBudgetActionsForBudget
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: instance GHC.Show.Show Amazonka.Budgets.DescribeBudgetActionsForBudget.DescribeBudgetActionsForBudgetResponse
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: newDescribeBudgetActionsForBudget :: Text -> Text -> DescribeBudgetActionsForBudget
+ Amazonka.Budgets.DescribeBudgetActionsForBudget: newDescribeBudgetActionsForBudgetResponse :: Int -> DescribeBudgetActionsForBudgetResponse
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: DescribeBudgetNotificationsForAccount' :: Maybe Natural -> Maybe Text -> Text -> DescribeBudgetNotificationsForAccount
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: DescribeBudgetNotificationsForAccountResponse' :: Maybe [BudgetNotificationsForAccount] -> Maybe Text -> Int -> DescribeBudgetNotificationsForAccountResponse
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: [$sel:accountId:DescribeBudgetNotificationsForAccount'] :: DescribeBudgetNotificationsForAccount -> Text
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: [$sel:budgetNotificationsForAccount:DescribeBudgetNotificationsForAccountResponse'] :: DescribeBudgetNotificationsForAccountResponse -> Maybe [BudgetNotificationsForAccount]
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: [$sel:httpStatus:DescribeBudgetNotificationsForAccountResponse'] :: DescribeBudgetNotificationsForAccountResponse -> Int
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: [$sel:maxResults:DescribeBudgetNotificationsForAccount'] :: DescribeBudgetNotificationsForAccount -> Maybe Natural
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: [$sel:nextToken:DescribeBudgetNotificationsForAccount'] :: DescribeBudgetNotificationsForAccount -> Maybe Text
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: [$sel:nextToken:DescribeBudgetNotificationsForAccountResponse'] :: DescribeBudgetNotificationsForAccountResponse -> Maybe Text
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: data DescribeBudgetNotificationsForAccount
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: data DescribeBudgetNotificationsForAccountResponse
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: describeBudgetNotificationsForAccountResponse_budgetNotificationsForAccount :: Lens' DescribeBudgetNotificationsForAccountResponse (Maybe [BudgetNotificationsForAccount])
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: describeBudgetNotificationsForAccountResponse_httpStatus :: Lens' DescribeBudgetNotificationsForAccountResponse Int
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: describeBudgetNotificationsForAccountResponse_nextToken :: Lens' DescribeBudgetNotificationsForAccountResponse (Maybe Text)
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: describeBudgetNotificationsForAccount_accountId :: Lens' DescribeBudgetNotificationsForAccount Text
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: describeBudgetNotificationsForAccount_maxResults :: Lens' DescribeBudgetNotificationsForAccount (Maybe Natural)
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: describeBudgetNotificationsForAccount_nextToken :: Lens' DescribeBudgetNotificationsForAccount (Maybe Text)
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: instance Amazonka.Data.Headers.ToHeaders Amazonka.Budgets.DescribeBudgetNotificationsForAccount.DescribeBudgetNotificationsForAccount
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: instance Amazonka.Data.Path.ToPath Amazonka.Budgets.DescribeBudgetNotificationsForAccount.DescribeBudgetNotificationsForAccount
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.DescribeBudgetNotificationsForAccount.DescribeBudgetNotificationsForAccount
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: instance Amazonka.Pager.AWSPager Amazonka.Budgets.DescribeBudgetNotificationsForAccount.DescribeBudgetNotificationsForAccount
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: instance Amazonka.Types.AWSRequest Amazonka.Budgets.DescribeBudgetNotificationsForAccount.DescribeBudgetNotificationsForAccount
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: instance Control.DeepSeq.NFData Amazonka.Budgets.DescribeBudgetNotificationsForAccount.DescribeBudgetNotificationsForAccount
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: instance Control.DeepSeq.NFData Amazonka.Budgets.DescribeBudgetNotificationsForAccount.DescribeBudgetNotificationsForAccountResponse
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.DescribeBudgetNotificationsForAccount.DescribeBudgetNotificationsForAccount
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: instance Data.Hashable.Class.Hashable Amazonka.Budgets.DescribeBudgetNotificationsForAccount.DescribeBudgetNotificationsForAccount
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: instance GHC.Classes.Eq Amazonka.Budgets.DescribeBudgetNotificationsForAccount.DescribeBudgetNotificationsForAccount
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: instance GHC.Classes.Eq Amazonka.Budgets.DescribeBudgetNotificationsForAccount.DescribeBudgetNotificationsForAccountResponse
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: instance GHC.Generics.Generic Amazonka.Budgets.DescribeBudgetNotificationsForAccount.DescribeBudgetNotificationsForAccount
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: instance GHC.Generics.Generic Amazonka.Budgets.DescribeBudgetNotificationsForAccount.DescribeBudgetNotificationsForAccountResponse
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: instance GHC.Read.Read Amazonka.Budgets.DescribeBudgetNotificationsForAccount.DescribeBudgetNotificationsForAccount
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: instance GHC.Read.Read Amazonka.Budgets.DescribeBudgetNotificationsForAccount.DescribeBudgetNotificationsForAccountResponse
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: instance GHC.Show.Show Amazonka.Budgets.DescribeBudgetNotificationsForAccount.DescribeBudgetNotificationsForAccount
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: instance GHC.Show.Show Amazonka.Budgets.DescribeBudgetNotificationsForAccount.DescribeBudgetNotificationsForAccountResponse
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: newDescribeBudgetNotificationsForAccount :: Text -> DescribeBudgetNotificationsForAccount
+ Amazonka.Budgets.DescribeBudgetNotificationsForAccount: newDescribeBudgetNotificationsForAccountResponse :: Int -> DescribeBudgetNotificationsForAccountResponse
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: DescribeBudgetPerformanceHistory' :: Maybe Natural -> Maybe Text -> Maybe TimePeriod -> Text -> Text -> DescribeBudgetPerformanceHistory
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: DescribeBudgetPerformanceHistoryResponse' :: Maybe BudgetPerformanceHistory -> Maybe Text -> Int -> DescribeBudgetPerformanceHistoryResponse
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: [$sel:accountId:DescribeBudgetPerformanceHistory'] :: DescribeBudgetPerformanceHistory -> Text
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: [$sel:budgetName:DescribeBudgetPerformanceHistory'] :: DescribeBudgetPerformanceHistory -> Text
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: [$sel:budgetPerformanceHistory:DescribeBudgetPerformanceHistoryResponse'] :: DescribeBudgetPerformanceHistoryResponse -> Maybe BudgetPerformanceHistory
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: [$sel:httpStatus:DescribeBudgetPerformanceHistoryResponse'] :: DescribeBudgetPerformanceHistoryResponse -> Int
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: [$sel:maxResults:DescribeBudgetPerformanceHistory'] :: DescribeBudgetPerformanceHistory -> Maybe Natural
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: [$sel:nextToken:DescribeBudgetPerformanceHistory'] :: DescribeBudgetPerformanceHistory -> Maybe Text
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: [$sel:nextToken:DescribeBudgetPerformanceHistoryResponse'] :: DescribeBudgetPerformanceHistoryResponse -> Maybe Text
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: [$sel:timePeriod:DescribeBudgetPerformanceHistory'] :: DescribeBudgetPerformanceHistory -> Maybe TimePeriod
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: data DescribeBudgetPerformanceHistory
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: data DescribeBudgetPerformanceHistoryResponse
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: describeBudgetPerformanceHistoryResponse_budgetPerformanceHistory :: Lens' DescribeBudgetPerformanceHistoryResponse (Maybe BudgetPerformanceHistory)
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: describeBudgetPerformanceHistoryResponse_httpStatus :: Lens' DescribeBudgetPerformanceHistoryResponse Int
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: describeBudgetPerformanceHistoryResponse_nextToken :: Lens' DescribeBudgetPerformanceHistoryResponse (Maybe Text)
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: describeBudgetPerformanceHistory_accountId :: Lens' DescribeBudgetPerformanceHistory Text
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: describeBudgetPerformanceHistory_budgetName :: Lens' DescribeBudgetPerformanceHistory Text
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: describeBudgetPerformanceHistory_maxResults :: Lens' DescribeBudgetPerformanceHistory (Maybe Natural)
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: describeBudgetPerformanceHistory_nextToken :: Lens' DescribeBudgetPerformanceHistory (Maybe Text)
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: describeBudgetPerformanceHistory_timePeriod :: Lens' DescribeBudgetPerformanceHistory (Maybe TimePeriod)
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: instance Amazonka.Data.Headers.ToHeaders Amazonka.Budgets.DescribeBudgetPerformanceHistory.DescribeBudgetPerformanceHistory
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: instance Amazonka.Data.Path.ToPath Amazonka.Budgets.DescribeBudgetPerformanceHistory.DescribeBudgetPerformanceHistory
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.DescribeBudgetPerformanceHistory.DescribeBudgetPerformanceHistory
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: instance Amazonka.Pager.AWSPager Amazonka.Budgets.DescribeBudgetPerformanceHistory.DescribeBudgetPerformanceHistory
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: instance Amazonka.Types.AWSRequest Amazonka.Budgets.DescribeBudgetPerformanceHistory.DescribeBudgetPerformanceHistory
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: instance Control.DeepSeq.NFData Amazonka.Budgets.DescribeBudgetPerformanceHistory.DescribeBudgetPerformanceHistory
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: instance Control.DeepSeq.NFData Amazonka.Budgets.DescribeBudgetPerformanceHistory.DescribeBudgetPerformanceHistoryResponse
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.DescribeBudgetPerformanceHistory.DescribeBudgetPerformanceHistory
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: instance Data.Hashable.Class.Hashable Amazonka.Budgets.DescribeBudgetPerformanceHistory.DescribeBudgetPerformanceHistory
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: instance GHC.Classes.Eq Amazonka.Budgets.DescribeBudgetPerformanceHistory.DescribeBudgetPerformanceHistory
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: instance GHC.Classes.Eq Amazonka.Budgets.DescribeBudgetPerformanceHistory.DescribeBudgetPerformanceHistoryResponse
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: instance GHC.Generics.Generic Amazonka.Budgets.DescribeBudgetPerformanceHistory.DescribeBudgetPerformanceHistory
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: instance GHC.Generics.Generic Amazonka.Budgets.DescribeBudgetPerformanceHistory.DescribeBudgetPerformanceHistoryResponse
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: instance GHC.Read.Read Amazonka.Budgets.DescribeBudgetPerformanceHistory.DescribeBudgetPerformanceHistory
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: instance GHC.Read.Read Amazonka.Budgets.DescribeBudgetPerformanceHistory.DescribeBudgetPerformanceHistoryResponse
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: instance GHC.Show.Show Amazonka.Budgets.DescribeBudgetPerformanceHistory.DescribeBudgetPerformanceHistory
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: instance GHC.Show.Show Amazonka.Budgets.DescribeBudgetPerformanceHistory.DescribeBudgetPerformanceHistoryResponse
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: newDescribeBudgetPerformanceHistory :: Text -> Text -> DescribeBudgetPerformanceHistory
+ Amazonka.Budgets.DescribeBudgetPerformanceHistory: newDescribeBudgetPerformanceHistoryResponse :: Int -> DescribeBudgetPerformanceHistoryResponse
+ Amazonka.Budgets.DescribeBudgets: DescribeBudgets' :: Maybe Natural -> Maybe Text -> Text -> DescribeBudgets
+ Amazonka.Budgets.DescribeBudgets: DescribeBudgetsResponse' :: Maybe [Budget] -> Maybe Text -> Int -> DescribeBudgetsResponse
+ Amazonka.Budgets.DescribeBudgets: [$sel:accountId:DescribeBudgets'] :: DescribeBudgets -> Text
+ Amazonka.Budgets.DescribeBudgets: [$sel:budgets:DescribeBudgetsResponse'] :: DescribeBudgetsResponse -> Maybe [Budget]
+ Amazonka.Budgets.DescribeBudgets: [$sel:httpStatus:DescribeBudgetsResponse'] :: DescribeBudgetsResponse -> Int
+ Amazonka.Budgets.DescribeBudgets: [$sel:maxResults:DescribeBudgets'] :: DescribeBudgets -> Maybe Natural
+ Amazonka.Budgets.DescribeBudgets: [$sel:nextToken:DescribeBudgets'] :: DescribeBudgets -> Maybe Text
+ Amazonka.Budgets.DescribeBudgets: [$sel:nextToken:DescribeBudgetsResponse'] :: DescribeBudgetsResponse -> Maybe Text
+ Amazonka.Budgets.DescribeBudgets: data DescribeBudgets
+ Amazonka.Budgets.DescribeBudgets: data DescribeBudgetsResponse
+ Amazonka.Budgets.DescribeBudgets: describeBudgetsResponse_budgets :: Lens' DescribeBudgetsResponse (Maybe [Budget])
+ Amazonka.Budgets.DescribeBudgets: describeBudgetsResponse_httpStatus :: Lens' DescribeBudgetsResponse Int
+ Amazonka.Budgets.DescribeBudgets: describeBudgetsResponse_nextToken :: Lens' DescribeBudgetsResponse (Maybe Text)
+ Amazonka.Budgets.DescribeBudgets: describeBudgets_accountId :: Lens' DescribeBudgets Text
+ Amazonka.Budgets.DescribeBudgets: describeBudgets_maxResults :: Lens' DescribeBudgets (Maybe Natural)
+ Amazonka.Budgets.DescribeBudgets: describeBudgets_nextToken :: Lens' DescribeBudgets (Maybe Text)
+ Amazonka.Budgets.DescribeBudgets: instance Amazonka.Data.Headers.ToHeaders Amazonka.Budgets.DescribeBudgets.DescribeBudgets
+ Amazonka.Budgets.DescribeBudgets: instance Amazonka.Data.Path.ToPath Amazonka.Budgets.DescribeBudgets.DescribeBudgets
+ Amazonka.Budgets.DescribeBudgets: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.DescribeBudgets.DescribeBudgets
+ Amazonka.Budgets.DescribeBudgets: instance Amazonka.Pager.AWSPager Amazonka.Budgets.DescribeBudgets.DescribeBudgets
+ Amazonka.Budgets.DescribeBudgets: instance Amazonka.Types.AWSRequest Amazonka.Budgets.DescribeBudgets.DescribeBudgets
+ Amazonka.Budgets.DescribeBudgets: instance Control.DeepSeq.NFData Amazonka.Budgets.DescribeBudgets.DescribeBudgets
+ Amazonka.Budgets.DescribeBudgets: instance Control.DeepSeq.NFData Amazonka.Budgets.DescribeBudgets.DescribeBudgetsResponse
+ Amazonka.Budgets.DescribeBudgets: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.DescribeBudgets.DescribeBudgets
+ Amazonka.Budgets.DescribeBudgets: instance Data.Hashable.Class.Hashable Amazonka.Budgets.DescribeBudgets.DescribeBudgets
+ Amazonka.Budgets.DescribeBudgets: instance GHC.Classes.Eq Amazonka.Budgets.DescribeBudgets.DescribeBudgets
+ Amazonka.Budgets.DescribeBudgets: instance GHC.Classes.Eq Amazonka.Budgets.DescribeBudgets.DescribeBudgetsResponse
+ Amazonka.Budgets.DescribeBudgets: instance GHC.Generics.Generic Amazonka.Budgets.DescribeBudgets.DescribeBudgets
+ Amazonka.Budgets.DescribeBudgets: instance GHC.Generics.Generic Amazonka.Budgets.DescribeBudgets.DescribeBudgetsResponse
+ Amazonka.Budgets.DescribeBudgets: instance GHC.Read.Read Amazonka.Budgets.DescribeBudgets.DescribeBudgets
+ Amazonka.Budgets.DescribeBudgets: instance GHC.Read.Read Amazonka.Budgets.DescribeBudgets.DescribeBudgetsResponse
+ Amazonka.Budgets.DescribeBudgets: instance GHC.Show.Show Amazonka.Budgets.DescribeBudgets.DescribeBudgets
+ Amazonka.Budgets.DescribeBudgets: instance GHC.Show.Show Amazonka.Budgets.DescribeBudgets.DescribeBudgetsResponse
+ Amazonka.Budgets.DescribeBudgets: newDescribeBudgets :: Text -> DescribeBudgets
+ Amazonka.Budgets.DescribeBudgets: newDescribeBudgetsResponse :: Int -> DescribeBudgetsResponse
+ Amazonka.Budgets.DescribeNotificationsForBudget: DescribeNotificationsForBudget' :: Maybe Natural -> Maybe Text -> Text -> Text -> DescribeNotificationsForBudget
+ Amazonka.Budgets.DescribeNotificationsForBudget: DescribeNotificationsForBudgetResponse' :: Maybe Text -> Maybe [Notification] -> Int -> DescribeNotificationsForBudgetResponse
+ Amazonka.Budgets.DescribeNotificationsForBudget: [$sel:accountId:DescribeNotificationsForBudget'] :: DescribeNotificationsForBudget -> Text
+ Amazonka.Budgets.DescribeNotificationsForBudget: [$sel:budgetName:DescribeNotificationsForBudget'] :: DescribeNotificationsForBudget -> Text
+ Amazonka.Budgets.DescribeNotificationsForBudget: [$sel:httpStatus:DescribeNotificationsForBudgetResponse'] :: DescribeNotificationsForBudgetResponse -> Int
+ Amazonka.Budgets.DescribeNotificationsForBudget: [$sel:maxResults:DescribeNotificationsForBudget'] :: DescribeNotificationsForBudget -> Maybe Natural
+ Amazonka.Budgets.DescribeNotificationsForBudget: [$sel:nextToken:DescribeNotificationsForBudget'] :: DescribeNotificationsForBudget -> Maybe Text
+ Amazonka.Budgets.DescribeNotificationsForBudget: [$sel:nextToken:DescribeNotificationsForBudgetResponse'] :: DescribeNotificationsForBudgetResponse -> Maybe Text
+ Amazonka.Budgets.DescribeNotificationsForBudget: [$sel:notifications:DescribeNotificationsForBudgetResponse'] :: DescribeNotificationsForBudgetResponse -> Maybe [Notification]
+ Amazonka.Budgets.DescribeNotificationsForBudget: data DescribeNotificationsForBudget
+ Amazonka.Budgets.DescribeNotificationsForBudget: data DescribeNotificationsForBudgetResponse
+ Amazonka.Budgets.DescribeNotificationsForBudget: describeNotificationsForBudgetResponse_httpStatus :: Lens' DescribeNotificationsForBudgetResponse Int
+ Amazonka.Budgets.DescribeNotificationsForBudget: describeNotificationsForBudgetResponse_nextToken :: Lens' DescribeNotificationsForBudgetResponse (Maybe Text)
+ Amazonka.Budgets.DescribeNotificationsForBudget: describeNotificationsForBudgetResponse_notifications :: Lens' DescribeNotificationsForBudgetResponse (Maybe [Notification])
+ Amazonka.Budgets.DescribeNotificationsForBudget: describeNotificationsForBudget_accountId :: Lens' DescribeNotificationsForBudget Text
+ Amazonka.Budgets.DescribeNotificationsForBudget: describeNotificationsForBudget_budgetName :: Lens' DescribeNotificationsForBudget Text
+ Amazonka.Budgets.DescribeNotificationsForBudget: describeNotificationsForBudget_maxResults :: Lens' DescribeNotificationsForBudget (Maybe Natural)
+ Amazonka.Budgets.DescribeNotificationsForBudget: describeNotificationsForBudget_nextToken :: Lens' DescribeNotificationsForBudget (Maybe Text)
+ Amazonka.Budgets.DescribeNotificationsForBudget: instance Amazonka.Data.Headers.ToHeaders Amazonka.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudget
+ Amazonka.Budgets.DescribeNotificationsForBudget: instance Amazonka.Data.Path.ToPath Amazonka.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudget
+ Amazonka.Budgets.DescribeNotificationsForBudget: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudget
+ Amazonka.Budgets.DescribeNotificationsForBudget: instance Amazonka.Pager.AWSPager Amazonka.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudget
+ Amazonka.Budgets.DescribeNotificationsForBudget: instance Amazonka.Types.AWSRequest Amazonka.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudget
+ Amazonka.Budgets.DescribeNotificationsForBudget: instance Control.DeepSeq.NFData Amazonka.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudget
+ Amazonka.Budgets.DescribeNotificationsForBudget: instance Control.DeepSeq.NFData Amazonka.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudgetResponse
+ Amazonka.Budgets.DescribeNotificationsForBudget: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudget
+ Amazonka.Budgets.DescribeNotificationsForBudget: instance Data.Hashable.Class.Hashable Amazonka.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudget
+ Amazonka.Budgets.DescribeNotificationsForBudget: instance GHC.Classes.Eq Amazonka.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudget
+ Amazonka.Budgets.DescribeNotificationsForBudget: instance GHC.Classes.Eq Amazonka.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudgetResponse
+ Amazonka.Budgets.DescribeNotificationsForBudget: instance GHC.Generics.Generic Amazonka.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudget
+ Amazonka.Budgets.DescribeNotificationsForBudget: instance GHC.Generics.Generic Amazonka.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudgetResponse
+ Amazonka.Budgets.DescribeNotificationsForBudget: instance GHC.Read.Read Amazonka.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudget
+ Amazonka.Budgets.DescribeNotificationsForBudget: instance GHC.Read.Read Amazonka.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudgetResponse
+ Amazonka.Budgets.DescribeNotificationsForBudget: instance GHC.Show.Show Amazonka.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudget
+ Amazonka.Budgets.DescribeNotificationsForBudget: instance GHC.Show.Show Amazonka.Budgets.DescribeNotificationsForBudget.DescribeNotificationsForBudgetResponse
+ Amazonka.Budgets.DescribeNotificationsForBudget: newDescribeNotificationsForBudget :: Text -> Text -> DescribeNotificationsForBudget
+ Amazonka.Budgets.DescribeNotificationsForBudget: newDescribeNotificationsForBudgetResponse :: Int -> DescribeNotificationsForBudgetResponse
+ Amazonka.Budgets.DescribeSubscribersForNotification: DescribeSubscribersForNotification' :: Maybe Natural -> Maybe Text -> Text -> Text -> Notification -> DescribeSubscribersForNotification
+ Amazonka.Budgets.DescribeSubscribersForNotification: DescribeSubscribersForNotificationResponse' :: Maybe Text -> Maybe (NonEmpty Subscriber) -> Int -> DescribeSubscribersForNotificationResponse
+ Amazonka.Budgets.DescribeSubscribersForNotification: [$sel:accountId:DescribeSubscribersForNotification'] :: DescribeSubscribersForNotification -> Text
+ Amazonka.Budgets.DescribeSubscribersForNotification: [$sel:budgetName:DescribeSubscribersForNotification'] :: DescribeSubscribersForNotification -> Text
+ Amazonka.Budgets.DescribeSubscribersForNotification: [$sel:httpStatus:DescribeSubscribersForNotificationResponse'] :: DescribeSubscribersForNotificationResponse -> Int
+ Amazonka.Budgets.DescribeSubscribersForNotification: [$sel:maxResults:DescribeSubscribersForNotification'] :: DescribeSubscribersForNotification -> Maybe Natural
+ Amazonka.Budgets.DescribeSubscribersForNotification: [$sel:nextToken:DescribeSubscribersForNotification'] :: DescribeSubscribersForNotification -> Maybe Text
+ Amazonka.Budgets.DescribeSubscribersForNotification: [$sel:nextToken:DescribeSubscribersForNotificationResponse'] :: DescribeSubscribersForNotificationResponse -> Maybe Text
+ Amazonka.Budgets.DescribeSubscribersForNotification: [$sel:notification:DescribeSubscribersForNotification'] :: DescribeSubscribersForNotification -> Notification
+ Amazonka.Budgets.DescribeSubscribersForNotification: [$sel:subscribers:DescribeSubscribersForNotificationResponse'] :: DescribeSubscribersForNotificationResponse -> Maybe (NonEmpty Subscriber)
+ Amazonka.Budgets.DescribeSubscribersForNotification: data DescribeSubscribersForNotification
+ Amazonka.Budgets.DescribeSubscribersForNotification: data DescribeSubscribersForNotificationResponse
+ Amazonka.Budgets.DescribeSubscribersForNotification: describeSubscribersForNotificationResponse_httpStatus :: Lens' DescribeSubscribersForNotificationResponse Int
+ Amazonka.Budgets.DescribeSubscribersForNotification: describeSubscribersForNotificationResponse_nextToken :: Lens' DescribeSubscribersForNotificationResponse (Maybe Text)
+ Amazonka.Budgets.DescribeSubscribersForNotification: describeSubscribersForNotificationResponse_subscribers :: Lens' DescribeSubscribersForNotificationResponse (Maybe (NonEmpty Subscriber))
+ Amazonka.Budgets.DescribeSubscribersForNotification: describeSubscribersForNotification_accountId :: Lens' DescribeSubscribersForNotification Text
+ Amazonka.Budgets.DescribeSubscribersForNotification: describeSubscribersForNotification_budgetName :: Lens' DescribeSubscribersForNotification Text
+ Amazonka.Budgets.DescribeSubscribersForNotification: describeSubscribersForNotification_maxResults :: Lens' DescribeSubscribersForNotification (Maybe Natural)
+ Amazonka.Budgets.DescribeSubscribersForNotification: describeSubscribersForNotification_nextToken :: Lens' DescribeSubscribersForNotification (Maybe Text)
+ Amazonka.Budgets.DescribeSubscribersForNotification: describeSubscribersForNotification_notification :: Lens' DescribeSubscribersForNotification Notification
+ Amazonka.Budgets.DescribeSubscribersForNotification: instance Amazonka.Data.Headers.ToHeaders Amazonka.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotification
+ Amazonka.Budgets.DescribeSubscribersForNotification: instance Amazonka.Data.Path.ToPath Amazonka.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotification
+ Amazonka.Budgets.DescribeSubscribersForNotification: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotification
+ Amazonka.Budgets.DescribeSubscribersForNotification: instance Amazonka.Pager.AWSPager Amazonka.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotification
+ Amazonka.Budgets.DescribeSubscribersForNotification: instance Amazonka.Types.AWSRequest Amazonka.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotification
+ Amazonka.Budgets.DescribeSubscribersForNotification: instance Control.DeepSeq.NFData Amazonka.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotification
+ Amazonka.Budgets.DescribeSubscribersForNotification: instance Control.DeepSeq.NFData Amazonka.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotificationResponse
+ Amazonka.Budgets.DescribeSubscribersForNotification: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotification
+ Amazonka.Budgets.DescribeSubscribersForNotification: instance Data.Hashable.Class.Hashable Amazonka.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotification
+ Amazonka.Budgets.DescribeSubscribersForNotification: instance GHC.Classes.Eq Amazonka.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotification
+ Amazonka.Budgets.DescribeSubscribersForNotification: instance GHC.Classes.Eq Amazonka.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotificationResponse
+ Amazonka.Budgets.DescribeSubscribersForNotification: instance GHC.Generics.Generic Amazonka.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotification
+ Amazonka.Budgets.DescribeSubscribersForNotification: instance GHC.Generics.Generic Amazonka.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotificationResponse
+ Amazonka.Budgets.DescribeSubscribersForNotification: instance GHC.Read.Read Amazonka.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotification
+ Amazonka.Budgets.DescribeSubscribersForNotification: instance GHC.Show.Show Amazonka.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotification
+ Amazonka.Budgets.DescribeSubscribersForNotification: instance GHC.Show.Show Amazonka.Budgets.DescribeSubscribersForNotification.DescribeSubscribersForNotificationResponse
+ Amazonka.Budgets.DescribeSubscribersForNotification: newDescribeSubscribersForNotification :: Text -> Text -> Notification -> DescribeSubscribersForNotification
+ Amazonka.Budgets.DescribeSubscribersForNotification: newDescribeSubscribersForNotificationResponse :: Int -> DescribeSubscribersForNotificationResponse
+ Amazonka.Budgets.ExecuteBudgetAction: ExecuteBudgetAction' :: Text -> Text -> Text -> ExecutionType -> ExecuteBudgetAction
+ Amazonka.Budgets.ExecuteBudgetAction: ExecuteBudgetActionResponse' :: Int -> Text -> Text -> Text -> ExecutionType -> ExecuteBudgetActionResponse
+ Amazonka.Budgets.ExecuteBudgetAction: [$sel:accountId:ExecuteBudgetAction'] :: ExecuteBudgetAction -> Text
+ Amazonka.Budgets.ExecuteBudgetAction: [$sel:accountId:ExecuteBudgetActionResponse'] :: ExecuteBudgetActionResponse -> Text
+ Amazonka.Budgets.ExecuteBudgetAction: [$sel:actionId:ExecuteBudgetAction'] :: ExecuteBudgetAction -> Text
+ Amazonka.Budgets.ExecuteBudgetAction: [$sel:actionId:ExecuteBudgetActionResponse'] :: ExecuteBudgetActionResponse -> Text
+ Amazonka.Budgets.ExecuteBudgetAction: [$sel:budgetName:ExecuteBudgetAction'] :: ExecuteBudgetAction -> Text
+ Amazonka.Budgets.ExecuteBudgetAction: [$sel:budgetName:ExecuteBudgetActionResponse'] :: ExecuteBudgetActionResponse -> Text
+ Amazonka.Budgets.ExecuteBudgetAction: [$sel:executionType:ExecuteBudgetAction'] :: ExecuteBudgetAction -> ExecutionType
+ Amazonka.Budgets.ExecuteBudgetAction: [$sel:executionType:ExecuteBudgetActionResponse'] :: ExecuteBudgetActionResponse -> ExecutionType
+ Amazonka.Budgets.ExecuteBudgetAction: [$sel:httpStatus:ExecuteBudgetActionResponse'] :: ExecuteBudgetActionResponse -> Int
+ Amazonka.Budgets.ExecuteBudgetAction: data ExecuteBudgetAction
+ Amazonka.Budgets.ExecuteBudgetAction: data ExecuteBudgetActionResponse
+ Amazonka.Budgets.ExecuteBudgetAction: executeBudgetActionResponse_accountId :: Lens' ExecuteBudgetActionResponse Text
+ Amazonka.Budgets.ExecuteBudgetAction: executeBudgetActionResponse_actionId :: Lens' ExecuteBudgetActionResponse Text
+ Amazonka.Budgets.ExecuteBudgetAction: executeBudgetActionResponse_budgetName :: Lens' ExecuteBudgetActionResponse Text
+ Amazonka.Budgets.ExecuteBudgetAction: executeBudgetActionResponse_executionType :: Lens' ExecuteBudgetActionResponse ExecutionType
+ Amazonka.Budgets.ExecuteBudgetAction: executeBudgetActionResponse_httpStatus :: Lens' ExecuteBudgetActionResponse Int
+ Amazonka.Budgets.ExecuteBudgetAction: executeBudgetAction_accountId :: Lens' ExecuteBudgetAction Text
+ Amazonka.Budgets.ExecuteBudgetAction: executeBudgetAction_actionId :: Lens' ExecuteBudgetAction Text
+ Amazonka.Budgets.ExecuteBudgetAction: executeBudgetAction_budgetName :: Lens' ExecuteBudgetAction Text
+ Amazonka.Budgets.ExecuteBudgetAction: executeBudgetAction_executionType :: Lens' ExecuteBudgetAction ExecutionType
+ Amazonka.Budgets.ExecuteBudgetAction: instance Amazonka.Data.Headers.ToHeaders Amazonka.Budgets.ExecuteBudgetAction.ExecuteBudgetAction
+ Amazonka.Budgets.ExecuteBudgetAction: instance Amazonka.Data.Path.ToPath Amazonka.Budgets.ExecuteBudgetAction.ExecuteBudgetAction
+ Amazonka.Budgets.ExecuteBudgetAction: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.ExecuteBudgetAction.ExecuteBudgetAction
+ Amazonka.Budgets.ExecuteBudgetAction: instance Amazonka.Types.AWSRequest Amazonka.Budgets.ExecuteBudgetAction.ExecuteBudgetAction
+ Amazonka.Budgets.ExecuteBudgetAction: instance Control.DeepSeq.NFData Amazonka.Budgets.ExecuteBudgetAction.ExecuteBudgetAction
+ Amazonka.Budgets.ExecuteBudgetAction: instance Control.DeepSeq.NFData Amazonka.Budgets.ExecuteBudgetAction.ExecuteBudgetActionResponse
+ Amazonka.Budgets.ExecuteBudgetAction: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.ExecuteBudgetAction.ExecuteBudgetAction
+ Amazonka.Budgets.ExecuteBudgetAction: instance Data.Hashable.Class.Hashable Amazonka.Budgets.ExecuteBudgetAction.ExecuteBudgetAction
+ Amazonka.Budgets.ExecuteBudgetAction: instance GHC.Classes.Eq Amazonka.Budgets.ExecuteBudgetAction.ExecuteBudgetAction
+ Amazonka.Budgets.ExecuteBudgetAction: instance GHC.Classes.Eq Amazonka.Budgets.ExecuteBudgetAction.ExecuteBudgetActionResponse
+ Amazonka.Budgets.ExecuteBudgetAction: instance GHC.Generics.Generic Amazonka.Budgets.ExecuteBudgetAction.ExecuteBudgetAction
+ Amazonka.Budgets.ExecuteBudgetAction: instance GHC.Generics.Generic Amazonka.Budgets.ExecuteBudgetAction.ExecuteBudgetActionResponse
+ Amazonka.Budgets.ExecuteBudgetAction: instance GHC.Read.Read Amazonka.Budgets.ExecuteBudgetAction.ExecuteBudgetAction
+ Amazonka.Budgets.ExecuteBudgetAction: instance GHC.Read.Read Amazonka.Budgets.ExecuteBudgetAction.ExecuteBudgetActionResponse
+ Amazonka.Budgets.ExecuteBudgetAction: instance GHC.Show.Show Amazonka.Budgets.ExecuteBudgetAction.ExecuteBudgetAction
+ Amazonka.Budgets.ExecuteBudgetAction: instance GHC.Show.Show Amazonka.Budgets.ExecuteBudgetAction.ExecuteBudgetActionResponse
+ Amazonka.Budgets.ExecuteBudgetAction: newExecuteBudgetAction :: Text -> Text -> Text -> ExecutionType -> ExecuteBudgetAction
+ Amazonka.Budgets.ExecuteBudgetAction: newExecuteBudgetActionResponse :: Int -> Text -> Text -> Text -> ExecutionType -> ExecuteBudgetActionResponse
+ Amazonka.Budgets.Lens: actionHistoryDetails_action :: Lens' ActionHistoryDetails Action
+ Amazonka.Budgets.Lens: actionHistoryDetails_message :: Lens' ActionHistoryDetails Text
+ Amazonka.Budgets.Lens: actionHistory_actionHistoryDetails :: Lens' ActionHistory ActionHistoryDetails
+ Amazonka.Budgets.Lens: actionHistory_eventType :: Lens' ActionHistory EventType
+ Amazonka.Budgets.Lens: actionHistory_status :: Lens' ActionHistory ActionStatus
+ Amazonka.Budgets.Lens: actionHistory_timestamp :: Lens' ActionHistory UTCTime
+ Amazonka.Budgets.Lens: actionThreshold_actionThresholdType :: Lens' ActionThreshold ThresholdType
+ Amazonka.Budgets.Lens: actionThreshold_actionThresholdValue :: Lens' ActionThreshold Double
+ Amazonka.Budgets.Lens: action_actionId :: Lens' Action Text
+ Amazonka.Budgets.Lens: action_actionThreshold :: Lens' Action ActionThreshold
+ Amazonka.Budgets.Lens: action_actionType :: Lens' Action ActionType
+ Amazonka.Budgets.Lens: action_approvalModel :: Lens' Action ApprovalModel
+ Amazonka.Budgets.Lens: action_budgetName :: Lens' Action Text
+ Amazonka.Budgets.Lens: action_definition :: Lens' Action Definition
+ Amazonka.Budgets.Lens: action_executionRoleArn :: Lens' Action Text
+ Amazonka.Budgets.Lens: action_notificationType :: Lens' Action NotificationType
+ Amazonka.Budgets.Lens: action_status :: Lens' Action ActionStatus
+ Amazonka.Budgets.Lens: action_subscribers :: Lens' Action (NonEmpty Subscriber)
+ Amazonka.Budgets.Lens: autoAdjustData_autoAdjustType :: Lens' AutoAdjustData AutoAdjustType
+ Amazonka.Budgets.Lens: autoAdjustData_historicalOptions :: Lens' AutoAdjustData (Maybe HistoricalOptions)
+ Amazonka.Budgets.Lens: autoAdjustData_lastAutoAdjustTime :: Lens' AutoAdjustData (Maybe UTCTime)
+ Amazonka.Budgets.Lens: budgetNotificationsForAccount_budgetName :: Lens' BudgetNotificationsForAccount (Maybe Text)
+ Amazonka.Budgets.Lens: budgetNotificationsForAccount_notifications :: Lens' BudgetNotificationsForAccount (Maybe [Notification])
+ Amazonka.Budgets.Lens: budgetPerformanceHistory_budgetName :: Lens' BudgetPerformanceHistory (Maybe Text)
+ Amazonka.Budgets.Lens: budgetPerformanceHistory_budgetType :: Lens' BudgetPerformanceHistory (Maybe BudgetType)
+ Amazonka.Budgets.Lens: budgetPerformanceHistory_budgetedAndActualAmountsList :: Lens' BudgetPerformanceHistory (Maybe [BudgetedAndActualAmounts])
+ Amazonka.Budgets.Lens: budgetPerformanceHistory_costFilters :: Lens' BudgetPerformanceHistory (Maybe (HashMap Text [Text]))
+ Amazonka.Budgets.Lens: budgetPerformanceHistory_costTypes :: Lens' BudgetPerformanceHistory (Maybe CostTypes)
+ Amazonka.Budgets.Lens: budgetPerformanceHistory_timeUnit :: Lens' BudgetPerformanceHistory (Maybe TimeUnit)
+ Amazonka.Budgets.Lens: budget_autoAdjustData :: Lens' Budget (Maybe AutoAdjustData)
+ Amazonka.Budgets.Lens: budget_budgetLimit :: Lens' Budget (Maybe Spend)
+ Amazonka.Budgets.Lens: budget_budgetName :: Lens' Budget Text
+ Amazonka.Budgets.Lens: budget_budgetType :: Lens' Budget BudgetType
+ Amazonka.Budgets.Lens: budget_calculatedSpend :: Lens' Budget (Maybe CalculatedSpend)
+ Amazonka.Budgets.Lens: budget_costFilters :: Lens' Budget (Maybe (HashMap Text [Text]))
+ Amazonka.Budgets.Lens: budget_costTypes :: Lens' Budget (Maybe CostTypes)
+ Amazonka.Budgets.Lens: budget_lastUpdatedTime :: Lens' Budget (Maybe UTCTime)
+ Amazonka.Budgets.Lens: budget_plannedBudgetLimits :: Lens' Budget (Maybe (HashMap Text Spend))
+ Amazonka.Budgets.Lens: budget_timePeriod :: Lens' Budget (Maybe TimePeriod)
+ Amazonka.Budgets.Lens: budget_timeUnit :: Lens' Budget TimeUnit
+ Amazonka.Budgets.Lens: budgetedAndActualAmounts_actualAmount :: Lens' BudgetedAndActualAmounts (Maybe Spend)
+ Amazonka.Budgets.Lens: budgetedAndActualAmounts_budgetedAmount :: Lens' BudgetedAndActualAmounts (Maybe Spend)
+ Amazonka.Budgets.Lens: budgetedAndActualAmounts_timePeriod :: Lens' BudgetedAndActualAmounts (Maybe TimePeriod)
+ Amazonka.Budgets.Lens: calculatedSpend_actualSpend :: Lens' CalculatedSpend Spend
+ Amazonka.Budgets.Lens: calculatedSpend_forecastedSpend :: Lens' CalculatedSpend (Maybe Spend)
+ Amazonka.Budgets.Lens: costTypes_includeCredit :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Lens: costTypes_includeDiscount :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Lens: costTypes_includeOtherSubscription :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Lens: costTypes_includeRecurring :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Lens: costTypes_includeRefund :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Lens: costTypes_includeSubscription :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Lens: costTypes_includeSupport :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Lens: costTypes_includeTax :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Lens: costTypes_includeUpfront :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Lens: costTypes_useAmortized :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Lens: costTypes_useBlended :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Lens: createBudgetActionResponse_accountId :: Lens' CreateBudgetActionResponse Text
+ Amazonka.Budgets.Lens: createBudgetActionResponse_actionId :: Lens' CreateBudgetActionResponse Text
+ Amazonka.Budgets.Lens: createBudgetActionResponse_budgetName :: Lens' CreateBudgetActionResponse Text
+ Amazonka.Budgets.Lens: createBudgetActionResponse_httpStatus :: Lens' CreateBudgetActionResponse Int
+ Amazonka.Budgets.Lens: createBudgetAction_accountId :: Lens' CreateBudgetAction Text
+ Amazonka.Budgets.Lens: createBudgetAction_actionThreshold :: Lens' CreateBudgetAction ActionThreshold
+ Amazonka.Budgets.Lens: createBudgetAction_actionType :: Lens' CreateBudgetAction ActionType
+ Amazonka.Budgets.Lens: createBudgetAction_approvalModel :: Lens' CreateBudgetAction ApprovalModel
+ Amazonka.Budgets.Lens: createBudgetAction_budgetName :: Lens' CreateBudgetAction Text
+ Amazonka.Budgets.Lens: createBudgetAction_definition :: Lens' CreateBudgetAction Definition
+ Amazonka.Budgets.Lens: createBudgetAction_executionRoleArn :: Lens' CreateBudgetAction Text
+ Amazonka.Budgets.Lens: createBudgetAction_notificationType :: Lens' CreateBudgetAction NotificationType
+ Amazonka.Budgets.Lens: createBudgetAction_subscribers :: Lens' CreateBudgetAction (NonEmpty Subscriber)
+ Amazonka.Budgets.Lens: createBudgetResponse_httpStatus :: Lens' CreateBudgetResponse Int
+ Amazonka.Budgets.Lens: createBudget_accountId :: Lens' CreateBudget Text
+ Amazonka.Budgets.Lens: createBudget_budget :: Lens' CreateBudget Budget
+ Amazonka.Budgets.Lens: createBudget_notificationsWithSubscribers :: Lens' CreateBudget (Maybe [NotificationWithSubscribers])
+ Amazonka.Budgets.Lens: createNotificationResponse_httpStatus :: Lens' CreateNotificationResponse Int
+ Amazonka.Budgets.Lens: createNotification_accountId :: Lens' CreateNotification Text
+ Amazonka.Budgets.Lens: createNotification_budgetName :: Lens' CreateNotification Text
+ Amazonka.Budgets.Lens: createNotification_notification :: Lens' CreateNotification Notification
+ Amazonka.Budgets.Lens: createNotification_subscribers :: Lens' CreateNotification (NonEmpty Subscriber)
+ Amazonka.Budgets.Lens: createSubscriberResponse_httpStatus :: Lens' CreateSubscriberResponse Int
+ Amazonka.Budgets.Lens: createSubscriber_accountId :: Lens' CreateSubscriber Text
+ Amazonka.Budgets.Lens: createSubscriber_budgetName :: Lens' CreateSubscriber Text
+ Amazonka.Budgets.Lens: createSubscriber_notification :: Lens' CreateSubscriber Notification
+ Amazonka.Budgets.Lens: createSubscriber_subscriber :: Lens' CreateSubscriber Subscriber
+ Amazonka.Budgets.Lens: definition_iamActionDefinition :: Lens' Definition (Maybe IamActionDefinition)
+ Amazonka.Budgets.Lens: definition_scpActionDefinition :: Lens' Definition (Maybe ScpActionDefinition)
+ Amazonka.Budgets.Lens: definition_ssmActionDefinition :: Lens' Definition (Maybe SsmActionDefinition)
+ Amazonka.Budgets.Lens: deleteBudgetActionResponse_accountId :: Lens' DeleteBudgetActionResponse Text
+ Amazonka.Budgets.Lens: deleteBudgetActionResponse_action :: Lens' DeleteBudgetActionResponse Action
+ Amazonka.Budgets.Lens: deleteBudgetActionResponse_budgetName :: Lens' DeleteBudgetActionResponse Text
+ Amazonka.Budgets.Lens: deleteBudgetActionResponse_httpStatus :: Lens' DeleteBudgetActionResponse Int
+ Amazonka.Budgets.Lens: deleteBudgetAction_accountId :: Lens' DeleteBudgetAction Text
+ Amazonka.Budgets.Lens: deleteBudgetAction_actionId :: Lens' DeleteBudgetAction Text
+ Amazonka.Budgets.Lens: deleteBudgetAction_budgetName :: Lens' DeleteBudgetAction Text
+ Amazonka.Budgets.Lens: deleteBudgetResponse_httpStatus :: Lens' DeleteBudgetResponse Int
+ Amazonka.Budgets.Lens: deleteBudget_accountId :: Lens' DeleteBudget Text
+ Amazonka.Budgets.Lens: deleteBudget_budgetName :: Lens' DeleteBudget Text
+ Amazonka.Budgets.Lens: deleteNotificationResponse_httpStatus :: Lens' DeleteNotificationResponse Int
+ Amazonka.Budgets.Lens: deleteNotification_accountId :: Lens' DeleteNotification Text
+ Amazonka.Budgets.Lens: deleteNotification_budgetName :: Lens' DeleteNotification Text
+ Amazonka.Budgets.Lens: deleteNotification_notification :: Lens' DeleteNotification Notification
+ Amazonka.Budgets.Lens: deleteSubscriberResponse_httpStatus :: Lens' DeleteSubscriberResponse Int
+ Amazonka.Budgets.Lens: deleteSubscriber_accountId :: Lens' DeleteSubscriber Text
+ Amazonka.Budgets.Lens: deleteSubscriber_budgetName :: Lens' DeleteSubscriber Text
+ Amazonka.Budgets.Lens: deleteSubscriber_notification :: Lens' DeleteSubscriber Notification
+ Amazonka.Budgets.Lens: deleteSubscriber_subscriber :: Lens' DeleteSubscriber Subscriber
+ Amazonka.Budgets.Lens: describeBudgetActionHistoriesResponse_actionHistories :: Lens' DescribeBudgetActionHistoriesResponse [ActionHistory]
+ Amazonka.Budgets.Lens: describeBudgetActionHistoriesResponse_httpStatus :: Lens' DescribeBudgetActionHistoriesResponse Int
+ Amazonka.Budgets.Lens: describeBudgetActionHistoriesResponse_nextToken :: Lens' DescribeBudgetActionHistoriesResponse (Maybe Text)
+ Amazonka.Budgets.Lens: describeBudgetActionHistories_accountId :: Lens' DescribeBudgetActionHistories Text
+ Amazonka.Budgets.Lens: describeBudgetActionHistories_actionId :: Lens' DescribeBudgetActionHistories Text
+ Amazonka.Budgets.Lens: describeBudgetActionHistories_budgetName :: Lens' DescribeBudgetActionHistories Text
+ Amazonka.Budgets.Lens: describeBudgetActionHistories_maxResults :: Lens' DescribeBudgetActionHistories (Maybe Natural)
+ Amazonka.Budgets.Lens: describeBudgetActionHistories_nextToken :: Lens' DescribeBudgetActionHistories (Maybe Text)
+ Amazonka.Budgets.Lens: describeBudgetActionHistories_timePeriod :: Lens' DescribeBudgetActionHistories (Maybe TimePeriod)
+ Amazonka.Budgets.Lens: describeBudgetActionResponse_accountId :: Lens' DescribeBudgetActionResponse Text
+ Amazonka.Budgets.Lens: describeBudgetActionResponse_action :: Lens' DescribeBudgetActionResponse Action
+ Amazonka.Budgets.Lens: describeBudgetActionResponse_budgetName :: Lens' DescribeBudgetActionResponse Text
+ Amazonka.Budgets.Lens: describeBudgetActionResponse_httpStatus :: Lens' DescribeBudgetActionResponse Int
+ Amazonka.Budgets.Lens: describeBudgetAction_accountId :: Lens' DescribeBudgetAction Text
+ Amazonka.Budgets.Lens: describeBudgetAction_actionId :: Lens' DescribeBudgetAction Text
+ Amazonka.Budgets.Lens: describeBudgetAction_budgetName :: Lens' DescribeBudgetAction Text
+ Amazonka.Budgets.Lens: describeBudgetActionsForAccountResponse_actions :: Lens' DescribeBudgetActionsForAccountResponse [Action]
+ Amazonka.Budgets.Lens: describeBudgetActionsForAccountResponse_httpStatus :: Lens' DescribeBudgetActionsForAccountResponse Int
+ Amazonka.Budgets.Lens: describeBudgetActionsForAccountResponse_nextToken :: Lens' DescribeBudgetActionsForAccountResponse (Maybe Text)
+ Amazonka.Budgets.Lens: describeBudgetActionsForAccount_accountId :: Lens' DescribeBudgetActionsForAccount Text
+ Amazonka.Budgets.Lens: describeBudgetActionsForAccount_maxResults :: Lens' DescribeBudgetActionsForAccount (Maybe Natural)
+ Amazonka.Budgets.Lens: describeBudgetActionsForAccount_nextToken :: Lens' DescribeBudgetActionsForAccount (Maybe Text)
+ Amazonka.Budgets.Lens: describeBudgetActionsForBudgetResponse_actions :: Lens' DescribeBudgetActionsForBudgetResponse [Action]
+ Amazonka.Budgets.Lens: describeBudgetActionsForBudgetResponse_httpStatus :: Lens' DescribeBudgetActionsForBudgetResponse Int
+ Amazonka.Budgets.Lens: describeBudgetActionsForBudgetResponse_nextToken :: Lens' DescribeBudgetActionsForBudgetResponse (Maybe Text)
+ Amazonka.Budgets.Lens: describeBudgetActionsForBudget_accountId :: Lens' DescribeBudgetActionsForBudget Text
+ Amazonka.Budgets.Lens: describeBudgetActionsForBudget_budgetName :: Lens' DescribeBudgetActionsForBudget Text
+ Amazonka.Budgets.Lens: describeBudgetActionsForBudget_maxResults :: Lens' DescribeBudgetActionsForBudget (Maybe Natural)
+ Amazonka.Budgets.Lens: describeBudgetActionsForBudget_nextToken :: Lens' DescribeBudgetActionsForBudget (Maybe Text)
+ Amazonka.Budgets.Lens: describeBudgetNotificationsForAccountResponse_budgetNotificationsForAccount :: Lens' DescribeBudgetNotificationsForAccountResponse (Maybe [BudgetNotificationsForAccount])
+ Amazonka.Budgets.Lens: describeBudgetNotificationsForAccountResponse_httpStatus :: Lens' DescribeBudgetNotificationsForAccountResponse Int
+ Amazonka.Budgets.Lens: describeBudgetNotificationsForAccountResponse_nextToken :: Lens' DescribeBudgetNotificationsForAccountResponse (Maybe Text)
+ Amazonka.Budgets.Lens: describeBudgetNotificationsForAccount_accountId :: Lens' DescribeBudgetNotificationsForAccount Text
+ Amazonka.Budgets.Lens: describeBudgetNotificationsForAccount_maxResults :: Lens' DescribeBudgetNotificationsForAccount (Maybe Natural)
+ Amazonka.Budgets.Lens: describeBudgetNotificationsForAccount_nextToken :: Lens' DescribeBudgetNotificationsForAccount (Maybe Text)
+ Amazonka.Budgets.Lens: describeBudgetPerformanceHistoryResponse_budgetPerformanceHistory :: Lens' DescribeBudgetPerformanceHistoryResponse (Maybe BudgetPerformanceHistory)
+ Amazonka.Budgets.Lens: describeBudgetPerformanceHistoryResponse_httpStatus :: Lens' DescribeBudgetPerformanceHistoryResponse Int
+ Amazonka.Budgets.Lens: describeBudgetPerformanceHistoryResponse_nextToken :: Lens' DescribeBudgetPerformanceHistoryResponse (Maybe Text)
+ Amazonka.Budgets.Lens: describeBudgetPerformanceHistory_accountId :: Lens' DescribeBudgetPerformanceHistory Text
+ Amazonka.Budgets.Lens: describeBudgetPerformanceHistory_budgetName :: Lens' DescribeBudgetPerformanceHistory Text
+ Amazonka.Budgets.Lens: describeBudgetPerformanceHistory_maxResults :: Lens' DescribeBudgetPerformanceHistory (Maybe Natural)
+ Amazonka.Budgets.Lens: describeBudgetPerformanceHistory_nextToken :: Lens' DescribeBudgetPerformanceHistory (Maybe Text)
+ Amazonka.Budgets.Lens: describeBudgetPerformanceHistory_timePeriod :: Lens' DescribeBudgetPerformanceHistory (Maybe TimePeriod)
+ Amazonka.Budgets.Lens: describeBudgetResponse_budget :: Lens' DescribeBudgetResponse (Maybe Budget)
+ Amazonka.Budgets.Lens: describeBudgetResponse_httpStatus :: Lens' DescribeBudgetResponse Int
+ Amazonka.Budgets.Lens: describeBudget_accountId :: Lens' DescribeBudget Text
+ Amazonka.Budgets.Lens: describeBudget_budgetName :: Lens' DescribeBudget Text
+ Amazonka.Budgets.Lens: describeBudgetsResponse_budgets :: Lens' DescribeBudgetsResponse (Maybe [Budget])
+ Amazonka.Budgets.Lens: describeBudgetsResponse_httpStatus :: Lens' DescribeBudgetsResponse Int
+ Amazonka.Budgets.Lens: describeBudgetsResponse_nextToken :: Lens' DescribeBudgetsResponse (Maybe Text)
+ Amazonka.Budgets.Lens: describeBudgets_accountId :: Lens' DescribeBudgets Text
+ Amazonka.Budgets.Lens: describeBudgets_maxResults :: Lens' DescribeBudgets (Maybe Natural)
+ Amazonka.Budgets.Lens: describeBudgets_nextToken :: Lens' DescribeBudgets (Maybe Text)
+ Amazonka.Budgets.Lens: describeNotificationsForBudgetResponse_httpStatus :: Lens' DescribeNotificationsForBudgetResponse Int
+ Amazonka.Budgets.Lens: describeNotificationsForBudgetResponse_nextToken :: Lens' DescribeNotificationsForBudgetResponse (Maybe Text)
+ Amazonka.Budgets.Lens: describeNotificationsForBudgetResponse_notifications :: Lens' DescribeNotificationsForBudgetResponse (Maybe [Notification])
+ Amazonka.Budgets.Lens: describeNotificationsForBudget_accountId :: Lens' DescribeNotificationsForBudget Text
+ Amazonka.Budgets.Lens: describeNotificationsForBudget_budgetName :: Lens' DescribeNotificationsForBudget Text
+ Amazonka.Budgets.Lens: describeNotificationsForBudget_maxResults :: Lens' DescribeNotificationsForBudget (Maybe Natural)
+ Amazonka.Budgets.Lens: describeNotificationsForBudget_nextToken :: Lens' DescribeNotificationsForBudget (Maybe Text)
+ Amazonka.Budgets.Lens: describeSubscribersForNotificationResponse_httpStatus :: Lens' DescribeSubscribersForNotificationResponse Int
+ Amazonka.Budgets.Lens: describeSubscribersForNotificationResponse_nextToken :: Lens' DescribeSubscribersForNotificationResponse (Maybe Text)
+ Amazonka.Budgets.Lens: describeSubscribersForNotificationResponse_subscribers :: Lens' DescribeSubscribersForNotificationResponse (Maybe (NonEmpty Subscriber))
+ Amazonka.Budgets.Lens: describeSubscribersForNotification_accountId :: Lens' DescribeSubscribersForNotification Text
+ Amazonka.Budgets.Lens: describeSubscribersForNotification_budgetName :: Lens' DescribeSubscribersForNotification Text
+ Amazonka.Budgets.Lens: describeSubscribersForNotification_maxResults :: Lens' DescribeSubscribersForNotification (Maybe Natural)
+ Amazonka.Budgets.Lens: describeSubscribersForNotification_nextToken :: Lens' DescribeSubscribersForNotification (Maybe Text)
+ Amazonka.Budgets.Lens: describeSubscribersForNotification_notification :: Lens' DescribeSubscribersForNotification Notification
+ Amazonka.Budgets.Lens: executeBudgetActionResponse_accountId :: Lens' ExecuteBudgetActionResponse Text
+ Amazonka.Budgets.Lens: executeBudgetActionResponse_actionId :: Lens' ExecuteBudgetActionResponse Text
+ Amazonka.Budgets.Lens: executeBudgetActionResponse_budgetName :: Lens' ExecuteBudgetActionResponse Text
+ Amazonka.Budgets.Lens: executeBudgetActionResponse_executionType :: Lens' ExecuteBudgetActionResponse ExecutionType
+ Amazonka.Budgets.Lens: executeBudgetActionResponse_httpStatus :: Lens' ExecuteBudgetActionResponse Int
+ Amazonka.Budgets.Lens: executeBudgetAction_accountId :: Lens' ExecuteBudgetAction Text
+ Amazonka.Budgets.Lens: executeBudgetAction_actionId :: Lens' ExecuteBudgetAction Text
+ Amazonka.Budgets.Lens: executeBudgetAction_budgetName :: Lens' ExecuteBudgetAction Text
+ Amazonka.Budgets.Lens: executeBudgetAction_executionType :: Lens' ExecuteBudgetAction ExecutionType
+ Amazonka.Budgets.Lens: historicalOptions_budgetAdjustmentPeriod :: Lens' HistoricalOptions Natural
+ Amazonka.Budgets.Lens: historicalOptions_lookBackAvailablePeriods :: Lens' HistoricalOptions (Maybe Natural)
+ Amazonka.Budgets.Lens: iamActionDefinition_groups :: Lens' IamActionDefinition (Maybe (NonEmpty Text))
+ Amazonka.Budgets.Lens: iamActionDefinition_policyArn :: Lens' IamActionDefinition Text
+ Amazonka.Budgets.Lens: iamActionDefinition_roles :: Lens' IamActionDefinition (Maybe (NonEmpty Text))
+ Amazonka.Budgets.Lens: iamActionDefinition_users :: Lens' IamActionDefinition (Maybe (NonEmpty Text))
+ Amazonka.Budgets.Lens: notificationWithSubscribers_notification :: Lens' NotificationWithSubscribers Notification
+ Amazonka.Budgets.Lens: notificationWithSubscribers_subscribers :: Lens' NotificationWithSubscribers (NonEmpty Subscriber)
+ Amazonka.Budgets.Lens: notification_comparisonOperator :: Lens' Notification ComparisonOperator
+ Amazonka.Budgets.Lens: notification_notificationState :: Lens' Notification (Maybe NotificationState)
+ Amazonka.Budgets.Lens: notification_notificationType :: Lens' Notification NotificationType
+ Amazonka.Budgets.Lens: notification_threshold :: Lens' Notification Double
+ Amazonka.Budgets.Lens: notification_thresholdType :: Lens' Notification (Maybe ThresholdType)
+ Amazonka.Budgets.Lens: scpActionDefinition_policyId :: Lens' ScpActionDefinition Text
+ Amazonka.Budgets.Lens: scpActionDefinition_targetIds :: Lens' ScpActionDefinition (NonEmpty Text)
+ Amazonka.Budgets.Lens: spend_amount :: Lens' Spend Text
+ Amazonka.Budgets.Lens: spend_unit :: Lens' Spend Text
+ Amazonka.Budgets.Lens: ssmActionDefinition_actionSubType :: Lens' SsmActionDefinition ActionSubType
+ Amazonka.Budgets.Lens: ssmActionDefinition_instanceIds :: Lens' SsmActionDefinition (NonEmpty Text)
+ Amazonka.Budgets.Lens: ssmActionDefinition_region :: Lens' SsmActionDefinition Text
+ Amazonka.Budgets.Lens: subscriber_address :: Lens' Subscriber Text
+ Amazonka.Budgets.Lens: subscriber_subscriptionType :: Lens' Subscriber SubscriptionType
+ Amazonka.Budgets.Lens: timePeriod_end :: Lens' TimePeriod (Maybe UTCTime)
+ Amazonka.Budgets.Lens: timePeriod_start :: Lens' TimePeriod (Maybe UTCTime)
+ Amazonka.Budgets.Lens: updateBudgetActionResponse_accountId :: Lens' UpdateBudgetActionResponse Text
+ Amazonka.Budgets.Lens: updateBudgetActionResponse_budgetName :: Lens' UpdateBudgetActionResponse Text
+ Amazonka.Budgets.Lens: updateBudgetActionResponse_httpStatus :: Lens' UpdateBudgetActionResponse Int
+ Amazonka.Budgets.Lens: updateBudgetActionResponse_newAction :: Lens' UpdateBudgetActionResponse Action
+ Amazonka.Budgets.Lens: updateBudgetActionResponse_oldAction :: Lens' UpdateBudgetActionResponse Action
+ Amazonka.Budgets.Lens: updateBudgetAction_accountId :: Lens' UpdateBudgetAction Text
+ Amazonka.Budgets.Lens: updateBudgetAction_actionId :: Lens' UpdateBudgetAction Text
+ Amazonka.Budgets.Lens: updateBudgetAction_actionThreshold :: Lens' UpdateBudgetAction (Maybe ActionThreshold)
+ Amazonka.Budgets.Lens: updateBudgetAction_approvalModel :: Lens' UpdateBudgetAction (Maybe ApprovalModel)
+ Amazonka.Budgets.Lens: updateBudgetAction_budgetName :: Lens' UpdateBudgetAction Text
+ Amazonka.Budgets.Lens: updateBudgetAction_definition :: Lens' UpdateBudgetAction (Maybe Definition)
+ Amazonka.Budgets.Lens: updateBudgetAction_executionRoleArn :: Lens' UpdateBudgetAction (Maybe Text)
+ Amazonka.Budgets.Lens: updateBudgetAction_notificationType :: Lens' UpdateBudgetAction (Maybe NotificationType)
+ Amazonka.Budgets.Lens: updateBudgetAction_subscribers :: Lens' UpdateBudgetAction (Maybe (NonEmpty Subscriber))
+ Amazonka.Budgets.Lens: updateBudgetResponse_httpStatus :: Lens' UpdateBudgetResponse Int
+ Amazonka.Budgets.Lens: updateBudget_accountId :: Lens' UpdateBudget Text
+ Amazonka.Budgets.Lens: updateBudget_newBudget :: Lens' UpdateBudget Budget
+ Amazonka.Budgets.Lens: updateNotificationResponse_httpStatus :: Lens' UpdateNotificationResponse Int
+ Amazonka.Budgets.Lens: updateNotification_accountId :: Lens' UpdateNotification Text
+ Amazonka.Budgets.Lens: updateNotification_budgetName :: Lens' UpdateNotification Text
+ Amazonka.Budgets.Lens: updateNotification_newNotification :: Lens' UpdateNotification Notification
+ Amazonka.Budgets.Lens: updateNotification_oldNotification :: Lens' UpdateNotification Notification
+ Amazonka.Budgets.Lens: updateSubscriberResponse_httpStatus :: Lens' UpdateSubscriberResponse Int
+ Amazonka.Budgets.Lens: updateSubscriber_accountId :: Lens' UpdateSubscriber Text
+ Amazonka.Budgets.Lens: updateSubscriber_budgetName :: Lens' UpdateSubscriber Text
+ Amazonka.Budgets.Lens: updateSubscriber_newSubscriber :: Lens' UpdateSubscriber Subscriber
+ Amazonka.Budgets.Lens: updateSubscriber_notification :: Lens' UpdateSubscriber Notification
+ Amazonka.Budgets.Lens: updateSubscriber_oldSubscriber :: Lens' UpdateSubscriber Subscriber
+ Amazonka.Budgets.Types: Action' :: Text -> Text -> NotificationType -> ActionType -> ActionThreshold -> Definition -> Text -> ApprovalModel -> ActionStatus -> NonEmpty Subscriber -> Action
+ Amazonka.Budgets.Types: ActionHistory' :: POSIX -> ActionStatus -> EventType -> ActionHistoryDetails -> ActionHistory
+ Amazonka.Budgets.Types: ActionHistoryDetails' :: Text -> Action -> ActionHistoryDetails
+ Amazonka.Budgets.Types: ActionStatus' :: Text -> ActionStatus
+ Amazonka.Budgets.Types: ActionSubType' :: Text -> ActionSubType
+ Amazonka.Budgets.Types: ActionThreshold' :: Double -> ThresholdType -> ActionThreshold
+ Amazonka.Budgets.Types: ActionType' :: Text -> ActionType
+ Amazonka.Budgets.Types: ApprovalModel' :: Text -> ApprovalModel
+ Amazonka.Budgets.Types: AutoAdjustData' :: Maybe HistoricalOptions -> Maybe POSIX -> AutoAdjustType -> AutoAdjustData
+ Amazonka.Budgets.Types: AutoAdjustType' :: Text -> AutoAdjustType
+ Amazonka.Budgets.Types: Budget' :: Maybe AutoAdjustData -> Maybe Spend -> Maybe CalculatedSpend -> Maybe (HashMap Text [Text]) -> Maybe CostTypes -> Maybe POSIX -> Maybe (HashMap Text Spend) -> Maybe TimePeriod -> Text -> TimeUnit -> BudgetType -> Budget
+ Amazonka.Budgets.Types: BudgetNotificationsForAccount' :: Maybe Text -> Maybe [Notification] -> BudgetNotificationsForAccount
+ Amazonka.Budgets.Types: BudgetPerformanceHistory' :: Maybe Text -> Maybe BudgetType -> Maybe [BudgetedAndActualAmounts] -> Maybe (HashMap Text [Text]) -> Maybe CostTypes -> Maybe TimeUnit -> BudgetPerformanceHistory
+ Amazonka.Budgets.Types: BudgetType' :: Text -> BudgetType
+ Amazonka.Budgets.Types: BudgetedAndActualAmounts' :: Maybe Spend -> Maybe Spend -> Maybe TimePeriod -> BudgetedAndActualAmounts
+ Amazonka.Budgets.Types: CalculatedSpend' :: Maybe Spend -> Spend -> CalculatedSpend
+ Amazonka.Budgets.Types: ComparisonOperator' :: Text -> ComparisonOperator
+ Amazonka.Budgets.Types: CostTypes' :: Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> CostTypes
+ Amazonka.Budgets.Types: Definition' :: Maybe IamActionDefinition -> Maybe ScpActionDefinition -> Maybe SsmActionDefinition -> Definition
+ Amazonka.Budgets.Types: EventType' :: Text -> EventType
+ Amazonka.Budgets.Types: ExecutionType' :: Text -> ExecutionType
+ Amazonka.Budgets.Types: HistoricalOptions' :: Maybe Natural -> Natural -> HistoricalOptions
+ Amazonka.Budgets.Types: IamActionDefinition' :: Maybe (NonEmpty Text) -> Maybe (NonEmpty Text) -> Maybe (NonEmpty Text) -> Text -> IamActionDefinition
+ Amazonka.Budgets.Types: Notification' :: Maybe NotificationState -> Maybe ThresholdType -> NotificationType -> ComparisonOperator -> Double -> Notification
+ Amazonka.Budgets.Types: NotificationState' :: Text -> NotificationState
+ Amazonka.Budgets.Types: NotificationType' :: Text -> NotificationType
+ Amazonka.Budgets.Types: NotificationWithSubscribers' :: Notification -> NonEmpty Subscriber -> NotificationWithSubscribers
+ Amazonka.Budgets.Types: ScpActionDefinition' :: Text -> NonEmpty Text -> ScpActionDefinition
+ Amazonka.Budgets.Types: Spend' :: Text -> Text -> Spend
+ Amazonka.Budgets.Types: SsmActionDefinition' :: ActionSubType -> Text -> NonEmpty Text -> SsmActionDefinition
+ Amazonka.Budgets.Types: Subscriber' :: SubscriptionType -> Sensitive Text -> Subscriber
+ Amazonka.Budgets.Types: SubscriptionType' :: Text -> SubscriptionType
+ Amazonka.Budgets.Types: ThresholdType' :: Text -> ThresholdType
+ Amazonka.Budgets.Types: TimePeriod' :: Maybe POSIX -> Maybe POSIX -> TimePeriod
+ Amazonka.Budgets.Types: TimeUnit' :: Text -> TimeUnit
+ Amazonka.Budgets.Types: [$sel:action:ActionHistoryDetails'] :: ActionHistoryDetails -> Action
+ Amazonka.Budgets.Types: [$sel:actionHistoryDetails:ActionHistory'] :: ActionHistory -> ActionHistoryDetails
+ Amazonka.Budgets.Types: [$sel:actionId:Action'] :: Action -> Text
+ Amazonka.Budgets.Types: [$sel:actionSubType:SsmActionDefinition'] :: SsmActionDefinition -> ActionSubType
+ Amazonka.Budgets.Types: [$sel:actionThreshold:Action'] :: Action -> ActionThreshold
+ Amazonka.Budgets.Types: [$sel:actionThresholdType:ActionThreshold'] :: ActionThreshold -> ThresholdType
+ Amazonka.Budgets.Types: [$sel:actionThresholdValue:ActionThreshold'] :: ActionThreshold -> Double
+ Amazonka.Budgets.Types: [$sel:actionType:Action'] :: Action -> ActionType
+ Amazonka.Budgets.Types: [$sel:actualAmount:BudgetedAndActualAmounts'] :: BudgetedAndActualAmounts -> Maybe Spend
+ Amazonka.Budgets.Types: [$sel:actualSpend:CalculatedSpend'] :: CalculatedSpend -> Spend
+ Amazonka.Budgets.Types: [$sel:address:Subscriber'] :: Subscriber -> Sensitive Text
+ Amazonka.Budgets.Types: [$sel:amount:Spend'] :: Spend -> Text
+ Amazonka.Budgets.Types: [$sel:approvalModel:Action'] :: Action -> ApprovalModel
+ Amazonka.Budgets.Types: [$sel:autoAdjustData:Budget'] :: Budget -> Maybe AutoAdjustData
+ Amazonka.Budgets.Types: [$sel:autoAdjustType:AutoAdjustData'] :: AutoAdjustData -> AutoAdjustType
+ Amazonka.Budgets.Types: [$sel:budgetAdjustmentPeriod:HistoricalOptions'] :: HistoricalOptions -> Natural
+ Amazonka.Budgets.Types: [$sel:budgetLimit:Budget'] :: Budget -> Maybe Spend
+ Amazonka.Budgets.Types: [$sel:budgetName:Action'] :: Action -> Text
+ Amazonka.Budgets.Types: [$sel:budgetName:Budget'] :: Budget -> Text
+ Amazonka.Budgets.Types: [$sel:budgetName:BudgetNotificationsForAccount'] :: BudgetNotificationsForAccount -> Maybe Text
+ Amazonka.Budgets.Types: [$sel:budgetName:BudgetPerformanceHistory'] :: BudgetPerformanceHistory -> Maybe Text
+ Amazonka.Budgets.Types: [$sel:budgetType:Budget'] :: Budget -> BudgetType
+ Amazonka.Budgets.Types: [$sel:budgetType:BudgetPerformanceHistory'] :: BudgetPerformanceHistory -> Maybe BudgetType
+ Amazonka.Budgets.Types: [$sel:budgetedAmount:BudgetedAndActualAmounts'] :: BudgetedAndActualAmounts -> Maybe Spend
+ Amazonka.Budgets.Types: [$sel:budgetedAndActualAmountsList:BudgetPerformanceHistory'] :: BudgetPerformanceHistory -> Maybe [BudgetedAndActualAmounts]
+ Amazonka.Budgets.Types: [$sel:calculatedSpend:Budget'] :: Budget -> Maybe CalculatedSpend
+ Amazonka.Budgets.Types: [$sel:comparisonOperator:Notification'] :: Notification -> ComparisonOperator
+ Amazonka.Budgets.Types: [$sel:costFilters:Budget'] :: Budget -> Maybe (HashMap Text [Text])
+ Amazonka.Budgets.Types: [$sel:costFilters:BudgetPerformanceHistory'] :: BudgetPerformanceHistory -> Maybe (HashMap Text [Text])
+ Amazonka.Budgets.Types: [$sel:costTypes:Budget'] :: Budget -> Maybe CostTypes
+ Amazonka.Budgets.Types: [$sel:costTypes:BudgetPerformanceHistory'] :: BudgetPerformanceHistory -> Maybe CostTypes
+ Amazonka.Budgets.Types: [$sel:definition:Action'] :: Action -> Definition
+ Amazonka.Budgets.Types: [$sel:end:TimePeriod'] :: TimePeriod -> Maybe POSIX
+ Amazonka.Budgets.Types: [$sel:eventType:ActionHistory'] :: ActionHistory -> EventType
+ Amazonka.Budgets.Types: [$sel:executionRoleArn:Action'] :: Action -> Text
+ Amazonka.Budgets.Types: [$sel:forecastedSpend:CalculatedSpend'] :: CalculatedSpend -> Maybe Spend
+ Amazonka.Budgets.Types: [$sel:groups:IamActionDefinition'] :: IamActionDefinition -> Maybe (NonEmpty Text)
+ Amazonka.Budgets.Types: [$sel:historicalOptions:AutoAdjustData'] :: AutoAdjustData -> Maybe HistoricalOptions
+ Amazonka.Budgets.Types: [$sel:iamActionDefinition:Definition'] :: Definition -> Maybe IamActionDefinition
+ Amazonka.Budgets.Types: [$sel:includeCredit:CostTypes'] :: CostTypes -> Maybe Bool
+ Amazonka.Budgets.Types: [$sel:includeDiscount:CostTypes'] :: CostTypes -> Maybe Bool
+ Amazonka.Budgets.Types: [$sel:includeOtherSubscription:CostTypes'] :: CostTypes -> Maybe Bool
+ Amazonka.Budgets.Types: [$sel:includeRecurring:CostTypes'] :: CostTypes -> Maybe Bool
+ Amazonka.Budgets.Types: [$sel:includeRefund:CostTypes'] :: CostTypes -> Maybe Bool
+ Amazonka.Budgets.Types: [$sel:includeSubscription:CostTypes'] :: CostTypes -> Maybe Bool
+ Amazonka.Budgets.Types: [$sel:includeSupport:CostTypes'] :: CostTypes -> Maybe Bool
+ Amazonka.Budgets.Types: [$sel:includeTax:CostTypes'] :: CostTypes -> Maybe Bool
+ Amazonka.Budgets.Types: [$sel:includeUpfront:CostTypes'] :: CostTypes -> Maybe Bool
+ Amazonka.Budgets.Types: [$sel:instanceIds:SsmActionDefinition'] :: SsmActionDefinition -> NonEmpty Text
+ Amazonka.Budgets.Types: [$sel:lastAutoAdjustTime:AutoAdjustData'] :: AutoAdjustData -> Maybe POSIX
+ Amazonka.Budgets.Types: [$sel:lastUpdatedTime:Budget'] :: Budget -> Maybe POSIX
+ Amazonka.Budgets.Types: [$sel:lookBackAvailablePeriods:HistoricalOptions'] :: HistoricalOptions -> Maybe Natural
+ Amazonka.Budgets.Types: [$sel:message:ActionHistoryDetails'] :: ActionHistoryDetails -> Text
+ Amazonka.Budgets.Types: [$sel:notification:NotificationWithSubscribers'] :: NotificationWithSubscribers -> Notification
+ Amazonka.Budgets.Types: [$sel:notificationState:Notification'] :: Notification -> Maybe NotificationState
+ Amazonka.Budgets.Types: [$sel:notificationType:Action'] :: Action -> NotificationType
+ Amazonka.Budgets.Types: [$sel:notificationType:Notification'] :: Notification -> NotificationType
+ Amazonka.Budgets.Types: [$sel:notifications:BudgetNotificationsForAccount'] :: BudgetNotificationsForAccount -> Maybe [Notification]
+ Amazonka.Budgets.Types: [$sel:plannedBudgetLimits:Budget'] :: Budget -> Maybe (HashMap Text Spend)
+ Amazonka.Budgets.Types: [$sel:policyArn:IamActionDefinition'] :: IamActionDefinition -> Text
+ Amazonka.Budgets.Types: [$sel:policyId:ScpActionDefinition'] :: ScpActionDefinition -> Text
+ Amazonka.Budgets.Types: [$sel:region:SsmActionDefinition'] :: SsmActionDefinition -> Text
+ Amazonka.Budgets.Types: [$sel:roles:IamActionDefinition'] :: IamActionDefinition -> Maybe (NonEmpty Text)
+ Amazonka.Budgets.Types: [$sel:scpActionDefinition:Definition'] :: Definition -> Maybe ScpActionDefinition
+ Amazonka.Budgets.Types: [$sel:ssmActionDefinition:Definition'] :: Definition -> Maybe SsmActionDefinition
+ Amazonka.Budgets.Types: [$sel:start:TimePeriod'] :: TimePeriod -> Maybe POSIX
+ Amazonka.Budgets.Types: [$sel:status:Action'] :: Action -> ActionStatus
+ Amazonka.Budgets.Types: [$sel:status:ActionHistory'] :: ActionHistory -> ActionStatus
+ Amazonka.Budgets.Types: [$sel:subscribers:Action'] :: Action -> NonEmpty Subscriber
+ Amazonka.Budgets.Types: [$sel:subscribers:NotificationWithSubscribers'] :: NotificationWithSubscribers -> NonEmpty Subscriber
+ Amazonka.Budgets.Types: [$sel:subscriptionType:Subscriber'] :: Subscriber -> SubscriptionType
+ Amazonka.Budgets.Types: [$sel:targetIds:ScpActionDefinition'] :: ScpActionDefinition -> NonEmpty Text
+ Amazonka.Budgets.Types: [$sel:threshold:Notification'] :: Notification -> Double
+ Amazonka.Budgets.Types: [$sel:thresholdType:Notification'] :: Notification -> Maybe ThresholdType
+ Amazonka.Budgets.Types: [$sel:timePeriod:Budget'] :: Budget -> Maybe TimePeriod
+ Amazonka.Budgets.Types: [$sel:timePeriod:BudgetedAndActualAmounts'] :: BudgetedAndActualAmounts -> Maybe TimePeriod
+ Amazonka.Budgets.Types: [$sel:timeUnit:Budget'] :: Budget -> TimeUnit
+ Amazonka.Budgets.Types: [$sel:timeUnit:BudgetPerformanceHistory'] :: BudgetPerformanceHistory -> Maybe TimeUnit
+ Amazonka.Budgets.Types: [$sel:timestamp:ActionHistory'] :: ActionHistory -> POSIX
+ Amazonka.Budgets.Types: [$sel:unit:Spend'] :: Spend -> Text
+ Amazonka.Budgets.Types: [$sel:useAmortized:CostTypes'] :: CostTypes -> Maybe Bool
+ Amazonka.Budgets.Types: [$sel:useBlended:CostTypes'] :: CostTypes -> Maybe Bool
+ Amazonka.Budgets.Types: [$sel:users:IamActionDefinition'] :: IamActionDefinition -> Maybe (NonEmpty Text)
+ Amazonka.Budgets.Types: [fromActionStatus] :: ActionStatus -> Text
+ Amazonka.Budgets.Types: [fromActionSubType] :: ActionSubType -> Text
+ Amazonka.Budgets.Types: [fromActionType] :: ActionType -> Text
+ Amazonka.Budgets.Types: [fromApprovalModel] :: ApprovalModel -> Text
+ Amazonka.Budgets.Types: [fromAutoAdjustType] :: AutoAdjustType -> Text
+ Amazonka.Budgets.Types: [fromBudgetType] :: BudgetType -> Text
+ Amazonka.Budgets.Types: [fromComparisonOperator] :: ComparisonOperator -> Text
+ Amazonka.Budgets.Types: [fromEventType] :: EventType -> Text
+ Amazonka.Budgets.Types: [fromExecutionType] :: ExecutionType -> Text
+ Amazonka.Budgets.Types: [fromNotificationState] :: NotificationState -> Text
+ Amazonka.Budgets.Types: [fromNotificationType] :: NotificationType -> Text
+ Amazonka.Budgets.Types: [fromSubscriptionType] :: SubscriptionType -> Text
+ Amazonka.Budgets.Types: [fromThresholdType] :: ThresholdType -> Text
+ Amazonka.Budgets.Types: [fromTimeUnit] :: TimeUnit -> Text
+ Amazonka.Budgets.Types: _AccessDeniedException :: AsError a => Fold a ServiceError
+ Amazonka.Budgets.Types: _CreationLimitExceededException :: AsError a => Fold a ServiceError
+ Amazonka.Budgets.Types: _DuplicateRecordException :: AsError a => Fold a ServiceError
+ Amazonka.Budgets.Types: _ExpiredNextTokenException :: AsError a => Fold a ServiceError
+ Amazonka.Budgets.Types: _InternalErrorException :: AsError a => Fold a ServiceError
+ Amazonka.Budgets.Types: _InvalidNextTokenException :: AsError a => Fold a ServiceError
+ Amazonka.Budgets.Types: _InvalidParameterException :: AsError a => Fold a ServiceError
+ Amazonka.Budgets.Types: _NotFoundException :: AsError a => Fold a ServiceError
+ Amazonka.Budgets.Types: _ResourceLockedException :: AsError a => Fold a ServiceError
+ Amazonka.Budgets.Types: _ThrottlingException :: AsError a => Fold a ServiceError
+ Amazonka.Budgets.Types: actionHistoryDetails_action :: Lens' ActionHistoryDetails Action
+ Amazonka.Budgets.Types: actionHistoryDetails_message :: Lens' ActionHistoryDetails Text
+ Amazonka.Budgets.Types: actionHistory_actionHistoryDetails :: Lens' ActionHistory ActionHistoryDetails
+ Amazonka.Budgets.Types: actionHistory_eventType :: Lens' ActionHistory EventType
+ Amazonka.Budgets.Types: actionHistory_status :: Lens' ActionHistory ActionStatus
+ Amazonka.Budgets.Types: actionHistory_timestamp :: Lens' ActionHistory UTCTime
+ Amazonka.Budgets.Types: actionThreshold_actionThresholdType :: Lens' ActionThreshold ThresholdType
+ Amazonka.Budgets.Types: actionThreshold_actionThresholdValue :: Lens' ActionThreshold Double
+ Amazonka.Budgets.Types: action_actionId :: Lens' Action Text
+ Amazonka.Budgets.Types: action_actionThreshold :: Lens' Action ActionThreshold
+ Amazonka.Budgets.Types: action_actionType :: Lens' Action ActionType
+ Amazonka.Budgets.Types: action_approvalModel :: Lens' Action ApprovalModel
+ Amazonka.Budgets.Types: action_budgetName :: Lens' Action Text
+ Amazonka.Budgets.Types: action_definition :: Lens' Action Definition
+ Amazonka.Budgets.Types: action_executionRoleArn :: Lens' Action Text
+ Amazonka.Budgets.Types: action_notificationType :: Lens' Action NotificationType
+ Amazonka.Budgets.Types: action_status :: Lens' Action ActionStatus
+ Amazonka.Budgets.Types: action_subscribers :: Lens' Action (NonEmpty Subscriber)
+ Amazonka.Budgets.Types: autoAdjustData_autoAdjustType :: Lens' AutoAdjustData AutoAdjustType
+ Amazonka.Budgets.Types: autoAdjustData_historicalOptions :: Lens' AutoAdjustData (Maybe HistoricalOptions)
+ Amazonka.Budgets.Types: autoAdjustData_lastAutoAdjustTime :: Lens' AutoAdjustData (Maybe UTCTime)
+ Amazonka.Budgets.Types: budgetNotificationsForAccount_budgetName :: Lens' BudgetNotificationsForAccount (Maybe Text)
+ Amazonka.Budgets.Types: budgetNotificationsForAccount_notifications :: Lens' BudgetNotificationsForAccount (Maybe [Notification])
+ Amazonka.Budgets.Types: budgetPerformanceHistory_budgetName :: Lens' BudgetPerformanceHistory (Maybe Text)
+ Amazonka.Budgets.Types: budgetPerformanceHistory_budgetType :: Lens' BudgetPerformanceHistory (Maybe BudgetType)
+ Amazonka.Budgets.Types: budgetPerformanceHistory_budgetedAndActualAmountsList :: Lens' BudgetPerformanceHistory (Maybe [BudgetedAndActualAmounts])
+ Amazonka.Budgets.Types: budgetPerformanceHistory_costFilters :: Lens' BudgetPerformanceHistory (Maybe (HashMap Text [Text]))
+ Amazonka.Budgets.Types: budgetPerformanceHistory_costTypes :: Lens' BudgetPerformanceHistory (Maybe CostTypes)
+ Amazonka.Budgets.Types: budgetPerformanceHistory_timeUnit :: Lens' BudgetPerformanceHistory (Maybe TimeUnit)
+ Amazonka.Budgets.Types: budget_autoAdjustData :: Lens' Budget (Maybe AutoAdjustData)
+ Amazonka.Budgets.Types: budget_budgetLimit :: Lens' Budget (Maybe Spend)
+ Amazonka.Budgets.Types: budget_budgetName :: Lens' Budget Text
+ Amazonka.Budgets.Types: budget_budgetType :: Lens' Budget BudgetType
+ Amazonka.Budgets.Types: budget_calculatedSpend :: Lens' Budget (Maybe CalculatedSpend)
+ Amazonka.Budgets.Types: budget_costFilters :: Lens' Budget (Maybe (HashMap Text [Text]))
+ Amazonka.Budgets.Types: budget_costTypes :: Lens' Budget (Maybe CostTypes)
+ Amazonka.Budgets.Types: budget_lastUpdatedTime :: Lens' Budget (Maybe UTCTime)
+ Amazonka.Budgets.Types: budget_plannedBudgetLimits :: Lens' Budget (Maybe (HashMap Text Spend))
+ Amazonka.Budgets.Types: budget_timePeriod :: Lens' Budget (Maybe TimePeriod)
+ Amazonka.Budgets.Types: budget_timeUnit :: Lens' Budget TimeUnit
+ Amazonka.Budgets.Types: budgetedAndActualAmounts_actualAmount :: Lens' BudgetedAndActualAmounts (Maybe Spend)
+ Amazonka.Budgets.Types: budgetedAndActualAmounts_budgetedAmount :: Lens' BudgetedAndActualAmounts (Maybe Spend)
+ Amazonka.Budgets.Types: budgetedAndActualAmounts_timePeriod :: Lens' BudgetedAndActualAmounts (Maybe TimePeriod)
+ Amazonka.Budgets.Types: calculatedSpend_actualSpend :: Lens' CalculatedSpend Spend
+ Amazonka.Budgets.Types: calculatedSpend_forecastedSpend :: Lens' CalculatedSpend (Maybe Spend)
+ Amazonka.Budgets.Types: costTypes_includeCredit :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Types: costTypes_includeDiscount :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Types: costTypes_includeOtherSubscription :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Types: costTypes_includeRecurring :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Types: costTypes_includeRefund :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Types: costTypes_includeSubscription :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Types: costTypes_includeSupport :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Types: costTypes_includeTax :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Types: costTypes_includeUpfront :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Types: costTypes_useAmortized :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Types: costTypes_useBlended :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Types: data Action
+ Amazonka.Budgets.Types: data ActionHistory
+ Amazonka.Budgets.Types: data ActionHistoryDetails
+ Amazonka.Budgets.Types: data ActionThreshold
+ Amazonka.Budgets.Types: data AutoAdjustData
+ Amazonka.Budgets.Types: data Budget
+ Amazonka.Budgets.Types: data BudgetNotificationsForAccount
+ Amazonka.Budgets.Types: data BudgetPerformanceHistory
+ Amazonka.Budgets.Types: data BudgetedAndActualAmounts
+ Amazonka.Budgets.Types: data CalculatedSpend
+ Amazonka.Budgets.Types: data CostTypes
+ Amazonka.Budgets.Types: data Definition
+ Amazonka.Budgets.Types: data HistoricalOptions
+ Amazonka.Budgets.Types: data IamActionDefinition
+ Amazonka.Budgets.Types: data Notification
+ Amazonka.Budgets.Types: data NotificationWithSubscribers
+ Amazonka.Budgets.Types: data ScpActionDefinition
+ Amazonka.Budgets.Types: data Spend
+ Amazonka.Budgets.Types: data SsmActionDefinition
+ Amazonka.Budgets.Types: data Subscriber
+ Amazonka.Budgets.Types: data TimePeriod
+ Amazonka.Budgets.Types: defaultService :: Service
+ Amazonka.Budgets.Types: definition_iamActionDefinition :: Lens' Definition (Maybe IamActionDefinition)
+ Amazonka.Budgets.Types: definition_scpActionDefinition :: Lens' Definition (Maybe ScpActionDefinition)
+ Amazonka.Budgets.Types: definition_ssmActionDefinition :: Lens' Definition (Maybe SsmActionDefinition)
+ Amazonka.Budgets.Types: historicalOptions_budgetAdjustmentPeriod :: Lens' HistoricalOptions Natural
+ Amazonka.Budgets.Types: historicalOptions_lookBackAvailablePeriods :: Lens' HistoricalOptions (Maybe Natural)
+ Amazonka.Budgets.Types: iamActionDefinition_groups :: Lens' IamActionDefinition (Maybe (NonEmpty Text))
+ Amazonka.Budgets.Types: iamActionDefinition_policyArn :: Lens' IamActionDefinition Text
+ Amazonka.Budgets.Types: iamActionDefinition_roles :: Lens' IamActionDefinition (Maybe (NonEmpty Text))
+ Amazonka.Budgets.Types: iamActionDefinition_users :: Lens' IamActionDefinition (Maybe (NonEmpty Text))
+ Amazonka.Budgets.Types: newAction :: Text -> Text -> NotificationType -> ActionType -> ActionThreshold -> Definition -> Text -> ApprovalModel -> ActionStatus -> NonEmpty Subscriber -> Action
+ Amazonka.Budgets.Types: newActionHistory :: UTCTime -> ActionStatus -> EventType -> ActionHistoryDetails -> ActionHistory
+ Amazonka.Budgets.Types: newActionHistoryDetails :: Text -> Action -> ActionHistoryDetails
+ Amazonka.Budgets.Types: newActionThreshold :: Double -> ThresholdType -> ActionThreshold
+ Amazonka.Budgets.Types: newAutoAdjustData :: AutoAdjustType -> AutoAdjustData
+ Amazonka.Budgets.Types: newBudget :: Text -> TimeUnit -> BudgetType -> Budget
+ Amazonka.Budgets.Types: newBudgetNotificationsForAccount :: BudgetNotificationsForAccount
+ Amazonka.Budgets.Types: newBudgetPerformanceHistory :: BudgetPerformanceHistory
+ Amazonka.Budgets.Types: newBudgetedAndActualAmounts :: BudgetedAndActualAmounts
+ Amazonka.Budgets.Types: newCalculatedSpend :: Spend -> CalculatedSpend
+ Amazonka.Budgets.Types: newCostTypes :: CostTypes
+ Amazonka.Budgets.Types: newDefinition :: Definition
+ Amazonka.Budgets.Types: newHistoricalOptions :: Natural -> HistoricalOptions
+ Amazonka.Budgets.Types: newIamActionDefinition :: Text -> IamActionDefinition
+ Amazonka.Budgets.Types: newNotification :: NotificationType -> ComparisonOperator -> Double -> Notification
+ Amazonka.Budgets.Types: newNotificationWithSubscribers :: Notification -> NonEmpty Subscriber -> NotificationWithSubscribers
+ Amazonka.Budgets.Types: newScpActionDefinition :: Text -> NonEmpty Text -> ScpActionDefinition
+ Amazonka.Budgets.Types: newSpend :: Text -> Text -> Spend
+ Amazonka.Budgets.Types: newSsmActionDefinition :: ActionSubType -> Text -> NonEmpty Text -> SsmActionDefinition
+ Amazonka.Budgets.Types: newSubscriber :: SubscriptionType -> Text -> Subscriber
+ Amazonka.Budgets.Types: newTimePeriod :: TimePeriod
+ Amazonka.Budgets.Types: newtype ActionStatus
+ Amazonka.Budgets.Types: newtype ActionSubType
+ Amazonka.Budgets.Types: newtype ActionType
+ Amazonka.Budgets.Types: newtype ApprovalModel
+ Amazonka.Budgets.Types: newtype AutoAdjustType
+ Amazonka.Budgets.Types: newtype BudgetType
+ Amazonka.Budgets.Types: newtype ComparisonOperator
+ Amazonka.Budgets.Types: newtype EventType
+ Amazonka.Budgets.Types: newtype ExecutionType
+ Amazonka.Budgets.Types: newtype NotificationState
+ Amazonka.Budgets.Types: newtype NotificationType
+ Amazonka.Budgets.Types: newtype SubscriptionType
+ Amazonka.Budgets.Types: newtype ThresholdType
+ Amazonka.Budgets.Types: newtype TimeUnit
+ Amazonka.Budgets.Types: notificationWithSubscribers_notification :: Lens' NotificationWithSubscribers Notification
+ Amazonka.Budgets.Types: notificationWithSubscribers_subscribers :: Lens' NotificationWithSubscribers (NonEmpty Subscriber)
+ Amazonka.Budgets.Types: notification_comparisonOperator :: Lens' Notification ComparisonOperator
+ Amazonka.Budgets.Types: notification_notificationState :: Lens' Notification (Maybe NotificationState)
+ Amazonka.Budgets.Types: notification_notificationType :: Lens' Notification NotificationType
+ Amazonka.Budgets.Types: notification_threshold :: Lens' Notification Double
+ Amazonka.Budgets.Types: notification_thresholdType :: Lens' Notification (Maybe ThresholdType)
+ Amazonka.Budgets.Types: pattern ActionStatus_EXECUTION_FAILURE :: ActionStatus
+ Amazonka.Budgets.Types: pattern ActionStatus_EXECUTION_IN_PROGRESS :: ActionStatus
+ Amazonka.Budgets.Types: pattern ActionStatus_EXECUTION_SUCCESS :: ActionStatus
+ Amazonka.Budgets.Types: pattern ActionStatus_PENDING :: ActionStatus
+ Amazonka.Budgets.Types: pattern ActionStatus_RESET_FAILURE :: ActionStatus
+ Amazonka.Budgets.Types: pattern ActionStatus_RESET_IN_PROGRESS :: ActionStatus
+ Amazonka.Budgets.Types: pattern ActionStatus_REVERSE_FAILURE :: ActionStatus
+ Amazonka.Budgets.Types: pattern ActionStatus_REVERSE_IN_PROGRESS :: ActionStatus
+ Amazonka.Budgets.Types: pattern ActionStatus_REVERSE_SUCCESS :: ActionStatus
+ Amazonka.Budgets.Types: pattern ActionStatus_STANDBY :: ActionStatus
+ Amazonka.Budgets.Types: pattern ActionSubType_STOP_EC2_INSTANCES :: ActionSubType
+ Amazonka.Budgets.Types: pattern ActionSubType_STOP_RDS_INSTANCES :: ActionSubType
+ Amazonka.Budgets.Types: pattern ActionType_APPLY_IAM_POLICY :: ActionType
+ Amazonka.Budgets.Types: pattern ActionType_APPLY_SCP_POLICY :: ActionType
+ Amazonka.Budgets.Types: pattern ActionType_RUN_SSM_DOCUMENTS :: ActionType
+ Amazonka.Budgets.Types: pattern ApprovalModel_AUTOMATIC :: ApprovalModel
+ Amazonka.Budgets.Types: pattern ApprovalModel_MANUAL :: ApprovalModel
+ Amazonka.Budgets.Types: pattern AutoAdjustType_FORECAST :: AutoAdjustType
+ Amazonka.Budgets.Types: pattern AutoAdjustType_HISTORICAL :: AutoAdjustType
+ Amazonka.Budgets.Types: pattern BudgetType_COST :: BudgetType
+ Amazonka.Budgets.Types: pattern BudgetType_RI_COVERAGE :: BudgetType
+ Amazonka.Budgets.Types: pattern BudgetType_RI_UTILIZATION :: BudgetType
+ Amazonka.Budgets.Types: pattern BudgetType_SAVINGS_PLANS_COVERAGE :: BudgetType
+ Amazonka.Budgets.Types: pattern BudgetType_SAVINGS_PLANS_UTILIZATION :: BudgetType
+ Amazonka.Budgets.Types: pattern BudgetType_USAGE :: BudgetType
+ Amazonka.Budgets.Types: pattern ComparisonOperator_EQUAL_TO :: ComparisonOperator
+ Amazonka.Budgets.Types: pattern ComparisonOperator_GREATER_THAN :: ComparisonOperator
+ Amazonka.Budgets.Types: pattern ComparisonOperator_LESS_THAN :: ComparisonOperator
+ Amazonka.Budgets.Types: pattern EventType_CREATE_ACTION :: EventType
+ Amazonka.Budgets.Types: pattern EventType_DELETE_ACTION :: EventType
+ Amazonka.Budgets.Types: pattern EventType_EXECUTE_ACTION :: EventType
+ Amazonka.Budgets.Types: pattern EventType_SYSTEM :: EventType
+ Amazonka.Budgets.Types: pattern EventType_UPDATE_ACTION :: EventType
+ Amazonka.Budgets.Types: pattern ExecutionType_APPROVE_BUDGET_ACTION :: ExecutionType
+ Amazonka.Budgets.Types: pattern ExecutionType_RESET_BUDGET_ACTION :: ExecutionType
+ Amazonka.Budgets.Types: pattern ExecutionType_RETRY_BUDGET_ACTION :: ExecutionType
+ Amazonka.Budgets.Types: pattern ExecutionType_REVERSE_BUDGET_ACTION :: ExecutionType
+ Amazonka.Budgets.Types: pattern NotificationState_ALARM :: NotificationState
+ Amazonka.Budgets.Types: pattern NotificationState_OK :: NotificationState
+ Amazonka.Budgets.Types: pattern NotificationType_ACTUAL :: NotificationType
+ Amazonka.Budgets.Types: pattern NotificationType_FORECASTED :: NotificationType
+ Amazonka.Budgets.Types: pattern SubscriptionType_EMAIL :: SubscriptionType
+ Amazonka.Budgets.Types: pattern SubscriptionType_SNS :: SubscriptionType
+ Amazonka.Budgets.Types: pattern ThresholdType_ABSOLUTE_VALUE :: ThresholdType
+ Amazonka.Budgets.Types: pattern ThresholdType_PERCENTAGE :: ThresholdType
+ Amazonka.Budgets.Types: pattern TimeUnit_ANNUALLY :: TimeUnit
+ Amazonka.Budgets.Types: pattern TimeUnit_DAILY :: TimeUnit
+ Amazonka.Budgets.Types: pattern TimeUnit_MONTHLY :: TimeUnit
+ Amazonka.Budgets.Types: pattern TimeUnit_QUARTERLY :: TimeUnit
+ Amazonka.Budgets.Types: scpActionDefinition_policyId :: Lens' ScpActionDefinition Text
+ Amazonka.Budgets.Types: scpActionDefinition_targetIds :: Lens' ScpActionDefinition (NonEmpty Text)
+ Amazonka.Budgets.Types: spend_amount :: Lens' Spend Text
+ Amazonka.Budgets.Types: spend_unit :: Lens' Spend Text
+ Amazonka.Budgets.Types: ssmActionDefinition_actionSubType :: Lens' SsmActionDefinition ActionSubType
+ Amazonka.Budgets.Types: ssmActionDefinition_instanceIds :: Lens' SsmActionDefinition (NonEmpty Text)
+ Amazonka.Budgets.Types: ssmActionDefinition_region :: Lens' SsmActionDefinition Text
+ Amazonka.Budgets.Types: subscriber_address :: Lens' Subscriber Text
+ Amazonka.Budgets.Types: subscriber_subscriptionType :: Lens' Subscriber SubscriptionType
+ Amazonka.Budgets.Types: timePeriod_end :: Lens' TimePeriod (Maybe UTCTime)
+ Amazonka.Budgets.Types: timePeriod_start :: Lens' TimePeriod (Maybe UTCTime)
+ Amazonka.Budgets.Types.Action: Action' :: Text -> Text -> NotificationType -> ActionType -> ActionThreshold -> Definition -> Text -> ApprovalModel -> ActionStatus -> NonEmpty Subscriber -> Action
+ Amazonka.Budgets.Types.Action: [$sel:actionId:Action'] :: Action -> Text
+ Amazonka.Budgets.Types.Action: [$sel:actionThreshold:Action'] :: Action -> ActionThreshold
+ Amazonka.Budgets.Types.Action: [$sel:actionType:Action'] :: Action -> ActionType
+ Amazonka.Budgets.Types.Action: [$sel:approvalModel:Action'] :: Action -> ApprovalModel
+ Amazonka.Budgets.Types.Action: [$sel:budgetName:Action'] :: Action -> Text
+ Amazonka.Budgets.Types.Action: [$sel:definition:Action'] :: Action -> Definition
+ Amazonka.Budgets.Types.Action: [$sel:executionRoleArn:Action'] :: Action -> Text
+ Amazonka.Budgets.Types.Action: [$sel:notificationType:Action'] :: Action -> NotificationType
+ Amazonka.Budgets.Types.Action: [$sel:status:Action'] :: Action -> ActionStatus
+ Amazonka.Budgets.Types.Action: [$sel:subscribers:Action'] :: Action -> NonEmpty Subscriber
+ Amazonka.Budgets.Types.Action: action_actionId :: Lens' Action Text
+ Amazonka.Budgets.Types.Action: action_actionThreshold :: Lens' Action ActionThreshold
+ Amazonka.Budgets.Types.Action: action_actionType :: Lens' Action ActionType
+ Amazonka.Budgets.Types.Action: action_approvalModel :: Lens' Action ApprovalModel
+ Amazonka.Budgets.Types.Action: action_budgetName :: Lens' Action Text
+ Amazonka.Budgets.Types.Action: action_definition :: Lens' Action Definition
+ Amazonka.Budgets.Types.Action: action_executionRoleArn :: Lens' Action Text
+ Amazonka.Budgets.Types.Action: action_notificationType :: Lens' Action NotificationType
+ Amazonka.Budgets.Types.Action: action_status :: Lens' Action ActionStatus
+ Amazonka.Budgets.Types.Action: action_subscribers :: Lens' Action (NonEmpty Subscriber)
+ Amazonka.Budgets.Types.Action: data Action
+ Amazonka.Budgets.Types.Action: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.Action.Action
+ Amazonka.Budgets.Types.Action: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.Action.Action
+ Amazonka.Budgets.Types.Action: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.Action.Action
+ Amazonka.Budgets.Types.Action: instance GHC.Classes.Eq Amazonka.Budgets.Types.Action.Action
+ Amazonka.Budgets.Types.Action: instance GHC.Generics.Generic Amazonka.Budgets.Types.Action.Action
+ Amazonka.Budgets.Types.Action: instance GHC.Show.Show Amazonka.Budgets.Types.Action.Action
+ Amazonka.Budgets.Types.Action: newAction :: Text -> Text -> NotificationType -> ActionType -> ActionThreshold -> Definition -> Text -> ApprovalModel -> ActionStatus -> NonEmpty Subscriber -> Action
+ Amazonka.Budgets.Types.ActionHistory: ActionHistory' :: POSIX -> ActionStatus -> EventType -> ActionHistoryDetails -> ActionHistory
+ Amazonka.Budgets.Types.ActionHistory: [$sel:actionHistoryDetails:ActionHistory'] :: ActionHistory -> ActionHistoryDetails
+ Amazonka.Budgets.Types.ActionHistory: [$sel:eventType:ActionHistory'] :: ActionHistory -> EventType
+ Amazonka.Budgets.Types.ActionHistory: [$sel:status:ActionHistory'] :: ActionHistory -> ActionStatus
+ Amazonka.Budgets.Types.ActionHistory: [$sel:timestamp:ActionHistory'] :: ActionHistory -> POSIX
+ Amazonka.Budgets.Types.ActionHistory: actionHistory_actionHistoryDetails :: Lens' ActionHistory ActionHistoryDetails
+ Amazonka.Budgets.Types.ActionHistory: actionHistory_eventType :: Lens' ActionHistory EventType
+ Amazonka.Budgets.Types.ActionHistory: actionHistory_status :: Lens' ActionHistory ActionStatus
+ Amazonka.Budgets.Types.ActionHistory: actionHistory_timestamp :: Lens' ActionHistory UTCTime
+ Amazonka.Budgets.Types.ActionHistory: data ActionHistory
+ Amazonka.Budgets.Types.ActionHistory: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.ActionHistory.ActionHistory
+ Amazonka.Budgets.Types.ActionHistory: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.ActionHistory.ActionHistory
+ Amazonka.Budgets.Types.ActionHistory: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.ActionHistory.ActionHistory
+ Amazonka.Budgets.Types.ActionHistory: instance GHC.Classes.Eq Amazonka.Budgets.Types.ActionHistory.ActionHistory
+ Amazonka.Budgets.Types.ActionHistory: instance GHC.Generics.Generic Amazonka.Budgets.Types.ActionHistory.ActionHistory
+ Amazonka.Budgets.Types.ActionHistory: instance GHC.Show.Show Amazonka.Budgets.Types.ActionHistory.ActionHistory
+ Amazonka.Budgets.Types.ActionHistory: newActionHistory :: UTCTime -> ActionStatus -> EventType -> ActionHistoryDetails -> ActionHistory
+ Amazonka.Budgets.Types.ActionHistoryDetails: ActionHistoryDetails' :: Text -> Action -> ActionHistoryDetails
+ Amazonka.Budgets.Types.ActionHistoryDetails: [$sel:action:ActionHistoryDetails'] :: ActionHistoryDetails -> Action
+ Amazonka.Budgets.Types.ActionHistoryDetails: [$sel:message:ActionHistoryDetails'] :: ActionHistoryDetails -> Text
+ Amazonka.Budgets.Types.ActionHistoryDetails: actionHistoryDetails_action :: Lens' ActionHistoryDetails Action
+ Amazonka.Budgets.Types.ActionHistoryDetails: actionHistoryDetails_message :: Lens' ActionHistoryDetails Text
+ Amazonka.Budgets.Types.ActionHistoryDetails: data ActionHistoryDetails
+ Amazonka.Budgets.Types.ActionHistoryDetails: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.ActionHistoryDetails.ActionHistoryDetails
+ Amazonka.Budgets.Types.ActionHistoryDetails: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.ActionHistoryDetails.ActionHistoryDetails
+ Amazonka.Budgets.Types.ActionHistoryDetails: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.ActionHistoryDetails.ActionHistoryDetails
+ Amazonka.Budgets.Types.ActionHistoryDetails: instance GHC.Classes.Eq Amazonka.Budgets.Types.ActionHistoryDetails.ActionHistoryDetails
+ Amazonka.Budgets.Types.ActionHistoryDetails: instance GHC.Generics.Generic Amazonka.Budgets.Types.ActionHistoryDetails.ActionHistoryDetails
+ Amazonka.Budgets.Types.ActionHistoryDetails: instance GHC.Show.Show Amazonka.Budgets.Types.ActionHistoryDetails.ActionHistoryDetails
+ Amazonka.Budgets.Types.ActionHistoryDetails: newActionHistoryDetails :: Text -> Action -> ActionHistoryDetails
+ Amazonka.Budgets.Types.ActionStatus: ActionStatus' :: Text -> ActionStatus
+ Amazonka.Budgets.Types.ActionStatus: [fromActionStatus] :: ActionStatus -> Text
+ Amazonka.Budgets.Types.ActionStatus: instance Amazonka.Data.ByteString.ToByteString Amazonka.Budgets.Types.ActionStatus.ActionStatus
+ Amazonka.Budgets.Types.ActionStatus: instance Amazonka.Data.Headers.ToHeader Amazonka.Budgets.Types.ActionStatus.ActionStatus
+ Amazonka.Budgets.Types.ActionStatus: instance Amazonka.Data.Log.ToLog Amazonka.Budgets.Types.ActionStatus.ActionStatus
+ Amazonka.Budgets.Types.ActionStatus: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.Types.ActionStatus.ActionStatus
+ Amazonka.Budgets.Types.ActionStatus: instance Amazonka.Data.Text.FromText Amazonka.Budgets.Types.ActionStatus.ActionStatus
+ Amazonka.Budgets.Types.ActionStatus: instance Amazonka.Data.Text.ToText Amazonka.Budgets.Types.ActionStatus.ActionStatus
+ Amazonka.Budgets.Types.ActionStatus: instance Amazonka.Data.XML.FromXML Amazonka.Budgets.Types.ActionStatus.ActionStatus
+ Amazonka.Budgets.Types.ActionStatus: instance Amazonka.Data.XML.ToXML Amazonka.Budgets.Types.ActionStatus.ActionStatus
+ Amazonka.Budgets.Types.ActionStatus: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.ActionStatus.ActionStatus
+ Amazonka.Budgets.Types.ActionStatus: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.ActionStatus.ActionStatus
+ Amazonka.Budgets.Types.ActionStatus: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Budgets.Types.ActionStatus.ActionStatus
+ Amazonka.Budgets.Types.ActionStatus: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.Types.ActionStatus.ActionStatus
+ Amazonka.Budgets.Types.ActionStatus: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Budgets.Types.ActionStatus.ActionStatus
+ Amazonka.Budgets.Types.ActionStatus: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.ActionStatus.ActionStatus
+ Amazonka.Budgets.Types.ActionStatus: instance GHC.Classes.Eq Amazonka.Budgets.Types.ActionStatus.ActionStatus
+ Amazonka.Budgets.Types.ActionStatus: instance GHC.Classes.Ord Amazonka.Budgets.Types.ActionStatus.ActionStatus
+ Amazonka.Budgets.Types.ActionStatus: instance GHC.Generics.Generic Amazonka.Budgets.Types.ActionStatus.ActionStatus
+ Amazonka.Budgets.Types.ActionStatus: instance GHC.Read.Read Amazonka.Budgets.Types.ActionStatus.ActionStatus
+ Amazonka.Budgets.Types.ActionStatus: instance GHC.Show.Show Amazonka.Budgets.Types.ActionStatus.ActionStatus
+ Amazonka.Budgets.Types.ActionStatus: newtype ActionStatus
+ Amazonka.Budgets.Types.ActionStatus: pattern ActionStatus_EXECUTION_FAILURE :: ActionStatus
+ Amazonka.Budgets.Types.ActionStatus: pattern ActionStatus_EXECUTION_IN_PROGRESS :: ActionStatus
+ Amazonka.Budgets.Types.ActionStatus: pattern ActionStatus_EXECUTION_SUCCESS :: ActionStatus
+ Amazonka.Budgets.Types.ActionStatus: pattern ActionStatus_PENDING :: ActionStatus
+ Amazonka.Budgets.Types.ActionStatus: pattern ActionStatus_RESET_FAILURE :: ActionStatus
+ Amazonka.Budgets.Types.ActionStatus: pattern ActionStatus_RESET_IN_PROGRESS :: ActionStatus
+ Amazonka.Budgets.Types.ActionStatus: pattern ActionStatus_REVERSE_FAILURE :: ActionStatus
+ Amazonka.Budgets.Types.ActionStatus: pattern ActionStatus_REVERSE_IN_PROGRESS :: ActionStatus
+ Amazonka.Budgets.Types.ActionStatus: pattern ActionStatus_REVERSE_SUCCESS :: ActionStatus
+ Amazonka.Budgets.Types.ActionStatus: pattern ActionStatus_STANDBY :: ActionStatus
+ Amazonka.Budgets.Types.ActionSubType: ActionSubType' :: Text -> ActionSubType
+ Amazonka.Budgets.Types.ActionSubType: [fromActionSubType] :: ActionSubType -> Text
+ Amazonka.Budgets.Types.ActionSubType: instance Amazonka.Data.ByteString.ToByteString Amazonka.Budgets.Types.ActionSubType.ActionSubType
+ Amazonka.Budgets.Types.ActionSubType: instance Amazonka.Data.Headers.ToHeader Amazonka.Budgets.Types.ActionSubType.ActionSubType
+ Amazonka.Budgets.Types.ActionSubType: instance Amazonka.Data.Log.ToLog Amazonka.Budgets.Types.ActionSubType.ActionSubType
+ Amazonka.Budgets.Types.ActionSubType: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.Types.ActionSubType.ActionSubType
+ Amazonka.Budgets.Types.ActionSubType: instance Amazonka.Data.Text.FromText Amazonka.Budgets.Types.ActionSubType.ActionSubType
+ Amazonka.Budgets.Types.ActionSubType: instance Amazonka.Data.Text.ToText Amazonka.Budgets.Types.ActionSubType.ActionSubType
+ Amazonka.Budgets.Types.ActionSubType: instance Amazonka.Data.XML.FromXML Amazonka.Budgets.Types.ActionSubType.ActionSubType
+ Amazonka.Budgets.Types.ActionSubType: instance Amazonka.Data.XML.ToXML Amazonka.Budgets.Types.ActionSubType.ActionSubType
+ Amazonka.Budgets.Types.ActionSubType: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.ActionSubType.ActionSubType
+ Amazonka.Budgets.Types.ActionSubType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.ActionSubType.ActionSubType
+ Amazonka.Budgets.Types.ActionSubType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Budgets.Types.ActionSubType.ActionSubType
+ Amazonka.Budgets.Types.ActionSubType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.Types.ActionSubType.ActionSubType
+ Amazonka.Budgets.Types.ActionSubType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Budgets.Types.ActionSubType.ActionSubType
+ Amazonka.Budgets.Types.ActionSubType: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.ActionSubType.ActionSubType
+ Amazonka.Budgets.Types.ActionSubType: instance GHC.Classes.Eq Amazonka.Budgets.Types.ActionSubType.ActionSubType
+ Amazonka.Budgets.Types.ActionSubType: instance GHC.Classes.Ord Amazonka.Budgets.Types.ActionSubType.ActionSubType
+ Amazonka.Budgets.Types.ActionSubType: instance GHC.Generics.Generic Amazonka.Budgets.Types.ActionSubType.ActionSubType
+ Amazonka.Budgets.Types.ActionSubType: instance GHC.Read.Read Amazonka.Budgets.Types.ActionSubType.ActionSubType
+ Amazonka.Budgets.Types.ActionSubType: instance GHC.Show.Show Amazonka.Budgets.Types.ActionSubType.ActionSubType
+ Amazonka.Budgets.Types.ActionSubType: newtype ActionSubType
+ Amazonka.Budgets.Types.ActionSubType: pattern ActionSubType_STOP_EC2_INSTANCES :: ActionSubType
+ Amazonka.Budgets.Types.ActionSubType: pattern ActionSubType_STOP_RDS_INSTANCES :: ActionSubType
+ Amazonka.Budgets.Types.ActionThreshold: ActionThreshold' :: Double -> ThresholdType -> ActionThreshold
+ Amazonka.Budgets.Types.ActionThreshold: [$sel:actionThresholdType:ActionThreshold'] :: ActionThreshold -> ThresholdType
+ Amazonka.Budgets.Types.ActionThreshold: [$sel:actionThresholdValue:ActionThreshold'] :: ActionThreshold -> Double
+ Amazonka.Budgets.Types.ActionThreshold: actionThreshold_actionThresholdType :: Lens' ActionThreshold ThresholdType
+ Amazonka.Budgets.Types.ActionThreshold: actionThreshold_actionThresholdValue :: Lens' ActionThreshold Double
+ Amazonka.Budgets.Types.ActionThreshold: data ActionThreshold
+ Amazonka.Budgets.Types.ActionThreshold: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.ActionThreshold.ActionThreshold
+ Amazonka.Budgets.Types.ActionThreshold: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.ActionThreshold.ActionThreshold
+ Amazonka.Budgets.Types.ActionThreshold: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.Types.ActionThreshold.ActionThreshold
+ Amazonka.Budgets.Types.ActionThreshold: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.ActionThreshold.ActionThreshold
+ Amazonka.Budgets.Types.ActionThreshold: instance GHC.Classes.Eq Amazonka.Budgets.Types.ActionThreshold.ActionThreshold
+ Amazonka.Budgets.Types.ActionThreshold: instance GHC.Generics.Generic Amazonka.Budgets.Types.ActionThreshold.ActionThreshold
+ Amazonka.Budgets.Types.ActionThreshold: instance GHC.Read.Read Amazonka.Budgets.Types.ActionThreshold.ActionThreshold
+ Amazonka.Budgets.Types.ActionThreshold: instance GHC.Show.Show Amazonka.Budgets.Types.ActionThreshold.ActionThreshold
+ Amazonka.Budgets.Types.ActionThreshold: newActionThreshold :: Double -> ThresholdType -> ActionThreshold
+ Amazonka.Budgets.Types.ActionType: ActionType' :: Text -> ActionType
+ Amazonka.Budgets.Types.ActionType: [fromActionType] :: ActionType -> Text
+ Amazonka.Budgets.Types.ActionType: instance Amazonka.Data.ByteString.ToByteString Amazonka.Budgets.Types.ActionType.ActionType
+ Amazonka.Budgets.Types.ActionType: instance Amazonka.Data.Headers.ToHeader Amazonka.Budgets.Types.ActionType.ActionType
+ Amazonka.Budgets.Types.ActionType: instance Amazonka.Data.Log.ToLog Amazonka.Budgets.Types.ActionType.ActionType
+ Amazonka.Budgets.Types.ActionType: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.Types.ActionType.ActionType
+ Amazonka.Budgets.Types.ActionType: instance Amazonka.Data.Text.FromText Amazonka.Budgets.Types.ActionType.ActionType
+ Amazonka.Budgets.Types.ActionType: instance Amazonka.Data.Text.ToText Amazonka.Budgets.Types.ActionType.ActionType
+ Amazonka.Budgets.Types.ActionType: instance Amazonka.Data.XML.FromXML Amazonka.Budgets.Types.ActionType.ActionType
+ Amazonka.Budgets.Types.ActionType: instance Amazonka.Data.XML.ToXML Amazonka.Budgets.Types.ActionType.ActionType
+ Amazonka.Budgets.Types.ActionType: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.ActionType.ActionType
+ Amazonka.Budgets.Types.ActionType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.ActionType.ActionType
+ Amazonka.Budgets.Types.ActionType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Budgets.Types.ActionType.ActionType
+ Amazonka.Budgets.Types.ActionType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.Types.ActionType.ActionType
+ Amazonka.Budgets.Types.ActionType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Budgets.Types.ActionType.ActionType
+ Amazonka.Budgets.Types.ActionType: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.ActionType.ActionType
+ Amazonka.Budgets.Types.ActionType: instance GHC.Classes.Eq Amazonka.Budgets.Types.ActionType.ActionType
+ Amazonka.Budgets.Types.ActionType: instance GHC.Classes.Ord Amazonka.Budgets.Types.ActionType.ActionType
+ Amazonka.Budgets.Types.ActionType: instance GHC.Generics.Generic Amazonka.Budgets.Types.ActionType.ActionType
+ Amazonka.Budgets.Types.ActionType: instance GHC.Read.Read Amazonka.Budgets.Types.ActionType.ActionType
+ Amazonka.Budgets.Types.ActionType: instance GHC.Show.Show Amazonka.Budgets.Types.ActionType.ActionType
+ Amazonka.Budgets.Types.ActionType: newtype ActionType
+ Amazonka.Budgets.Types.ActionType: pattern ActionType_APPLY_IAM_POLICY :: ActionType
+ Amazonka.Budgets.Types.ActionType: pattern ActionType_APPLY_SCP_POLICY :: ActionType
+ Amazonka.Budgets.Types.ActionType: pattern ActionType_RUN_SSM_DOCUMENTS :: ActionType
+ Amazonka.Budgets.Types.ApprovalModel: ApprovalModel' :: Text -> ApprovalModel
+ Amazonka.Budgets.Types.ApprovalModel: [fromApprovalModel] :: ApprovalModel -> Text
+ Amazonka.Budgets.Types.ApprovalModel: instance Amazonka.Data.ByteString.ToByteString Amazonka.Budgets.Types.ApprovalModel.ApprovalModel
+ Amazonka.Budgets.Types.ApprovalModel: instance Amazonka.Data.Headers.ToHeader Amazonka.Budgets.Types.ApprovalModel.ApprovalModel
+ Amazonka.Budgets.Types.ApprovalModel: instance Amazonka.Data.Log.ToLog Amazonka.Budgets.Types.ApprovalModel.ApprovalModel
+ Amazonka.Budgets.Types.ApprovalModel: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.Types.ApprovalModel.ApprovalModel
+ Amazonka.Budgets.Types.ApprovalModel: instance Amazonka.Data.Text.FromText Amazonka.Budgets.Types.ApprovalModel.ApprovalModel
+ Amazonka.Budgets.Types.ApprovalModel: instance Amazonka.Data.Text.ToText Amazonka.Budgets.Types.ApprovalModel.ApprovalModel
+ Amazonka.Budgets.Types.ApprovalModel: instance Amazonka.Data.XML.FromXML Amazonka.Budgets.Types.ApprovalModel.ApprovalModel
+ Amazonka.Budgets.Types.ApprovalModel: instance Amazonka.Data.XML.ToXML Amazonka.Budgets.Types.ApprovalModel.ApprovalModel
+ Amazonka.Budgets.Types.ApprovalModel: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.ApprovalModel.ApprovalModel
+ Amazonka.Budgets.Types.ApprovalModel: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.ApprovalModel.ApprovalModel
+ Amazonka.Budgets.Types.ApprovalModel: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Budgets.Types.ApprovalModel.ApprovalModel
+ Amazonka.Budgets.Types.ApprovalModel: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.Types.ApprovalModel.ApprovalModel
+ Amazonka.Budgets.Types.ApprovalModel: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Budgets.Types.ApprovalModel.ApprovalModel
+ Amazonka.Budgets.Types.ApprovalModel: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.ApprovalModel.ApprovalModel
+ Amazonka.Budgets.Types.ApprovalModel: instance GHC.Classes.Eq Amazonka.Budgets.Types.ApprovalModel.ApprovalModel
+ Amazonka.Budgets.Types.ApprovalModel: instance GHC.Classes.Ord Amazonka.Budgets.Types.ApprovalModel.ApprovalModel
+ Amazonka.Budgets.Types.ApprovalModel: instance GHC.Generics.Generic Amazonka.Budgets.Types.ApprovalModel.ApprovalModel
+ Amazonka.Budgets.Types.ApprovalModel: instance GHC.Read.Read Amazonka.Budgets.Types.ApprovalModel.ApprovalModel
+ Amazonka.Budgets.Types.ApprovalModel: instance GHC.Show.Show Amazonka.Budgets.Types.ApprovalModel.ApprovalModel
+ Amazonka.Budgets.Types.ApprovalModel: newtype ApprovalModel
+ Amazonka.Budgets.Types.ApprovalModel: pattern ApprovalModel_AUTOMATIC :: ApprovalModel
+ Amazonka.Budgets.Types.ApprovalModel: pattern ApprovalModel_MANUAL :: ApprovalModel
+ Amazonka.Budgets.Types.AutoAdjustData: AutoAdjustData' :: Maybe HistoricalOptions -> Maybe POSIX -> AutoAdjustType -> AutoAdjustData
+ Amazonka.Budgets.Types.AutoAdjustData: [$sel:autoAdjustType:AutoAdjustData'] :: AutoAdjustData -> AutoAdjustType
+ Amazonka.Budgets.Types.AutoAdjustData: [$sel:historicalOptions:AutoAdjustData'] :: AutoAdjustData -> Maybe HistoricalOptions
+ Amazonka.Budgets.Types.AutoAdjustData: [$sel:lastAutoAdjustTime:AutoAdjustData'] :: AutoAdjustData -> Maybe POSIX
+ Amazonka.Budgets.Types.AutoAdjustData: autoAdjustData_autoAdjustType :: Lens' AutoAdjustData AutoAdjustType
+ Amazonka.Budgets.Types.AutoAdjustData: autoAdjustData_historicalOptions :: Lens' AutoAdjustData (Maybe HistoricalOptions)
+ Amazonka.Budgets.Types.AutoAdjustData: autoAdjustData_lastAutoAdjustTime :: Lens' AutoAdjustData (Maybe UTCTime)
+ Amazonka.Budgets.Types.AutoAdjustData: data AutoAdjustData
+ Amazonka.Budgets.Types.AutoAdjustData: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.AutoAdjustData.AutoAdjustData
+ Amazonka.Budgets.Types.AutoAdjustData: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.AutoAdjustData.AutoAdjustData
+ Amazonka.Budgets.Types.AutoAdjustData: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.Types.AutoAdjustData.AutoAdjustData
+ Amazonka.Budgets.Types.AutoAdjustData: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.AutoAdjustData.AutoAdjustData
+ Amazonka.Budgets.Types.AutoAdjustData: instance GHC.Classes.Eq Amazonka.Budgets.Types.AutoAdjustData.AutoAdjustData
+ Amazonka.Budgets.Types.AutoAdjustData: instance GHC.Generics.Generic Amazonka.Budgets.Types.AutoAdjustData.AutoAdjustData
+ Amazonka.Budgets.Types.AutoAdjustData: instance GHC.Read.Read Amazonka.Budgets.Types.AutoAdjustData.AutoAdjustData
+ Amazonka.Budgets.Types.AutoAdjustData: instance GHC.Show.Show Amazonka.Budgets.Types.AutoAdjustData.AutoAdjustData
+ Amazonka.Budgets.Types.AutoAdjustData: newAutoAdjustData :: AutoAdjustType -> AutoAdjustData
+ Amazonka.Budgets.Types.AutoAdjustType: AutoAdjustType' :: Text -> AutoAdjustType
+ Amazonka.Budgets.Types.AutoAdjustType: [fromAutoAdjustType] :: AutoAdjustType -> Text
+ Amazonka.Budgets.Types.AutoAdjustType: instance Amazonka.Data.ByteString.ToByteString Amazonka.Budgets.Types.AutoAdjustType.AutoAdjustType
+ Amazonka.Budgets.Types.AutoAdjustType: instance Amazonka.Data.Headers.ToHeader Amazonka.Budgets.Types.AutoAdjustType.AutoAdjustType
+ Amazonka.Budgets.Types.AutoAdjustType: instance Amazonka.Data.Log.ToLog Amazonka.Budgets.Types.AutoAdjustType.AutoAdjustType
+ Amazonka.Budgets.Types.AutoAdjustType: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.Types.AutoAdjustType.AutoAdjustType
+ Amazonka.Budgets.Types.AutoAdjustType: instance Amazonka.Data.Text.FromText Amazonka.Budgets.Types.AutoAdjustType.AutoAdjustType
+ Amazonka.Budgets.Types.AutoAdjustType: instance Amazonka.Data.Text.ToText Amazonka.Budgets.Types.AutoAdjustType.AutoAdjustType
+ Amazonka.Budgets.Types.AutoAdjustType: instance Amazonka.Data.XML.FromXML Amazonka.Budgets.Types.AutoAdjustType.AutoAdjustType
+ Amazonka.Budgets.Types.AutoAdjustType: instance Amazonka.Data.XML.ToXML Amazonka.Budgets.Types.AutoAdjustType.AutoAdjustType
+ Amazonka.Budgets.Types.AutoAdjustType: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.AutoAdjustType.AutoAdjustType
+ Amazonka.Budgets.Types.AutoAdjustType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.AutoAdjustType.AutoAdjustType
+ Amazonka.Budgets.Types.AutoAdjustType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Budgets.Types.AutoAdjustType.AutoAdjustType
+ Amazonka.Budgets.Types.AutoAdjustType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.Types.AutoAdjustType.AutoAdjustType
+ Amazonka.Budgets.Types.AutoAdjustType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Budgets.Types.AutoAdjustType.AutoAdjustType
+ Amazonka.Budgets.Types.AutoAdjustType: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.AutoAdjustType.AutoAdjustType
+ Amazonka.Budgets.Types.AutoAdjustType: instance GHC.Classes.Eq Amazonka.Budgets.Types.AutoAdjustType.AutoAdjustType
+ Amazonka.Budgets.Types.AutoAdjustType: instance GHC.Classes.Ord Amazonka.Budgets.Types.AutoAdjustType.AutoAdjustType
+ Amazonka.Budgets.Types.AutoAdjustType: instance GHC.Generics.Generic Amazonka.Budgets.Types.AutoAdjustType.AutoAdjustType
+ Amazonka.Budgets.Types.AutoAdjustType: instance GHC.Read.Read Amazonka.Budgets.Types.AutoAdjustType.AutoAdjustType
+ Amazonka.Budgets.Types.AutoAdjustType: instance GHC.Show.Show Amazonka.Budgets.Types.AutoAdjustType.AutoAdjustType
+ Amazonka.Budgets.Types.AutoAdjustType: newtype AutoAdjustType
+ Amazonka.Budgets.Types.AutoAdjustType: pattern AutoAdjustType_FORECAST :: AutoAdjustType
+ Amazonka.Budgets.Types.AutoAdjustType: pattern AutoAdjustType_HISTORICAL :: AutoAdjustType
+ Amazonka.Budgets.Types.Budget: Budget' :: Maybe AutoAdjustData -> Maybe Spend -> Maybe CalculatedSpend -> Maybe (HashMap Text [Text]) -> Maybe CostTypes -> Maybe POSIX -> Maybe (HashMap Text Spend) -> Maybe TimePeriod -> Text -> TimeUnit -> BudgetType -> Budget
+ Amazonka.Budgets.Types.Budget: [$sel:autoAdjustData:Budget'] :: Budget -> Maybe AutoAdjustData
+ Amazonka.Budgets.Types.Budget: [$sel:budgetLimit:Budget'] :: Budget -> Maybe Spend
+ Amazonka.Budgets.Types.Budget: [$sel:budgetName:Budget'] :: Budget -> Text
+ Amazonka.Budgets.Types.Budget: [$sel:budgetType:Budget'] :: Budget -> BudgetType
+ Amazonka.Budgets.Types.Budget: [$sel:calculatedSpend:Budget'] :: Budget -> Maybe CalculatedSpend
+ Amazonka.Budgets.Types.Budget: [$sel:costFilters:Budget'] :: Budget -> Maybe (HashMap Text [Text])
+ Amazonka.Budgets.Types.Budget: [$sel:costTypes:Budget'] :: Budget -> Maybe CostTypes
+ Amazonka.Budgets.Types.Budget: [$sel:lastUpdatedTime:Budget'] :: Budget -> Maybe POSIX
+ Amazonka.Budgets.Types.Budget: [$sel:plannedBudgetLimits:Budget'] :: Budget -> Maybe (HashMap Text Spend)
+ Amazonka.Budgets.Types.Budget: [$sel:timePeriod:Budget'] :: Budget -> Maybe TimePeriod
+ Amazonka.Budgets.Types.Budget: [$sel:timeUnit:Budget'] :: Budget -> TimeUnit
+ Amazonka.Budgets.Types.Budget: budget_autoAdjustData :: Lens' Budget (Maybe AutoAdjustData)
+ Amazonka.Budgets.Types.Budget: budget_budgetLimit :: Lens' Budget (Maybe Spend)
+ Amazonka.Budgets.Types.Budget: budget_budgetName :: Lens' Budget Text
+ Amazonka.Budgets.Types.Budget: budget_budgetType :: Lens' Budget BudgetType
+ Amazonka.Budgets.Types.Budget: budget_calculatedSpend :: Lens' Budget (Maybe CalculatedSpend)
+ Amazonka.Budgets.Types.Budget: budget_costFilters :: Lens' Budget (Maybe (HashMap Text [Text]))
+ Amazonka.Budgets.Types.Budget: budget_costTypes :: Lens' Budget (Maybe CostTypes)
+ Amazonka.Budgets.Types.Budget: budget_lastUpdatedTime :: Lens' Budget (Maybe UTCTime)
+ Amazonka.Budgets.Types.Budget: budget_plannedBudgetLimits :: Lens' Budget (Maybe (HashMap Text Spend))
+ Amazonka.Budgets.Types.Budget: budget_timePeriod :: Lens' Budget (Maybe TimePeriod)
+ Amazonka.Budgets.Types.Budget: budget_timeUnit :: Lens' Budget TimeUnit
+ Amazonka.Budgets.Types.Budget: data Budget
+ Amazonka.Budgets.Types.Budget: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.Budget.Budget
+ Amazonka.Budgets.Types.Budget: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.Budget.Budget
+ Amazonka.Budgets.Types.Budget: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.Types.Budget.Budget
+ Amazonka.Budgets.Types.Budget: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.Budget.Budget
+ Amazonka.Budgets.Types.Budget: instance GHC.Classes.Eq Amazonka.Budgets.Types.Budget.Budget
+ Amazonka.Budgets.Types.Budget: instance GHC.Generics.Generic Amazonka.Budgets.Types.Budget.Budget
+ Amazonka.Budgets.Types.Budget: instance GHC.Read.Read Amazonka.Budgets.Types.Budget.Budget
+ Amazonka.Budgets.Types.Budget: instance GHC.Show.Show Amazonka.Budgets.Types.Budget.Budget
+ Amazonka.Budgets.Types.Budget: newBudget :: Text -> TimeUnit -> BudgetType -> Budget
+ Amazonka.Budgets.Types.BudgetNotificationsForAccount: BudgetNotificationsForAccount' :: Maybe Text -> Maybe [Notification] -> BudgetNotificationsForAccount
+ Amazonka.Budgets.Types.BudgetNotificationsForAccount: [$sel:budgetName:BudgetNotificationsForAccount'] :: BudgetNotificationsForAccount -> Maybe Text
+ Amazonka.Budgets.Types.BudgetNotificationsForAccount: [$sel:notifications:BudgetNotificationsForAccount'] :: BudgetNotificationsForAccount -> Maybe [Notification]
+ Amazonka.Budgets.Types.BudgetNotificationsForAccount: budgetNotificationsForAccount_budgetName :: Lens' BudgetNotificationsForAccount (Maybe Text)
+ Amazonka.Budgets.Types.BudgetNotificationsForAccount: budgetNotificationsForAccount_notifications :: Lens' BudgetNotificationsForAccount (Maybe [Notification])
+ Amazonka.Budgets.Types.BudgetNotificationsForAccount: data BudgetNotificationsForAccount
+ Amazonka.Budgets.Types.BudgetNotificationsForAccount: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.BudgetNotificationsForAccount.BudgetNotificationsForAccount
+ Amazonka.Budgets.Types.BudgetNotificationsForAccount: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.BudgetNotificationsForAccount.BudgetNotificationsForAccount
+ Amazonka.Budgets.Types.BudgetNotificationsForAccount: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.BudgetNotificationsForAccount.BudgetNotificationsForAccount
+ Amazonka.Budgets.Types.BudgetNotificationsForAccount: instance GHC.Classes.Eq Amazonka.Budgets.Types.BudgetNotificationsForAccount.BudgetNotificationsForAccount
+ Amazonka.Budgets.Types.BudgetNotificationsForAccount: instance GHC.Generics.Generic Amazonka.Budgets.Types.BudgetNotificationsForAccount.BudgetNotificationsForAccount
+ Amazonka.Budgets.Types.BudgetNotificationsForAccount: instance GHC.Read.Read Amazonka.Budgets.Types.BudgetNotificationsForAccount.BudgetNotificationsForAccount
+ Amazonka.Budgets.Types.BudgetNotificationsForAccount: instance GHC.Show.Show Amazonka.Budgets.Types.BudgetNotificationsForAccount.BudgetNotificationsForAccount
+ Amazonka.Budgets.Types.BudgetNotificationsForAccount: newBudgetNotificationsForAccount :: BudgetNotificationsForAccount
+ Amazonka.Budgets.Types.BudgetPerformanceHistory: BudgetPerformanceHistory' :: Maybe Text -> Maybe BudgetType -> Maybe [BudgetedAndActualAmounts] -> Maybe (HashMap Text [Text]) -> Maybe CostTypes -> Maybe TimeUnit -> BudgetPerformanceHistory
+ Amazonka.Budgets.Types.BudgetPerformanceHistory: [$sel:budgetName:BudgetPerformanceHistory'] :: BudgetPerformanceHistory -> Maybe Text
+ Amazonka.Budgets.Types.BudgetPerformanceHistory: [$sel:budgetType:BudgetPerformanceHistory'] :: BudgetPerformanceHistory -> Maybe BudgetType
+ Amazonka.Budgets.Types.BudgetPerformanceHistory: [$sel:budgetedAndActualAmountsList:BudgetPerformanceHistory'] :: BudgetPerformanceHistory -> Maybe [BudgetedAndActualAmounts]
+ Amazonka.Budgets.Types.BudgetPerformanceHistory: [$sel:costFilters:BudgetPerformanceHistory'] :: BudgetPerformanceHistory -> Maybe (HashMap Text [Text])
+ Amazonka.Budgets.Types.BudgetPerformanceHistory: [$sel:costTypes:BudgetPerformanceHistory'] :: BudgetPerformanceHistory -> Maybe CostTypes
+ Amazonka.Budgets.Types.BudgetPerformanceHistory: [$sel:timeUnit:BudgetPerformanceHistory'] :: BudgetPerformanceHistory -> Maybe TimeUnit
+ Amazonka.Budgets.Types.BudgetPerformanceHistory: budgetPerformanceHistory_budgetName :: Lens' BudgetPerformanceHistory (Maybe Text)
+ Amazonka.Budgets.Types.BudgetPerformanceHistory: budgetPerformanceHistory_budgetType :: Lens' BudgetPerformanceHistory (Maybe BudgetType)
+ Amazonka.Budgets.Types.BudgetPerformanceHistory: budgetPerformanceHistory_budgetedAndActualAmountsList :: Lens' BudgetPerformanceHistory (Maybe [BudgetedAndActualAmounts])
+ Amazonka.Budgets.Types.BudgetPerformanceHistory: budgetPerformanceHistory_costFilters :: Lens' BudgetPerformanceHistory (Maybe (HashMap Text [Text]))
+ Amazonka.Budgets.Types.BudgetPerformanceHistory: budgetPerformanceHistory_costTypes :: Lens' BudgetPerformanceHistory (Maybe CostTypes)
+ Amazonka.Budgets.Types.BudgetPerformanceHistory: budgetPerformanceHistory_timeUnit :: Lens' BudgetPerformanceHistory (Maybe TimeUnit)
+ Amazonka.Budgets.Types.BudgetPerformanceHistory: data BudgetPerformanceHistory
+ Amazonka.Budgets.Types.BudgetPerformanceHistory: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.BudgetPerformanceHistory.BudgetPerformanceHistory
+ Amazonka.Budgets.Types.BudgetPerformanceHistory: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.BudgetPerformanceHistory.BudgetPerformanceHistory
+ Amazonka.Budgets.Types.BudgetPerformanceHistory: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.BudgetPerformanceHistory.BudgetPerformanceHistory
+ Amazonka.Budgets.Types.BudgetPerformanceHistory: instance GHC.Classes.Eq Amazonka.Budgets.Types.BudgetPerformanceHistory.BudgetPerformanceHistory
+ Amazonka.Budgets.Types.BudgetPerformanceHistory: instance GHC.Generics.Generic Amazonka.Budgets.Types.BudgetPerformanceHistory.BudgetPerformanceHistory
+ Amazonka.Budgets.Types.BudgetPerformanceHistory: instance GHC.Read.Read Amazonka.Budgets.Types.BudgetPerformanceHistory.BudgetPerformanceHistory
+ Amazonka.Budgets.Types.BudgetPerformanceHistory: instance GHC.Show.Show Amazonka.Budgets.Types.BudgetPerformanceHistory.BudgetPerformanceHistory
+ Amazonka.Budgets.Types.BudgetPerformanceHistory: newBudgetPerformanceHistory :: BudgetPerformanceHistory
+ Amazonka.Budgets.Types.BudgetType: BudgetType' :: Text -> BudgetType
+ Amazonka.Budgets.Types.BudgetType: [fromBudgetType] :: BudgetType -> Text
+ Amazonka.Budgets.Types.BudgetType: instance Amazonka.Data.ByteString.ToByteString Amazonka.Budgets.Types.BudgetType.BudgetType
+ Amazonka.Budgets.Types.BudgetType: instance Amazonka.Data.Headers.ToHeader Amazonka.Budgets.Types.BudgetType.BudgetType
+ Amazonka.Budgets.Types.BudgetType: instance Amazonka.Data.Log.ToLog Amazonka.Budgets.Types.BudgetType.BudgetType
+ Amazonka.Budgets.Types.BudgetType: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.Types.BudgetType.BudgetType
+ Amazonka.Budgets.Types.BudgetType: instance Amazonka.Data.Text.FromText Amazonka.Budgets.Types.BudgetType.BudgetType
+ Amazonka.Budgets.Types.BudgetType: instance Amazonka.Data.Text.ToText Amazonka.Budgets.Types.BudgetType.BudgetType
+ Amazonka.Budgets.Types.BudgetType: instance Amazonka.Data.XML.FromXML Amazonka.Budgets.Types.BudgetType.BudgetType
+ Amazonka.Budgets.Types.BudgetType: instance Amazonka.Data.XML.ToXML Amazonka.Budgets.Types.BudgetType.BudgetType
+ Amazonka.Budgets.Types.BudgetType: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.BudgetType.BudgetType
+ Amazonka.Budgets.Types.BudgetType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.BudgetType.BudgetType
+ Amazonka.Budgets.Types.BudgetType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Budgets.Types.BudgetType.BudgetType
+ Amazonka.Budgets.Types.BudgetType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.Types.BudgetType.BudgetType
+ Amazonka.Budgets.Types.BudgetType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Budgets.Types.BudgetType.BudgetType
+ Amazonka.Budgets.Types.BudgetType: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.BudgetType.BudgetType
+ Amazonka.Budgets.Types.BudgetType: instance GHC.Classes.Eq Amazonka.Budgets.Types.BudgetType.BudgetType
+ Amazonka.Budgets.Types.BudgetType: instance GHC.Classes.Ord Amazonka.Budgets.Types.BudgetType.BudgetType
+ Amazonka.Budgets.Types.BudgetType: instance GHC.Generics.Generic Amazonka.Budgets.Types.BudgetType.BudgetType
+ Amazonka.Budgets.Types.BudgetType: instance GHC.Read.Read Amazonka.Budgets.Types.BudgetType.BudgetType
+ Amazonka.Budgets.Types.BudgetType: instance GHC.Show.Show Amazonka.Budgets.Types.BudgetType.BudgetType
+ Amazonka.Budgets.Types.BudgetType: newtype BudgetType
+ Amazonka.Budgets.Types.BudgetType: pattern BudgetType_COST :: BudgetType
+ Amazonka.Budgets.Types.BudgetType: pattern BudgetType_RI_COVERAGE :: BudgetType
+ Amazonka.Budgets.Types.BudgetType: pattern BudgetType_RI_UTILIZATION :: BudgetType
+ Amazonka.Budgets.Types.BudgetType: pattern BudgetType_SAVINGS_PLANS_COVERAGE :: BudgetType
+ Amazonka.Budgets.Types.BudgetType: pattern BudgetType_SAVINGS_PLANS_UTILIZATION :: BudgetType
+ Amazonka.Budgets.Types.BudgetType: pattern BudgetType_USAGE :: BudgetType
+ Amazonka.Budgets.Types.BudgetedAndActualAmounts: BudgetedAndActualAmounts' :: Maybe Spend -> Maybe Spend -> Maybe TimePeriod -> BudgetedAndActualAmounts
+ Amazonka.Budgets.Types.BudgetedAndActualAmounts: [$sel:actualAmount:BudgetedAndActualAmounts'] :: BudgetedAndActualAmounts -> Maybe Spend
+ Amazonka.Budgets.Types.BudgetedAndActualAmounts: [$sel:budgetedAmount:BudgetedAndActualAmounts'] :: BudgetedAndActualAmounts -> Maybe Spend
+ Amazonka.Budgets.Types.BudgetedAndActualAmounts: [$sel:timePeriod:BudgetedAndActualAmounts'] :: BudgetedAndActualAmounts -> Maybe TimePeriod
+ Amazonka.Budgets.Types.BudgetedAndActualAmounts: budgetedAndActualAmounts_actualAmount :: Lens' BudgetedAndActualAmounts (Maybe Spend)
+ Amazonka.Budgets.Types.BudgetedAndActualAmounts: budgetedAndActualAmounts_budgetedAmount :: Lens' BudgetedAndActualAmounts (Maybe Spend)
+ Amazonka.Budgets.Types.BudgetedAndActualAmounts: budgetedAndActualAmounts_timePeriod :: Lens' BudgetedAndActualAmounts (Maybe TimePeriod)
+ Amazonka.Budgets.Types.BudgetedAndActualAmounts: data BudgetedAndActualAmounts
+ Amazonka.Budgets.Types.BudgetedAndActualAmounts: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.BudgetedAndActualAmounts.BudgetedAndActualAmounts
+ Amazonka.Budgets.Types.BudgetedAndActualAmounts: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.BudgetedAndActualAmounts.BudgetedAndActualAmounts
+ Amazonka.Budgets.Types.BudgetedAndActualAmounts: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.BudgetedAndActualAmounts.BudgetedAndActualAmounts
+ Amazonka.Budgets.Types.BudgetedAndActualAmounts: instance GHC.Classes.Eq Amazonka.Budgets.Types.BudgetedAndActualAmounts.BudgetedAndActualAmounts
+ Amazonka.Budgets.Types.BudgetedAndActualAmounts: instance GHC.Generics.Generic Amazonka.Budgets.Types.BudgetedAndActualAmounts.BudgetedAndActualAmounts
+ Amazonka.Budgets.Types.BudgetedAndActualAmounts: instance GHC.Read.Read Amazonka.Budgets.Types.BudgetedAndActualAmounts.BudgetedAndActualAmounts
+ Amazonka.Budgets.Types.BudgetedAndActualAmounts: instance GHC.Show.Show Amazonka.Budgets.Types.BudgetedAndActualAmounts.BudgetedAndActualAmounts
+ Amazonka.Budgets.Types.BudgetedAndActualAmounts: newBudgetedAndActualAmounts :: BudgetedAndActualAmounts
+ Amazonka.Budgets.Types.CalculatedSpend: CalculatedSpend' :: Maybe Spend -> Spend -> CalculatedSpend
+ Amazonka.Budgets.Types.CalculatedSpend: [$sel:actualSpend:CalculatedSpend'] :: CalculatedSpend -> Spend
+ Amazonka.Budgets.Types.CalculatedSpend: [$sel:forecastedSpend:CalculatedSpend'] :: CalculatedSpend -> Maybe Spend
+ Amazonka.Budgets.Types.CalculatedSpend: calculatedSpend_actualSpend :: Lens' CalculatedSpend Spend
+ Amazonka.Budgets.Types.CalculatedSpend: calculatedSpend_forecastedSpend :: Lens' CalculatedSpend (Maybe Spend)
+ Amazonka.Budgets.Types.CalculatedSpend: data CalculatedSpend
+ Amazonka.Budgets.Types.CalculatedSpend: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.CalculatedSpend.CalculatedSpend
+ Amazonka.Budgets.Types.CalculatedSpend: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.CalculatedSpend.CalculatedSpend
+ Amazonka.Budgets.Types.CalculatedSpend: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.Types.CalculatedSpend.CalculatedSpend
+ Amazonka.Budgets.Types.CalculatedSpend: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.CalculatedSpend.CalculatedSpend
+ Amazonka.Budgets.Types.CalculatedSpend: instance GHC.Classes.Eq Amazonka.Budgets.Types.CalculatedSpend.CalculatedSpend
+ Amazonka.Budgets.Types.CalculatedSpend: instance GHC.Generics.Generic Amazonka.Budgets.Types.CalculatedSpend.CalculatedSpend
+ Amazonka.Budgets.Types.CalculatedSpend: instance GHC.Read.Read Amazonka.Budgets.Types.CalculatedSpend.CalculatedSpend
+ Amazonka.Budgets.Types.CalculatedSpend: instance GHC.Show.Show Amazonka.Budgets.Types.CalculatedSpend.CalculatedSpend
+ Amazonka.Budgets.Types.CalculatedSpend: newCalculatedSpend :: Spend -> CalculatedSpend
+ Amazonka.Budgets.Types.ComparisonOperator: ComparisonOperator' :: Text -> ComparisonOperator
+ Amazonka.Budgets.Types.ComparisonOperator: [fromComparisonOperator] :: ComparisonOperator -> Text
+ Amazonka.Budgets.Types.ComparisonOperator: instance Amazonka.Data.ByteString.ToByteString Amazonka.Budgets.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.Budgets.Types.ComparisonOperator: instance Amazonka.Data.Headers.ToHeader Amazonka.Budgets.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.Budgets.Types.ComparisonOperator: instance Amazonka.Data.Log.ToLog Amazonka.Budgets.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.Budgets.Types.ComparisonOperator: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.Budgets.Types.ComparisonOperator: instance Amazonka.Data.Text.FromText Amazonka.Budgets.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.Budgets.Types.ComparisonOperator: instance Amazonka.Data.Text.ToText Amazonka.Budgets.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.Budgets.Types.ComparisonOperator: instance Amazonka.Data.XML.FromXML Amazonka.Budgets.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.Budgets.Types.ComparisonOperator: instance Amazonka.Data.XML.ToXML Amazonka.Budgets.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.Budgets.Types.ComparisonOperator: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.Budgets.Types.ComparisonOperator: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.Budgets.Types.ComparisonOperator: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Budgets.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.Budgets.Types.ComparisonOperator: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.Budgets.Types.ComparisonOperator: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Budgets.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.Budgets.Types.ComparisonOperator: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.Budgets.Types.ComparisonOperator: instance GHC.Classes.Eq Amazonka.Budgets.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.Budgets.Types.ComparisonOperator: instance GHC.Classes.Ord Amazonka.Budgets.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.Budgets.Types.ComparisonOperator: instance GHC.Generics.Generic Amazonka.Budgets.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.Budgets.Types.ComparisonOperator: instance GHC.Read.Read Amazonka.Budgets.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.Budgets.Types.ComparisonOperator: instance GHC.Show.Show Amazonka.Budgets.Types.ComparisonOperator.ComparisonOperator
+ Amazonka.Budgets.Types.ComparisonOperator: newtype ComparisonOperator
+ Amazonka.Budgets.Types.ComparisonOperator: pattern ComparisonOperator_EQUAL_TO :: ComparisonOperator
+ Amazonka.Budgets.Types.ComparisonOperator: pattern ComparisonOperator_GREATER_THAN :: ComparisonOperator
+ Amazonka.Budgets.Types.ComparisonOperator: pattern ComparisonOperator_LESS_THAN :: ComparisonOperator
+ Amazonka.Budgets.Types.CostTypes: CostTypes' :: Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> CostTypes
+ Amazonka.Budgets.Types.CostTypes: [$sel:includeCredit:CostTypes'] :: CostTypes -> Maybe Bool
+ Amazonka.Budgets.Types.CostTypes: [$sel:includeDiscount:CostTypes'] :: CostTypes -> Maybe Bool
+ Amazonka.Budgets.Types.CostTypes: [$sel:includeOtherSubscription:CostTypes'] :: CostTypes -> Maybe Bool
+ Amazonka.Budgets.Types.CostTypes: [$sel:includeRecurring:CostTypes'] :: CostTypes -> Maybe Bool
+ Amazonka.Budgets.Types.CostTypes: [$sel:includeRefund:CostTypes'] :: CostTypes -> Maybe Bool
+ Amazonka.Budgets.Types.CostTypes: [$sel:includeSubscription:CostTypes'] :: CostTypes -> Maybe Bool
+ Amazonka.Budgets.Types.CostTypes: [$sel:includeSupport:CostTypes'] :: CostTypes -> Maybe Bool
+ Amazonka.Budgets.Types.CostTypes: [$sel:includeTax:CostTypes'] :: CostTypes -> Maybe Bool
+ Amazonka.Budgets.Types.CostTypes: [$sel:includeUpfront:CostTypes'] :: CostTypes -> Maybe Bool
+ Amazonka.Budgets.Types.CostTypes: [$sel:useAmortized:CostTypes'] :: CostTypes -> Maybe Bool
+ Amazonka.Budgets.Types.CostTypes: [$sel:useBlended:CostTypes'] :: CostTypes -> Maybe Bool
+ Amazonka.Budgets.Types.CostTypes: costTypes_includeCredit :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Types.CostTypes: costTypes_includeDiscount :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Types.CostTypes: costTypes_includeOtherSubscription :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Types.CostTypes: costTypes_includeRecurring :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Types.CostTypes: costTypes_includeRefund :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Types.CostTypes: costTypes_includeSubscription :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Types.CostTypes: costTypes_includeSupport :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Types.CostTypes: costTypes_includeTax :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Types.CostTypes: costTypes_includeUpfront :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Types.CostTypes: costTypes_useAmortized :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Types.CostTypes: costTypes_useBlended :: Lens' CostTypes (Maybe Bool)
+ Amazonka.Budgets.Types.CostTypes: data CostTypes
+ Amazonka.Budgets.Types.CostTypes: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.CostTypes.CostTypes
+ Amazonka.Budgets.Types.CostTypes: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.CostTypes.CostTypes
+ Amazonka.Budgets.Types.CostTypes: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.Types.CostTypes.CostTypes
+ Amazonka.Budgets.Types.CostTypes: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.CostTypes.CostTypes
+ Amazonka.Budgets.Types.CostTypes: instance GHC.Classes.Eq Amazonka.Budgets.Types.CostTypes.CostTypes
+ Amazonka.Budgets.Types.CostTypes: instance GHC.Generics.Generic Amazonka.Budgets.Types.CostTypes.CostTypes
+ Amazonka.Budgets.Types.CostTypes: instance GHC.Read.Read Amazonka.Budgets.Types.CostTypes.CostTypes
+ Amazonka.Budgets.Types.CostTypes: instance GHC.Show.Show Amazonka.Budgets.Types.CostTypes.CostTypes
+ Amazonka.Budgets.Types.CostTypes: newCostTypes :: CostTypes
+ Amazonka.Budgets.Types.Definition: Definition' :: Maybe IamActionDefinition -> Maybe ScpActionDefinition -> Maybe SsmActionDefinition -> Definition
+ Amazonka.Budgets.Types.Definition: [$sel:iamActionDefinition:Definition'] :: Definition -> Maybe IamActionDefinition
+ Amazonka.Budgets.Types.Definition: [$sel:scpActionDefinition:Definition'] :: Definition -> Maybe ScpActionDefinition
+ Amazonka.Budgets.Types.Definition: [$sel:ssmActionDefinition:Definition'] :: Definition -> Maybe SsmActionDefinition
+ Amazonka.Budgets.Types.Definition: data Definition
+ Amazonka.Budgets.Types.Definition: definition_iamActionDefinition :: Lens' Definition (Maybe IamActionDefinition)
+ Amazonka.Budgets.Types.Definition: definition_scpActionDefinition :: Lens' Definition (Maybe ScpActionDefinition)
+ Amazonka.Budgets.Types.Definition: definition_ssmActionDefinition :: Lens' Definition (Maybe SsmActionDefinition)
+ Amazonka.Budgets.Types.Definition: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.Definition.Definition
+ Amazonka.Budgets.Types.Definition: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.Definition.Definition
+ Amazonka.Budgets.Types.Definition: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.Types.Definition.Definition
+ Amazonka.Budgets.Types.Definition: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.Definition.Definition
+ Amazonka.Budgets.Types.Definition: instance GHC.Classes.Eq Amazonka.Budgets.Types.Definition.Definition
+ Amazonka.Budgets.Types.Definition: instance GHC.Generics.Generic Amazonka.Budgets.Types.Definition.Definition
+ Amazonka.Budgets.Types.Definition: instance GHC.Read.Read Amazonka.Budgets.Types.Definition.Definition
+ Amazonka.Budgets.Types.Definition: instance GHC.Show.Show Amazonka.Budgets.Types.Definition.Definition
+ Amazonka.Budgets.Types.Definition: newDefinition :: Definition
+ Amazonka.Budgets.Types.EventType: EventType' :: Text -> EventType
+ Amazonka.Budgets.Types.EventType: [fromEventType] :: EventType -> Text
+ Amazonka.Budgets.Types.EventType: instance Amazonka.Data.ByteString.ToByteString Amazonka.Budgets.Types.EventType.EventType
+ Amazonka.Budgets.Types.EventType: instance Amazonka.Data.Headers.ToHeader Amazonka.Budgets.Types.EventType.EventType
+ Amazonka.Budgets.Types.EventType: instance Amazonka.Data.Log.ToLog Amazonka.Budgets.Types.EventType.EventType
+ Amazonka.Budgets.Types.EventType: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.Types.EventType.EventType
+ Amazonka.Budgets.Types.EventType: instance Amazonka.Data.Text.FromText Amazonka.Budgets.Types.EventType.EventType
+ Amazonka.Budgets.Types.EventType: instance Amazonka.Data.Text.ToText Amazonka.Budgets.Types.EventType.EventType
+ Amazonka.Budgets.Types.EventType: instance Amazonka.Data.XML.FromXML Amazonka.Budgets.Types.EventType.EventType
+ Amazonka.Budgets.Types.EventType: instance Amazonka.Data.XML.ToXML Amazonka.Budgets.Types.EventType.EventType
+ Amazonka.Budgets.Types.EventType: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.EventType.EventType
+ Amazonka.Budgets.Types.EventType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.EventType.EventType
+ Amazonka.Budgets.Types.EventType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Budgets.Types.EventType.EventType
+ Amazonka.Budgets.Types.EventType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.Types.EventType.EventType
+ Amazonka.Budgets.Types.EventType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Budgets.Types.EventType.EventType
+ Amazonka.Budgets.Types.EventType: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.EventType.EventType
+ Amazonka.Budgets.Types.EventType: instance GHC.Classes.Eq Amazonka.Budgets.Types.EventType.EventType
+ Amazonka.Budgets.Types.EventType: instance GHC.Classes.Ord Amazonka.Budgets.Types.EventType.EventType
+ Amazonka.Budgets.Types.EventType: instance GHC.Generics.Generic Amazonka.Budgets.Types.EventType.EventType
+ Amazonka.Budgets.Types.EventType: instance GHC.Read.Read Amazonka.Budgets.Types.EventType.EventType
+ Amazonka.Budgets.Types.EventType: instance GHC.Show.Show Amazonka.Budgets.Types.EventType.EventType
+ Amazonka.Budgets.Types.EventType: newtype EventType
+ Amazonka.Budgets.Types.EventType: pattern EventType_CREATE_ACTION :: EventType
+ Amazonka.Budgets.Types.EventType: pattern EventType_DELETE_ACTION :: EventType
+ Amazonka.Budgets.Types.EventType: pattern EventType_EXECUTE_ACTION :: EventType
+ Amazonka.Budgets.Types.EventType: pattern EventType_SYSTEM :: EventType
+ Amazonka.Budgets.Types.EventType: pattern EventType_UPDATE_ACTION :: EventType
+ Amazonka.Budgets.Types.ExecutionType: ExecutionType' :: Text -> ExecutionType
+ Amazonka.Budgets.Types.ExecutionType: [fromExecutionType] :: ExecutionType -> Text
+ Amazonka.Budgets.Types.ExecutionType: instance Amazonka.Data.ByteString.ToByteString Amazonka.Budgets.Types.ExecutionType.ExecutionType
+ Amazonka.Budgets.Types.ExecutionType: instance Amazonka.Data.Headers.ToHeader Amazonka.Budgets.Types.ExecutionType.ExecutionType
+ Amazonka.Budgets.Types.ExecutionType: instance Amazonka.Data.Log.ToLog Amazonka.Budgets.Types.ExecutionType.ExecutionType
+ Amazonka.Budgets.Types.ExecutionType: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.Types.ExecutionType.ExecutionType
+ Amazonka.Budgets.Types.ExecutionType: instance Amazonka.Data.Text.FromText Amazonka.Budgets.Types.ExecutionType.ExecutionType
+ Amazonka.Budgets.Types.ExecutionType: instance Amazonka.Data.Text.ToText Amazonka.Budgets.Types.ExecutionType.ExecutionType
+ Amazonka.Budgets.Types.ExecutionType: instance Amazonka.Data.XML.FromXML Amazonka.Budgets.Types.ExecutionType.ExecutionType
+ Amazonka.Budgets.Types.ExecutionType: instance Amazonka.Data.XML.ToXML Amazonka.Budgets.Types.ExecutionType.ExecutionType
+ Amazonka.Budgets.Types.ExecutionType: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.ExecutionType.ExecutionType
+ Amazonka.Budgets.Types.ExecutionType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.ExecutionType.ExecutionType
+ Amazonka.Budgets.Types.ExecutionType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Budgets.Types.ExecutionType.ExecutionType
+ Amazonka.Budgets.Types.ExecutionType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.Types.ExecutionType.ExecutionType
+ Amazonka.Budgets.Types.ExecutionType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Budgets.Types.ExecutionType.ExecutionType
+ Amazonka.Budgets.Types.ExecutionType: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.ExecutionType.ExecutionType
+ Amazonka.Budgets.Types.ExecutionType: instance GHC.Classes.Eq Amazonka.Budgets.Types.ExecutionType.ExecutionType
+ Amazonka.Budgets.Types.ExecutionType: instance GHC.Classes.Ord Amazonka.Budgets.Types.ExecutionType.ExecutionType
+ Amazonka.Budgets.Types.ExecutionType: instance GHC.Generics.Generic Amazonka.Budgets.Types.ExecutionType.ExecutionType
+ Amazonka.Budgets.Types.ExecutionType: instance GHC.Read.Read Amazonka.Budgets.Types.ExecutionType.ExecutionType
+ Amazonka.Budgets.Types.ExecutionType: instance GHC.Show.Show Amazonka.Budgets.Types.ExecutionType.ExecutionType
+ Amazonka.Budgets.Types.ExecutionType: newtype ExecutionType
+ Amazonka.Budgets.Types.ExecutionType: pattern ExecutionType_APPROVE_BUDGET_ACTION :: ExecutionType
+ Amazonka.Budgets.Types.ExecutionType: pattern ExecutionType_RESET_BUDGET_ACTION :: ExecutionType
+ Amazonka.Budgets.Types.ExecutionType: pattern ExecutionType_RETRY_BUDGET_ACTION :: ExecutionType
+ Amazonka.Budgets.Types.ExecutionType: pattern ExecutionType_REVERSE_BUDGET_ACTION :: ExecutionType
+ Amazonka.Budgets.Types.HistoricalOptions: HistoricalOptions' :: Maybe Natural -> Natural -> HistoricalOptions
+ Amazonka.Budgets.Types.HistoricalOptions: [$sel:budgetAdjustmentPeriod:HistoricalOptions'] :: HistoricalOptions -> Natural
+ Amazonka.Budgets.Types.HistoricalOptions: [$sel:lookBackAvailablePeriods:HistoricalOptions'] :: HistoricalOptions -> Maybe Natural
+ Amazonka.Budgets.Types.HistoricalOptions: data HistoricalOptions
+ Amazonka.Budgets.Types.HistoricalOptions: historicalOptions_budgetAdjustmentPeriod :: Lens' HistoricalOptions Natural
+ Amazonka.Budgets.Types.HistoricalOptions: historicalOptions_lookBackAvailablePeriods :: Lens' HistoricalOptions (Maybe Natural)
+ Amazonka.Budgets.Types.HistoricalOptions: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.HistoricalOptions.HistoricalOptions
+ Amazonka.Budgets.Types.HistoricalOptions: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.HistoricalOptions.HistoricalOptions
+ Amazonka.Budgets.Types.HistoricalOptions: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.Types.HistoricalOptions.HistoricalOptions
+ Amazonka.Budgets.Types.HistoricalOptions: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.HistoricalOptions.HistoricalOptions
+ Amazonka.Budgets.Types.HistoricalOptions: instance GHC.Classes.Eq Amazonka.Budgets.Types.HistoricalOptions.HistoricalOptions
+ Amazonka.Budgets.Types.HistoricalOptions: instance GHC.Generics.Generic Amazonka.Budgets.Types.HistoricalOptions.HistoricalOptions
+ Amazonka.Budgets.Types.HistoricalOptions: instance GHC.Read.Read Amazonka.Budgets.Types.HistoricalOptions.HistoricalOptions
+ Amazonka.Budgets.Types.HistoricalOptions: instance GHC.Show.Show Amazonka.Budgets.Types.HistoricalOptions.HistoricalOptions
+ Amazonka.Budgets.Types.HistoricalOptions: newHistoricalOptions :: Natural -> HistoricalOptions
+ Amazonka.Budgets.Types.IamActionDefinition: IamActionDefinition' :: Maybe (NonEmpty Text) -> Maybe (NonEmpty Text) -> Maybe (NonEmpty Text) -> Text -> IamActionDefinition
+ Amazonka.Budgets.Types.IamActionDefinition: [$sel:groups:IamActionDefinition'] :: IamActionDefinition -> Maybe (NonEmpty Text)
+ Amazonka.Budgets.Types.IamActionDefinition: [$sel:policyArn:IamActionDefinition'] :: IamActionDefinition -> Text
+ Amazonka.Budgets.Types.IamActionDefinition: [$sel:roles:IamActionDefinition'] :: IamActionDefinition -> Maybe (NonEmpty Text)
+ Amazonka.Budgets.Types.IamActionDefinition: [$sel:users:IamActionDefinition'] :: IamActionDefinition -> Maybe (NonEmpty Text)
+ Amazonka.Budgets.Types.IamActionDefinition: data IamActionDefinition
+ Amazonka.Budgets.Types.IamActionDefinition: iamActionDefinition_groups :: Lens' IamActionDefinition (Maybe (NonEmpty Text))
+ Amazonka.Budgets.Types.IamActionDefinition: iamActionDefinition_policyArn :: Lens' IamActionDefinition Text
+ Amazonka.Budgets.Types.IamActionDefinition: iamActionDefinition_roles :: Lens' IamActionDefinition (Maybe (NonEmpty Text))
+ Amazonka.Budgets.Types.IamActionDefinition: iamActionDefinition_users :: Lens' IamActionDefinition (Maybe (NonEmpty Text))
+ Amazonka.Budgets.Types.IamActionDefinition: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.IamActionDefinition.IamActionDefinition
+ Amazonka.Budgets.Types.IamActionDefinition: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.IamActionDefinition.IamActionDefinition
+ Amazonka.Budgets.Types.IamActionDefinition: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.Types.IamActionDefinition.IamActionDefinition
+ Amazonka.Budgets.Types.IamActionDefinition: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.IamActionDefinition.IamActionDefinition
+ Amazonka.Budgets.Types.IamActionDefinition: instance GHC.Classes.Eq Amazonka.Budgets.Types.IamActionDefinition.IamActionDefinition
+ Amazonka.Budgets.Types.IamActionDefinition: instance GHC.Generics.Generic Amazonka.Budgets.Types.IamActionDefinition.IamActionDefinition
+ Amazonka.Budgets.Types.IamActionDefinition: instance GHC.Read.Read Amazonka.Budgets.Types.IamActionDefinition.IamActionDefinition
+ Amazonka.Budgets.Types.IamActionDefinition: instance GHC.Show.Show Amazonka.Budgets.Types.IamActionDefinition.IamActionDefinition
+ Amazonka.Budgets.Types.IamActionDefinition: newIamActionDefinition :: Text -> IamActionDefinition
+ Amazonka.Budgets.Types.Notification: Notification' :: Maybe NotificationState -> Maybe ThresholdType -> NotificationType -> ComparisonOperator -> Double -> Notification
+ Amazonka.Budgets.Types.Notification: [$sel:comparisonOperator:Notification'] :: Notification -> ComparisonOperator
+ Amazonka.Budgets.Types.Notification: [$sel:notificationState:Notification'] :: Notification -> Maybe NotificationState
+ Amazonka.Budgets.Types.Notification: [$sel:notificationType:Notification'] :: Notification -> NotificationType
+ Amazonka.Budgets.Types.Notification: [$sel:threshold:Notification'] :: Notification -> Double
+ Amazonka.Budgets.Types.Notification: [$sel:thresholdType:Notification'] :: Notification -> Maybe ThresholdType
+ Amazonka.Budgets.Types.Notification: data Notification
+ Amazonka.Budgets.Types.Notification: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.Notification.Notification
+ Amazonka.Budgets.Types.Notification: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.Notification.Notification
+ Amazonka.Budgets.Types.Notification: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.Types.Notification.Notification
+ Amazonka.Budgets.Types.Notification: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.Notification.Notification
+ Amazonka.Budgets.Types.Notification: instance GHC.Classes.Eq Amazonka.Budgets.Types.Notification.Notification
+ Amazonka.Budgets.Types.Notification: instance GHC.Generics.Generic Amazonka.Budgets.Types.Notification.Notification
+ Amazonka.Budgets.Types.Notification: instance GHC.Read.Read Amazonka.Budgets.Types.Notification.Notification
+ Amazonka.Budgets.Types.Notification: instance GHC.Show.Show Amazonka.Budgets.Types.Notification.Notification
+ Amazonka.Budgets.Types.Notification: newNotification :: NotificationType -> ComparisonOperator -> Double -> Notification
+ Amazonka.Budgets.Types.Notification: notification_comparisonOperator :: Lens' Notification ComparisonOperator
+ Amazonka.Budgets.Types.Notification: notification_notificationState :: Lens' Notification (Maybe NotificationState)
+ Amazonka.Budgets.Types.Notification: notification_notificationType :: Lens' Notification NotificationType
+ Amazonka.Budgets.Types.Notification: notification_threshold :: Lens' Notification Double
+ Amazonka.Budgets.Types.Notification: notification_thresholdType :: Lens' Notification (Maybe ThresholdType)
+ Amazonka.Budgets.Types.NotificationState: NotificationState' :: Text -> NotificationState
+ Amazonka.Budgets.Types.NotificationState: [fromNotificationState] :: NotificationState -> Text
+ Amazonka.Budgets.Types.NotificationState: instance Amazonka.Data.ByteString.ToByteString Amazonka.Budgets.Types.NotificationState.NotificationState
+ Amazonka.Budgets.Types.NotificationState: instance Amazonka.Data.Headers.ToHeader Amazonka.Budgets.Types.NotificationState.NotificationState
+ Amazonka.Budgets.Types.NotificationState: instance Amazonka.Data.Log.ToLog Amazonka.Budgets.Types.NotificationState.NotificationState
+ Amazonka.Budgets.Types.NotificationState: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.Types.NotificationState.NotificationState
+ Amazonka.Budgets.Types.NotificationState: instance Amazonka.Data.Text.FromText Amazonka.Budgets.Types.NotificationState.NotificationState
+ Amazonka.Budgets.Types.NotificationState: instance Amazonka.Data.Text.ToText Amazonka.Budgets.Types.NotificationState.NotificationState
+ Amazonka.Budgets.Types.NotificationState: instance Amazonka.Data.XML.FromXML Amazonka.Budgets.Types.NotificationState.NotificationState
+ Amazonka.Budgets.Types.NotificationState: instance Amazonka.Data.XML.ToXML Amazonka.Budgets.Types.NotificationState.NotificationState
+ Amazonka.Budgets.Types.NotificationState: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.NotificationState.NotificationState
+ Amazonka.Budgets.Types.NotificationState: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.NotificationState.NotificationState
+ Amazonka.Budgets.Types.NotificationState: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Budgets.Types.NotificationState.NotificationState
+ Amazonka.Budgets.Types.NotificationState: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.Types.NotificationState.NotificationState
+ Amazonka.Budgets.Types.NotificationState: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Budgets.Types.NotificationState.NotificationState
+ Amazonka.Budgets.Types.NotificationState: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.NotificationState.NotificationState
+ Amazonka.Budgets.Types.NotificationState: instance GHC.Classes.Eq Amazonka.Budgets.Types.NotificationState.NotificationState
+ Amazonka.Budgets.Types.NotificationState: instance GHC.Classes.Ord Amazonka.Budgets.Types.NotificationState.NotificationState
+ Amazonka.Budgets.Types.NotificationState: instance GHC.Generics.Generic Amazonka.Budgets.Types.NotificationState.NotificationState
+ Amazonka.Budgets.Types.NotificationState: instance GHC.Read.Read Amazonka.Budgets.Types.NotificationState.NotificationState
+ Amazonka.Budgets.Types.NotificationState: instance GHC.Show.Show Amazonka.Budgets.Types.NotificationState.NotificationState
+ Amazonka.Budgets.Types.NotificationState: newtype NotificationState
+ Amazonka.Budgets.Types.NotificationState: pattern NotificationState_ALARM :: NotificationState
+ Amazonka.Budgets.Types.NotificationState: pattern NotificationState_OK :: NotificationState
+ Amazonka.Budgets.Types.NotificationType: NotificationType' :: Text -> NotificationType
+ Amazonka.Budgets.Types.NotificationType: [fromNotificationType] :: NotificationType -> Text
+ Amazonka.Budgets.Types.NotificationType: instance Amazonka.Data.ByteString.ToByteString Amazonka.Budgets.Types.NotificationType.NotificationType
+ Amazonka.Budgets.Types.NotificationType: instance Amazonka.Data.Headers.ToHeader Amazonka.Budgets.Types.NotificationType.NotificationType
+ Amazonka.Budgets.Types.NotificationType: instance Amazonka.Data.Log.ToLog Amazonka.Budgets.Types.NotificationType.NotificationType
+ Amazonka.Budgets.Types.NotificationType: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.Types.NotificationType.NotificationType
+ Amazonka.Budgets.Types.NotificationType: instance Amazonka.Data.Text.FromText Amazonka.Budgets.Types.NotificationType.NotificationType
+ Amazonka.Budgets.Types.NotificationType: instance Amazonka.Data.Text.ToText Amazonka.Budgets.Types.NotificationType.NotificationType
+ Amazonka.Budgets.Types.NotificationType: instance Amazonka.Data.XML.FromXML Amazonka.Budgets.Types.NotificationType.NotificationType
+ Amazonka.Budgets.Types.NotificationType: instance Amazonka.Data.XML.ToXML Amazonka.Budgets.Types.NotificationType.NotificationType
+ Amazonka.Budgets.Types.NotificationType: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.NotificationType.NotificationType
+ Amazonka.Budgets.Types.NotificationType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.NotificationType.NotificationType
+ Amazonka.Budgets.Types.NotificationType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Budgets.Types.NotificationType.NotificationType
+ Amazonka.Budgets.Types.NotificationType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.Types.NotificationType.NotificationType
+ Amazonka.Budgets.Types.NotificationType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Budgets.Types.NotificationType.NotificationType
+ Amazonka.Budgets.Types.NotificationType: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.NotificationType.NotificationType
+ Amazonka.Budgets.Types.NotificationType: instance GHC.Classes.Eq Amazonka.Budgets.Types.NotificationType.NotificationType
+ Amazonka.Budgets.Types.NotificationType: instance GHC.Classes.Ord Amazonka.Budgets.Types.NotificationType.NotificationType
+ Amazonka.Budgets.Types.NotificationType: instance GHC.Generics.Generic Amazonka.Budgets.Types.NotificationType.NotificationType
+ Amazonka.Budgets.Types.NotificationType: instance GHC.Read.Read Amazonka.Budgets.Types.NotificationType.NotificationType
+ Amazonka.Budgets.Types.NotificationType: instance GHC.Show.Show Amazonka.Budgets.Types.NotificationType.NotificationType
+ Amazonka.Budgets.Types.NotificationType: newtype NotificationType
+ Amazonka.Budgets.Types.NotificationType: pattern NotificationType_ACTUAL :: NotificationType
+ Amazonka.Budgets.Types.NotificationType: pattern NotificationType_FORECASTED :: NotificationType
+ Amazonka.Budgets.Types.NotificationWithSubscribers: NotificationWithSubscribers' :: Notification -> NonEmpty Subscriber -> NotificationWithSubscribers
+ Amazonka.Budgets.Types.NotificationWithSubscribers: [$sel:notification:NotificationWithSubscribers'] :: NotificationWithSubscribers -> Notification
+ Amazonka.Budgets.Types.NotificationWithSubscribers: [$sel:subscribers:NotificationWithSubscribers'] :: NotificationWithSubscribers -> NonEmpty Subscriber
+ Amazonka.Budgets.Types.NotificationWithSubscribers: data NotificationWithSubscribers
+ Amazonka.Budgets.Types.NotificationWithSubscribers: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.NotificationWithSubscribers.NotificationWithSubscribers
+ Amazonka.Budgets.Types.NotificationWithSubscribers: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.Types.NotificationWithSubscribers.NotificationWithSubscribers
+ Amazonka.Budgets.Types.NotificationWithSubscribers: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.NotificationWithSubscribers.NotificationWithSubscribers
+ Amazonka.Budgets.Types.NotificationWithSubscribers: instance GHC.Classes.Eq Amazonka.Budgets.Types.NotificationWithSubscribers.NotificationWithSubscribers
+ Amazonka.Budgets.Types.NotificationWithSubscribers: instance GHC.Generics.Generic Amazonka.Budgets.Types.NotificationWithSubscribers.NotificationWithSubscribers
+ Amazonka.Budgets.Types.NotificationWithSubscribers: instance GHC.Show.Show Amazonka.Budgets.Types.NotificationWithSubscribers.NotificationWithSubscribers
+ Amazonka.Budgets.Types.NotificationWithSubscribers: newNotificationWithSubscribers :: Notification -> NonEmpty Subscriber -> NotificationWithSubscribers
+ Amazonka.Budgets.Types.NotificationWithSubscribers: notificationWithSubscribers_notification :: Lens' NotificationWithSubscribers Notification
+ Amazonka.Budgets.Types.NotificationWithSubscribers: notificationWithSubscribers_subscribers :: Lens' NotificationWithSubscribers (NonEmpty Subscriber)
+ Amazonka.Budgets.Types.ScpActionDefinition: ScpActionDefinition' :: Text -> NonEmpty Text -> ScpActionDefinition
+ Amazonka.Budgets.Types.ScpActionDefinition: [$sel:policyId:ScpActionDefinition'] :: ScpActionDefinition -> Text
+ Amazonka.Budgets.Types.ScpActionDefinition: [$sel:targetIds:ScpActionDefinition'] :: ScpActionDefinition -> NonEmpty Text
+ Amazonka.Budgets.Types.ScpActionDefinition: data ScpActionDefinition
+ Amazonka.Budgets.Types.ScpActionDefinition: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.ScpActionDefinition.ScpActionDefinition
+ Amazonka.Budgets.Types.ScpActionDefinition: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.ScpActionDefinition.ScpActionDefinition
+ Amazonka.Budgets.Types.ScpActionDefinition: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.Types.ScpActionDefinition.ScpActionDefinition
+ Amazonka.Budgets.Types.ScpActionDefinition: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.ScpActionDefinition.ScpActionDefinition
+ Amazonka.Budgets.Types.ScpActionDefinition: instance GHC.Classes.Eq Amazonka.Budgets.Types.ScpActionDefinition.ScpActionDefinition
+ Amazonka.Budgets.Types.ScpActionDefinition: instance GHC.Generics.Generic Amazonka.Budgets.Types.ScpActionDefinition.ScpActionDefinition
+ Amazonka.Budgets.Types.ScpActionDefinition: instance GHC.Read.Read Amazonka.Budgets.Types.ScpActionDefinition.ScpActionDefinition
+ Amazonka.Budgets.Types.ScpActionDefinition: instance GHC.Show.Show Amazonka.Budgets.Types.ScpActionDefinition.ScpActionDefinition
+ Amazonka.Budgets.Types.ScpActionDefinition: newScpActionDefinition :: Text -> NonEmpty Text -> ScpActionDefinition
+ Amazonka.Budgets.Types.ScpActionDefinition: scpActionDefinition_policyId :: Lens' ScpActionDefinition Text
+ Amazonka.Budgets.Types.ScpActionDefinition: scpActionDefinition_targetIds :: Lens' ScpActionDefinition (NonEmpty Text)
+ Amazonka.Budgets.Types.Spend: Spend' :: Text -> Text -> Spend
+ Amazonka.Budgets.Types.Spend: [$sel:amount:Spend'] :: Spend -> Text
+ Amazonka.Budgets.Types.Spend: [$sel:unit:Spend'] :: Spend -> Text
+ Amazonka.Budgets.Types.Spend: data Spend
+ Amazonka.Budgets.Types.Spend: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.Spend.Spend
+ Amazonka.Budgets.Types.Spend: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.Spend.Spend
+ Amazonka.Budgets.Types.Spend: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.Types.Spend.Spend
+ Amazonka.Budgets.Types.Spend: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.Spend.Spend
+ Amazonka.Budgets.Types.Spend: instance GHC.Classes.Eq Amazonka.Budgets.Types.Spend.Spend
+ Amazonka.Budgets.Types.Spend: instance GHC.Generics.Generic Amazonka.Budgets.Types.Spend.Spend
+ Amazonka.Budgets.Types.Spend: instance GHC.Read.Read Amazonka.Budgets.Types.Spend.Spend
+ Amazonka.Budgets.Types.Spend: instance GHC.Show.Show Amazonka.Budgets.Types.Spend.Spend
+ Amazonka.Budgets.Types.Spend: newSpend :: Text -> Text -> Spend
+ Amazonka.Budgets.Types.Spend: spend_amount :: Lens' Spend Text
+ Amazonka.Budgets.Types.Spend: spend_unit :: Lens' Spend Text
+ Amazonka.Budgets.Types.SsmActionDefinition: SsmActionDefinition' :: ActionSubType -> Text -> NonEmpty Text -> SsmActionDefinition
+ Amazonka.Budgets.Types.SsmActionDefinition: [$sel:actionSubType:SsmActionDefinition'] :: SsmActionDefinition -> ActionSubType
+ Amazonka.Budgets.Types.SsmActionDefinition: [$sel:instanceIds:SsmActionDefinition'] :: SsmActionDefinition -> NonEmpty Text
+ Amazonka.Budgets.Types.SsmActionDefinition: [$sel:region:SsmActionDefinition'] :: SsmActionDefinition -> Text
+ Amazonka.Budgets.Types.SsmActionDefinition: data SsmActionDefinition
+ Amazonka.Budgets.Types.SsmActionDefinition: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.SsmActionDefinition.SsmActionDefinition
+ Amazonka.Budgets.Types.SsmActionDefinition: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.SsmActionDefinition.SsmActionDefinition
+ Amazonka.Budgets.Types.SsmActionDefinition: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.Types.SsmActionDefinition.SsmActionDefinition
+ Amazonka.Budgets.Types.SsmActionDefinition: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.SsmActionDefinition.SsmActionDefinition
+ Amazonka.Budgets.Types.SsmActionDefinition: instance GHC.Classes.Eq Amazonka.Budgets.Types.SsmActionDefinition.SsmActionDefinition
+ Amazonka.Budgets.Types.SsmActionDefinition: instance GHC.Generics.Generic Amazonka.Budgets.Types.SsmActionDefinition.SsmActionDefinition
+ Amazonka.Budgets.Types.SsmActionDefinition: instance GHC.Read.Read Amazonka.Budgets.Types.SsmActionDefinition.SsmActionDefinition
+ Amazonka.Budgets.Types.SsmActionDefinition: instance GHC.Show.Show Amazonka.Budgets.Types.SsmActionDefinition.SsmActionDefinition
+ Amazonka.Budgets.Types.SsmActionDefinition: newSsmActionDefinition :: ActionSubType -> Text -> NonEmpty Text -> SsmActionDefinition
+ Amazonka.Budgets.Types.SsmActionDefinition: ssmActionDefinition_actionSubType :: Lens' SsmActionDefinition ActionSubType
+ Amazonka.Budgets.Types.SsmActionDefinition: ssmActionDefinition_instanceIds :: Lens' SsmActionDefinition (NonEmpty Text)
+ Amazonka.Budgets.Types.SsmActionDefinition: ssmActionDefinition_region :: Lens' SsmActionDefinition Text
+ Amazonka.Budgets.Types.Subscriber: Subscriber' :: SubscriptionType -> Sensitive Text -> Subscriber
+ Amazonka.Budgets.Types.Subscriber: [$sel:address:Subscriber'] :: Subscriber -> Sensitive Text
+ Amazonka.Budgets.Types.Subscriber: [$sel:subscriptionType:Subscriber'] :: Subscriber -> SubscriptionType
+ Amazonka.Budgets.Types.Subscriber: data Subscriber
+ Amazonka.Budgets.Types.Subscriber: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.Subscriber.Subscriber
+ Amazonka.Budgets.Types.Subscriber: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.Subscriber.Subscriber
+ Amazonka.Budgets.Types.Subscriber: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.Types.Subscriber.Subscriber
+ Amazonka.Budgets.Types.Subscriber: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.Subscriber.Subscriber
+ Amazonka.Budgets.Types.Subscriber: instance GHC.Classes.Eq Amazonka.Budgets.Types.Subscriber.Subscriber
+ Amazonka.Budgets.Types.Subscriber: instance GHC.Generics.Generic Amazonka.Budgets.Types.Subscriber.Subscriber
+ Amazonka.Budgets.Types.Subscriber: instance GHC.Show.Show Amazonka.Budgets.Types.Subscriber.Subscriber
+ Amazonka.Budgets.Types.Subscriber: newSubscriber :: SubscriptionType -> Text -> Subscriber
+ Amazonka.Budgets.Types.Subscriber: subscriber_address :: Lens' Subscriber Text
+ Amazonka.Budgets.Types.Subscriber: subscriber_subscriptionType :: Lens' Subscriber SubscriptionType
+ Amazonka.Budgets.Types.SubscriptionType: SubscriptionType' :: Text -> SubscriptionType
+ Amazonka.Budgets.Types.SubscriptionType: [fromSubscriptionType] :: SubscriptionType -> Text
+ Amazonka.Budgets.Types.SubscriptionType: instance Amazonka.Data.ByteString.ToByteString Amazonka.Budgets.Types.SubscriptionType.SubscriptionType
+ Amazonka.Budgets.Types.SubscriptionType: instance Amazonka.Data.Headers.ToHeader Amazonka.Budgets.Types.SubscriptionType.SubscriptionType
+ Amazonka.Budgets.Types.SubscriptionType: instance Amazonka.Data.Log.ToLog Amazonka.Budgets.Types.SubscriptionType.SubscriptionType
+ Amazonka.Budgets.Types.SubscriptionType: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.Types.SubscriptionType.SubscriptionType
+ Amazonka.Budgets.Types.SubscriptionType: instance Amazonka.Data.Text.FromText Amazonka.Budgets.Types.SubscriptionType.SubscriptionType
+ Amazonka.Budgets.Types.SubscriptionType: instance Amazonka.Data.Text.ToText Amazonka.Budgets.Types.SubscriptionType.SubscriptionType
+ Amazonka.Budgets.Types.SubscriptionType: instance Amazonka.Data.XML.FromXML Amazonka.Budgets.Types.SubscriptionType.SubscriptionType
+ Amazonka.Budgets.Types.SubscriptionType: instance Amazonka.Data.XML.ToXML Amazonka.Budgets.Types.SubscriptionType.SubscriptionType
+ Amazonka.Budgets.Types.SubscriptionType: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.SubscriptionType.SubscriptionType
+ Amazonka.Budgets.Types.SubscriptionType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.SubscriptionType.SubscriptionType
+ Amazonka.Budgets.Types.SubscriptionType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Budgets.Types.SubscriptionType.SubscriptionType
+ Amazonka.Budgets.Types.SubscriptionType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.Types.SubscriptionType.SubscriptionType
+ Amazonka.Budgets.Types.SubscriptionType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Budgets.Types.SubscriptionType.SubscriptionType
+ Amazonka.Budgets.Types.SubscriptionType: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.SubscriptionType.SubscriptionType
+ Amazonka.Budgets.Types.SubscriptionType: instance GHC.Classes.Eq Amazonka.Budgets.Types.SubscriptionType.SubscriptionType
+ Amazonka.Budgets.Types.SubscriptionType: instance GHC.Classes.Ord Amazonka.Budgets.Types.SubscriptionType.SubscriptionType
+ Amazonka.Budgets.Types.SubscriptionType: instance GHC.Generics.Generic Amazonka.Budgets.Types.SubscriptionType.SubscriptionType
+ Amazonka.Budgets.Types.SubscriptionType: instance GHC.Read.Read Amazonka.Budgets.Types.SubscriptionType.SubscriptionType
+ Amazonka.Budgets.Types.SubscriptionType: instance GHC.Show.Show Amazonka.Budgets.Types.SubscriptionType.SubscriptionType
+ Amazonka.Budgets.Types.SubscriptionType: newtype SubscriptionType
+ Amazonka.Budgets.Types.SubscriptionType: pattern SubscriptionType_EMAIL :: SubscriptionType
+ Amazonka.Budgets.Types.SubscriptionType: pattern SubscriptionType_SNS :: SubscriptionType
+ Amazonka.Budgets.Types.ThresholdType: ThresholdType' :: Text -> ThresholdType
+ Amazonka.Budgets.Types.ThresholdType: [fromThresholdType] :: ThresholdType -> Text
+ Amazonka.Budgets.Types.ThresholdType: instance Amazonka.Data.ByteString.ToByteString Amazonka.Budgets.Types.ThresholdType.ThresholdType
+ Amazonka.Budgets.Types.ThresholdType: instance Amazonka.Data.Headers.ToHeader Amazonka.Budgets.Types.ThresholdType.ThresholdType
+ Amazonka.Budgets.Types.ThresholdType: instance Amazonka.Data.Log.ToLog Amazonka.Budgets.Types.ThresholdType.ThresholdType
+ Amazonka.Budgets.Types.ThresholdType: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.Types.ThresholdType.ThresholdType
+ Amazonka.Budgets.Types.ThresholdType: instance Amazonka.Data.Text.FromText Amazonka.Budgets.Types.ThresholdType.ThresholdType
+ Amazonka.Budgets.Types.ThresholdType: instance Amazonka.Data.Text.ToText Amazonka.Budgets.Types.ThresholdType.ThresholdType
+ Amazonka.Budgets.Types.ThresholdType: instance Amazonka.Data.XML.FromXML Amazonka.Budgets.Types.ThresholdType.ThresholdType
+ Amazonka.Budgets.Types.ThresholdType: instance Amazonka.Data.XML.ToXML Amazonka.Budgets.Types.ThresholdType.ThresholdType
+ Amazonka.Budgets.Types.ThresholdType: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.ThresholdType.ThresholdType
+ Amazonka.Budgets.Types.ThresholdType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.ThresholdType.ThresholdType
+ Amazonka.Budgets.Types.ThresholdType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Budgets.Types.ThresholdType.ThresholdType
+ Amazonka.Budgets.Types.ThresholdType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.Types.ThresholdType.ThresholdType
+ Amazonka.Budgets.Types.ThresholdType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Budgets.Types.ThresholdType.ThresholdType
+ Amazonka.Budgets.Types.ThresholdType: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.ThresholdType.ThresholdType
+ Amazonka.Budgets.Types.ThresholdType: instance GHC.Classes.Eq Amazonka.Budgets.Types.ThresholdType.ThresholdType
+ Amazonka.Budgets.Types.ThresholdType: instance GHC.Classes.Ord Amazonka.Budgets.Types.ThresholdType.ThresholdType
+ Amazonka.Budgets.Types.ThresholdType: instance GHC.Generics.Generic Amazonka.Budgets.Types.ThresholdType.ThresholdType
+ Amazonka.Budgets.Types.ThresholdType: instance GHC.Read.Read Amazonka.Budgets.Types.ThresholdType.ThresholdType
+ Amazonka.Budgets.Types.ThresholdType: instance GHC.Show.Show Amazonka.Budgets.Types.ThresholdType.ThresholdType
+ Amazonka.Budgets.Types.ThresholdType: newtype ThresholdType
+ Amazonka.Budgets.Types.ThresholdType: pattern ThresholdType_ABSOLUTE_VALUE :: ThresholdType
+ Amazonka.Budgets.Types.ThresholdType: pattern ThresholdType_PERCENTAGE :: ThresholdType
+ Amazonka.Budgets.Types.TimePeriod: TimePeriod' :: Maybe POSIX -> Maybe POSIX -> TimePeriod
+ Amazonka.Budgets.Types.TimePeriod: [$sel:end:TimePeriod'] :: TimePeriod -> Maybe POSIX
+ Amazonka.Budgets.Types.TimePeriod: [$sel:start:TimePeriod'] :: TimePeriod -> Maybe POSIX
+ Amazonka.Budgets.Types.TimePeriod: data TimePeriod
+ Amazonka.Budgets.Types.TimePeriod: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.TimePeriod.TimePeriod
+ Amazonka.Budgets.Types.TimePeriod: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.TimePeriod.TimePeriod
+ Amazonka.Budgets.Types.TimePeriod: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.Types.TimePeriod.TimePeriod
+ Amazonka.Budgets.Types.TimePeriod: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.TimePeriod.TimePeriod
+ Amazonka.Budgets.Types.TimePeriod: instance GHC.Classes.Eq Amazonka.Budgets.Types.TimePeriod.TimePeriod
+ Amazonka.Budgets.Types.TimePeriod: instance GHC.Generics.Generic Amazonka.Budgets.Types.TimePeriod.TimePeriod
+ Amazonka.Budgets.Types.TimePeriod: instance GHC.Read.Read Amazonka.Budgets.Types.TimePeriod.TimePeriod
+ Amazonka.Budgets.Types.TimePeriod: instance GHC.Show.Show Amazonka.Budgets.Types.TimePeriod.TimePeriod
+ Amazonka.Budgets.Types.TimePeriod: newTimePeriod :: TimePeriod
+ Amazonka.Budgets.Types.TimePeriod: timePeriod_end :: Lens' TimePeriod (Maybe UTCTime)
+ Amazonka.Budgets.Types.TimePeriod: timePeriod_start :: Lens' TimePeriod (Maybe UTCTime)
+ Amazonka.Budgets.Types.TimeUnit: TimeUnit' :: Text -> TimeUnit
+ Amazonka.Budgets.Types.TimeUnit: [fromTimeUnit] :: TimeUnit -> Text
+ Amazonka.Budgets.Types.TimeUnit: instance Amazonka.Data.ByteString.ToByteString Amazonka.Budgets.Types.TimeUnit.TimeUnit
+ Amazonka.Budgets.Types.TimeUnit: instance Amazonka.Data.Headers.ToHeader Amazonka.Budgets.Types.TimeUnit.TimeUnit
+ Amazonka.Budgets.Types.TimeUnit: instance Amazonka.Data.Log.ToLog Amazonka.Budgets.Types.TimeUnit.TimeUnit
+ Amazonka.Budgets.Types.TimeUnit: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.Types.TimeUnit.TimeUnit
+ Amazonka.Budgets.Types.TimeUnit: instance Amazonka.Data.Text.FromText Amazonka.Budgets.Types.TimeUnit.TimeUnit
+ Amazonka.Budgets.Types.TimeUnit: instance Amazonka.Data.Text.ToText Amazonka.Budgets.Types.TimeUnit.TimeUnit
+ Amazonka.Budgets.Types.TimeUnit: instance Amazonka.Data.XML.FromXML Amazonka.Budgets.Types.TimeUnit.TimeUnit
+ Amazonka.Budgets.Types.TimeUnit: instance Amazonka.Data.XML.ToXML Amazonka.Budgets.Types.TimeUnit.TimeUnit
+ Amazonka.Budgets.Types.TimeUnit: instance Control.DeepSeq.NFData Amazonka.Budgets.Types.TimeUnit.TimeUnit
+ Amazonka.Budgets.Types.TimeUnit: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.Budgets.Types.TimeUnit.TimeUnit
+ Amazonka.Budgets.Types.TimeUnit: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.Budgets.Types.TimeUnit.TimeUnit
+ Amazonka.Budgets.Types.TimeUnit: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.Types.TimeUnit.TimeUnit
+ Amazonka.Budgets.Types.TimeUnit: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.Budgets.Types.TimeUnit.TimeUnit
+ Amazonka.Budgets.Types.TimeUnit: instance Data.Hashable.Class.Hashable Amazonka.Budgets.Types.TimeUnit.TimeUnit
+ Amazonka.Budgets.Types.TimeUnit: instance GHC.Classes.Eq Amazonka.Budgets.Types.TimeUnit.TimeUnit
+ Amazonka.Budgets.Types.TimeUnit: instance GHC.Classes.Ord Amazonka.Budgets.Types.TimeUnit.TimeUnit
+ Amazonka.Budgets.Types.TimeUnit: instance GHC.Generics.Generic Amazonka.Budgets.Types.TimeUnit.TimeUnit
+ Amazonka.Budgets.Types.TimeUnit: instance GHC.Read.Read Amazonka.Budgets.Types.TimeUnit.TimeUnit
+ Amazonka.Budgets.Types.TimeUnit: instance GHC.Show.Show Amazonka.Budgets.Types.TimeUnit.TimeUnit
+ Amazonka.Budgets.Types.TimeUnit: newtype TimeUnit
+ Amazonka.Budgets.Types.TimeUnit: pattern TimeUnit_ANNUALLY :: TimeUnit
+ Amazonka.Budgets.Types.TimeUnit: pattern TimeUnit_DAILY :: TimeUnit
+ Amazonka.Budgets.Types.TimeUnit: pattern TimeUnit_MONTHLY :: TimeUnit
+ Amazonka.Budgets.Types.TimeUnit: pattern TimeUnit_QUARTERLY :: TimeUnit
+ Amazonka.Budgets.UpdateBudget: UpdateBudget' :: Text -> Budget -> UpdateBudget
+ Amazonka.Budgets.UpdateBudget: UpdateBudgetResponse' :: Int -> UpdateBudgetResponse
+ Amazonka.Budgets.UpdateBudget: [$sel:accountId:UpdateBudget'] :: UpdateBudget -> Text
+ Amazonka.Budgets.UpdateBudget: [$sel:httpStatus:UpdateBudgetResponse'] :: UpdateBudgetResponse -> Int
+ Amazonka.Budgets.UpdateBudget: [$sel:newBudget':UpdateBudget'] :: UpdateBudget -> Budget
+ Amazonka.Budgets.UpdateBudget: data UpdateBudget
+ Amazonka.Budgets.UpdateBudget: data UpdateBudgetResponse
+ Amazonka.Budgets.UpdateBudget: instance Amazonka.Data.Headers.ToHeaders Amazonka.Budgets.UpdateBudget.UpdateBudget
+ Amazonka.Budgets.UpdateBudget: instance Amazonka.Data.Path.ToPath Amazonka.Budgets.UpdateBudget.UpdateBudget
+ Amazonka.Budgets.UpdateBudget: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.UpdateBudget.UpdateBudget
+ Amazonka.Budgets.UpdateBudget: instance Amazonka.Types.AWSRequest Amazonka.Budgets.UpdateBudget.UpdateBudget
+ Amazonka.Budgets.UpdateBudget: instance Control.DeepSeq.NFData Amazonka.Budgets.UpdateBudget.UpdateBudget
+ Amazonka.Budgets.UpdateBudget: instance Control.DeepSeq.NFData Amazonka.Budgets.UpdateBudget.UpdateBudgetResponse
+ Amazonka.Budgets.UpdateBudget: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.UpdateBudget.UpdateBudget
+ Amazonka.Budgets.UpdateBudget: instance Data.Hashable.Class.Hashable Amazonka.Budgets.UpdateBudget.UpdateBudget
+ Amazonka.Budgets.UpdateBudget: instance GHC.Classes.Eq Amazonka.Budgets.UpdateBudget.UpdateBudget
+ Amazonka.Budgets.UpdateBudget: instance GHC.Classes.Eq Amazonka.Budgets.UpdateBudget.UpdateBudgetResponse
+ Amazonka.Budgets.UpdateBudget: instance GHC.Generics.Generic Amazonka.Budgets.UpdateBudget.UpdateBudget
+ Amazonka.Budgets.UpdateBudget: instance GHC.Generics.Generic Amazonka.Budgets.UpdateBudget.UpdateBudgetResponse
+ Amazonka.Budgets.UpdateBudget: instance GHC.Read.Read Amazonka.Budgets.UpdateBudget.UpdateBudget
+ Amazonka.Budgets.UpdateBudget: instance GHC.Read.Read Amazonka.Budgets.UpdateBudget.UpdateBudgetResponse
+ Amazonka.Budgets.UpdateBudget: instance GHC.Show.Show Amazonka.Budgets.UpdateBudget.UpdateBudget
+ Amazonka.Budgets.UpdateBudget: instance GHC.Show.Show Amazonka.Budgets.UpdateBudget.UpdateBudgetResponse
+ Amazonka.Budgets.UpdateBudget: newUpdateBudget :: Text -> Budget -> UpdateBudget
+ Amazonka.Budgets.UpdateBudget: newUpdateBudgetResponse :: Int -> UpdateBudgetResponse
+ Amazonka.Budgets.UpdateBudget: updateBudgetResponse_httpStatus :: Lens' UpdateBudgetResponse Int
+ Amazonka.Budgets.UpdateBudget: updateBudget_accountId :: Lens' UpdateBudget Text
+ Amazonka.Budgets.UpdateBudget: updateBudget_newBudget :: Lens' UpdateBudget Budget
+ Amazonka.Budgets.UpdateBudgetAction: UpdateBudgetAction' :: Maybe ActionThreshold -> Maybe ApprovalModel -> Maybe Definition -> Maybe Text -> Maybe NotificationType -> Maybe (NonEmpty Subscriber) -> Text -> Text -> Text -> UpdateBudgetAction
+ Amazonka.Budgets.UpdateBudgetAction: UpdateBudgetActionResponse' :: Int -> Text -> Text -> Action -> Action -> UpdateBudgetActionResponse
+ Amazonka.Budgets.UpdateBudgetAction: [$sel:accountId:UpdateBudgetAction'] :: UpdateBudgetAction -> Text
+ Amazonka.Budgets.UpdateBudgetAction: [$sel:accountId:UpdateBudgetActionResponse'] :: UpdateBudgetActionResponse -> Text
+ Amazonka.Budgets.UpdateBudgetAction: [$sel:actionId:UpdateBudgetAction'] :: UpdateBudgetAction -> Text
+ Amazonka.Budgets.UpdateBudgetAction: [$sel:actionThreshold:UpdateBudgetAction'] :: UpdateBudgetAction -> Maybe ActionThreshold
+ Amazonka.Budgets.UpdateBudgetAction: [$sel:approvalModel:UpdateBudgetAction'] :: UpdateBudgetAction -> Maybe ApprovalModel
+ Amazonka.Budgets.UpdateBudgetAction: [$sel:budgetName:UpdateBudgetAction'] :: UpdateBudgetAction -> Text
+ Amazonka.Budgets.UpdateBudgetAction: [$sel:budgetName:UpdateBudgetActionResponse'] :: UpdateBudgetActionResponse -> Text
+ Amazonka.Budgets.UpdateBudgetAction: [$sel:definition:UpdateBudgetAction'] :: UpdateBudgetAction -> Maybe Definition
+ Amazonka.Budgets.UpdateBudgetAction: [$sel:executionRoleArn:UpdateBudgetAction'] :: UpdateBudgetAction -> Maybe Text
+ Amazonka.Budgets.UpdateBudgetAction: [$sel:httpStatus:UpdateBudgetActionResponse'] :: UpdateBudgetActionResponse -> Int
+ Amazonka.Budgets.UpdateBudgetAction: [$sel:newAction':UpdateBudgetActionResponse'] :: UpdateBudgetActionResponse -> Action
+ Amazonka.Budgets.UpdateBudgetAction: [$sel:notificationType:UpdateBudgetAction'] :: UpdateBudgetAction -> Maybe NotificationType
+ Amazonka.Budgets.UpdateBudgetAction: [$sel:oldAction:UpdateBudgetActionResponse'] :: UpdateBudgetActionResponse -> Action
+ Amazonka.Budgets.UpdateBudgetAction: [$sel:subscribers:UpdateBudgetAction'] :: UpdateBudgetAction -> Maybe (NonEmpty Subscriber)
+ Amazonka.Budgets.UpdateBudgetAction: data UpdateBudgetAction
+ Amazonka.Budgets.UpdateBudgetAction: data UpdateBudgetActionResponse
+ Amazonka.Budgets.UpdateBudgetAction: instance Amazonka.Data.Headers.ToHeaders Amazonka.Budgets.UpdateBudgetAction.UpdateBudgetAction
+ Amazonka.Budgets.UpdateBudgetAction: instance Amazonka.Data.Path.ToPath Amazonka.Budgets.UpdateBudgetAction.UpdateBudgetAction
+ Amazonka.Budgets.UpdateBudgetAction: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.UpdateBudgetAction.UpdateBudgetAction
+ Amazonka.Budgets.UpdateBudgetAction: instance Amazonka.Types.AWSRequest Amazonka.Budgets.UpdateBudgetAction.UpdateBudgetAction
+ Amazonka.Budgets.UpdateBudgetAction: instance Control.DeepSeq.NFData Amazonka.Budgets.UpdateBudgetAction.UpdateBudgetAction
+ Amazonka.Budgets.UpdateBudgetAction: instance Control.DeepSeq.NFData Amazonka.Budgets.UpdateBudgetAction.UpdateBudgetActionResponse
+ Amazonka.Budgets.UpdateBudgetAction: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.UpdateBudgetAction.UpdateBudgetAction
+ Amazonka.Budgets.UpdateBudgetAction: instance Data.Hashable.Class.Hashable Amazonka.Budgets.UpdateBudgetAction.UpdateBudgetAction
+ Amazonka.Budgets.UpdateBudgetAction: instance GHC.Classes.Eq Amazonka.Budgets.UpdateBudgetAction.UpdateBudgetAction
+ Amazonka.Budgets.UpdateBudgetAction: instance GHC.Classes.Eq Amazonka.Budgets.UpdateBudgetAction.UpdateBudgetActionResponse
+ Amazonka.Budgets.UpdateBudgetAction: instance GHC.Generics.Generic Amazonka.Budgets.UpdateBudgetAction.UpdateBudgetAction
+ Amazonka.Budgets.UpdateBudgetAction: instance GHC.Generics.Generic Amazonka.Budgets.UpdateBudgetAction.UpdateBudgetActionResponse
+ Amazonka.Budgets.UpdateBudgetAction: instance GHC.Show.Show Amazonka.Budgets.UpdateBudgetAction.UpdateBudgetAction
+ Amazonka.Budgets.UpdateBudgetAction: instance GHC.Show.Show Amazonka.Budgets.UpdateBudgetAction.UpdateBudgetActionResponse
+ Amazonka.Budgets.UpdateBudgetAction: newUpdateBudgetAction :: Text -> Text -> Text -> UpdateBudgetAction
+ Amazonka.Budgets.UpdateBudgetAction: newUpdateBudgetActionResponse :: Int -> Text -> Text -> Action -> Action -> UpdateBudgetActionResponse
+ Amazonka.Budgets.UpdateBudgetAction: updateBudgetActionResponse_accountId :: Lens' UpdateBudgetActionResponse Text
+ Amazonka.Budgets.UpdateBudgetAction: updateBudgetActionResponse_budgetName :: Lens' UpdateBudgetActionResponse Text
+ Amazonka.Budgets.UpdateBudgetAction: updateBudgetActionResponse_httpStatus :: Lens' UpdateBudgetActionResponse Int
+ Amazonka.Budgets.UpdateBudgetAction: updateBudgetActionResponse_newAction :: Lens' UpdateBudgetActionResponse Action
+ Amazonka.Budgets.UpdateBudgetAction: updateBudgetActionResponse_oldAction :: Lens' UpdateBudgetActionResponse Action
+ Amazonka.Budgets.UpdateBudgetAction: updateBudgetAction_accountId :: Lens' UpdateBudgetAction Text
+ Amazonka.Budgets.UpdateBudgetAction: updateBudgetAction_actionId :: Lens' UpdateBudgetAction Text
+ Amazonka.Budgets.UpdateBudgetAction: updateBudgetAction_actionThreshold :: Lens' UpdateBudgetAction (Maybe ActionThreshold)
+ Amazonka.Budgets.UpdateBudgetAction: updateBudgetAction_approvalModel :: Lens' UpdateBudgetAction (Maybe ApprovalModel)
+ Amazonka.Budgets.UpdateBudgetAction: updateBudgetAction_budgetName :: Lens' UpdateBudgetAction Text
+ Amazonka.Budgets.UpdateBudgetAction: updateBudgetAction_definition :: Lens' UpdateBudgetAction (Maybe Definition)
+ Amazonka.Budgets.UpdateBudgetAction: updateBudgetAction_executionRoleArn :: Lens' UpdateBudgetAction (Maybe Text)
+ Amazonka.Budgets.UpdateBudgetAction: updateBudgetAction_notificationType :: Lens' UpdateBudgetAction (Maybe NotificationType)
+ Amazonka.Budgets.UpdateBudgetAction: updateBudgetAction_subscribers :: Lens' UpdateBudgetAction (Maybe (NonEmpty Subscriber))
+ Amazonka.Budgets.UpdateNotification: UpdateNotification' :: Text -> Text -> Notification -> Notification -> UpdateNotification
+ Amazonka.Budgets.UpdateNotification: UpdateNotificationResponse' :: Int -> UpdateNotificationResponse
+ Amazonka.Budgets.UpdateNotification: [$sel:accountId:UpdateNotification'] :: UpdateNotification -> Text
+ Amazonka.Budgets.UpdateNotification: [$sel:budgetName:UpdateNotification'] :: UpdateNotification -> Text
+ Amazonka.Budgets.UpdateNotification: [$sel:httpStatus:UpdateNotificationResponse'] :: UpdateNotificationResponse -> Int
+ Amazonka.Budgets.UpdateNotification: [$sel:newNotification':UpdateNotification'] :: UpdateNotification -> Notification
+ Amazonka.Budgets.UpdateNotification: [$sel:oldNotification:UpdateNotification'] :: UpdateNotification -> Notification
+ Amazonka.Budgets.UpdateNotification: data UpdateNotification
+ Amazonka.Budgets.UpdateNotification: data UpdateNotificationResponse
+ Amazonka.Budgets.UpdateNotification: instance Amazonka.Data.Headers.ToHeaders Amazonka.Budgets.UpdateNotification.UpdateNotification
+ Amazonka.Budgets.UpdateNotification: instance Amazonka.Data.Path.ToPath Amazonka.Budgets.UpdateNotification.UpdateNotification
+ Amazonka.Budgets.UpdateNotification: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.UpdateNotification.UpdateNotification
+ Amazonka.Budgets.UpdateNotification: instance Amazonka.Types.AWSRequest Amazonka.Budgets.UpdateNotification.UpdateNotification
+ Amazonka.Budgets.UpdateNotification: instance Control.DeepSeq.NFData Amazonka.Budgets.UpdateNotification.UpdateNotification
+ Amazonka.Budgets.UpdateNotification: instance Control.DeepSeq.NFData Amazonka.Budgets.UpdateNotification.UpdateNotificationResponse
+ Amazonka.Budgets.UpdateNotification: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.UpdateNotification.UpdateNotification
+ Amazonka.Budgets.UpdateNotification: instance Data.Hashable.Class.Hashable Amazonka.Budgets.UpdateNotification.UpdateNotification
+ Amazonka.Budgets.UpdateNotification: instance GHC.Classes.Eq Amazonka.Budgets.UpdateNotification.UpdateNotification
+ Amazonka.Budgets.UpdateNotification: instance GHC.Classes.Eq Amazonka.Budgets.UpdateNotification.UpdateNotificationResponse
+ Amazonka.Budgets.UpdateNotification: instance GHC.Generics.Generic Amazonka.Budgets.UpdateNotification.UpdateNotification
+ Amazonka.Budgets.UpdateNotification: instance GHC.Generics.Generic Amazonka.Budgets.UpdateNotification.UpdateNotificationResponse
+ Amazonka.Budgets.UpdateNotification: instance GHC.Read.Read Amazonka.Budgets.UpdateNotification.UpdateNotification
+ Amazonka.Budgets.UpdateNotification: instance GHC.Read.Read Amazonka.Budgets.UpdateNotification.UpdateNotificationResponse
+ Amazonka.Budgets.UpdateNotification: instance GHC.Show.Show Amazonka.Budgets.UpdateNotification.UpdateNotification
+ Amazonka.Budgets.UpdateNotification: instance GHC.Show.Show Amazonka.Budgets.UpdateNotification.UpdateNotificationResponse
+ Amazonka.Budgets.UpdateNotification: newUpdateNotification :: Text -> Text -> Notification -> Notification -> UpdateNotification
+ Amazonka.Budgets.UpdateNotification: newUpdateNotificationResponse :: Int -> UpdateNotificationResponse
+ Amazonka.Budgets.UpdateNotification: updateNotificationResponse_httpStatus :: Lens' UpdateNotificationResponse Int
+ Amazonka.Budgets.UpdateNotification: updateNotification_accountId :: Lens' UpdateNotification Text
+ Amazonka.Budgets.UpdateNotification: updateNotification_budgetName :: Lens' UpdateNotification Text
+ Amazonka.Budgets.UpdateNotification: updateNotification_newNotification :: Lens' UpdateNotification Notification
+ Amazonka.Budgets.UpdateNotification: updateNotification_oldNotification :: Lens' UpdateNotification Notification
+ Amazonka.Budgets.UpdateSubscriber: UpdateSubscriber' :: Text -> Text -> Notification -> Subscriber -> Subscriber -> UpdateSubscriber
+ Amazonka.Budgets.UpdateSubscriber: UpdateSubscriberResponse' :: Int -> UpdateSubscriberResponse
+ Amazonka.Budgets.UpdateSubscriber: [$sel:accountId:UpdateSubscriber'] :: UpdateSubscriber -> Text
+ Amazonka.Budgets.UpdateSubscriber: [$sel:budgetName:UpdateSubscriber'] :: UpdateSubscriber -> Text
+ Amazonka.Budgets.UpdateSubscriber: [$sel:httpStatus:UpdateSubscriberResponse'] :: UpdateSubscriberResponse -> Int
+ Amazonka.Budgets.UpdateSubscriber: [$sel:newSubscriber':UpdateSubscriber'] :: UpdateSubscriber -> Subscriber
+ Amazonka.Budgets.UpdateSubscriber: [$sel:notification:UpdateSubscriber'] :: UpdateSubscriber -> Notification
+ Amazonka.Budgets.UpdateSubscriber: [$sel:oldSubscriber:UpdateSubscriber'] :: UpdateSubscriber -> Subscriber
+ Amazonka.Budgets.UpdateSubscriber: data UpdateSubscriber
+ Amazonka.Budgets.UpdateSubscriber: data UpdateSubscriberResponse
+ Amazonka.Budgets.UpdateSubscriber: instance Amazonka.Data.Headers.ToHeaders Amazonka.Budgets.UpdateSubscriber.UpdateSubscriber
+ Amazonka.Budgets.UpdateSubscriber: instance Amazonka.Data.Path.ToPath Amazonka.Budgets.UpdateSubscriber.UpdateSubscriber
+ Amazonka.Budgets.UpdateSubscriber: instance Amazonka.Data.Query.ToQuery Amazonka.Budgets.UpdateSubscriber.UpdateSubscriber
+ Amazonka.Budgets.UpdateSubscriber: instance Amazonka.Types.AWSRequest Amazonka.Budgets.UpdateSubscriber.UpdateSubscriber
+ Amazonka.Budgets.UpdateSubscriber: instance Control.DeepSeq.NFData Amazonka.Budgets.UpdateSubscriber.UpdateSubscriber
+ Amazonka.Budgets.UpdateSubscriber: instance Control.DeepSeq.NFData Amazonka.Budgets.UpdateSubscriber.UpdateSubscriberResponse
+ Amazonka.Budgets.UpdateSubscriber: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.Budgets.UpdateSubscriber.UpdateSubscriber
+ Amazonka.Budgets.UpdateSubscriber: instance Data.Hashable.Class.Hashable Amazonka.Budgets.UpdateSubscriber.UpdateSubscriber
+ Amazonka.Budgets.UpdateSubscriber: instance GHC.Classes.Eq Amazonka.Budgets.UpdateSubscriber.UpdateSubscriber
+ Amazonka.Budgets.UpdateSubscriber: instance GHC.Classes.Eq Amazonka.Budgets.UpdateSubscriber.UpdateSubscriberResponse
+ Amazonka.Budgets.UpdateSubscriber: instance GHC.Generics.Generic Amazonka.Budgets.UpdateSubscriber.UpdateSubscriber
+ Amazonka.Budgets.UpdateSubscriber: instance GHC.Generics.Generic Amazonka.Budgets.UpdateSubscriber.UpdateSubscriberResponse
+ Amazonka.Budgets.UpdateSubscriber: instance GHC.Read.Read Amazonka.Budgets.UpdateSubscriber.UpdateSubscriberResponse
+ Amazonka.Budgets.UpdateSubscriber: instance GHC.Show.Show Amazonka.Budgets.UpdateSubscriber.UpdateSubscriber
+ Amazonka.Budgets.UpdateSubscriber: instance GHC.Show.Show Amazonka.Budgets.UpdateSubscriber.UpdateSubscriberResponse
+ Amazonka.Budgets.UpdateSubscriber: newUpdateSubscriber :: Text -> Text -> Notification -> Subscriber -> Subscriber -> UpdateSubscriber
+ Amazonka.Budgets.UpdateSubscriber: newUpdateSubscriberResponse :: Int -> UpdateSubscriberResponse
+ Amazonka.Budgets.UpdateSubscriber: updateSubscriberResponse_httpStatus :: Lens' UpdateSubscriberResponse Int
+ Amazonka.Budgets.UpdateSubscriber: updateSubscriber_accountId :: Lens' UpdateSubscriber Text
+ Amazonka.Budgets.UpdateSubscriber: updateSubscriber_budgetName :: Lens' UpdateSubscriber Text
+ Amazonka.Budgets.UpdateSubscriber: updateSubscriber_newSubscriber :: Lens' UpdateSubscriber Subscriber
+ Amazonka.Budgets.UpdateSubscriber: updateSubscriber_notification :: Lens' UpdateSubscriber Notification
+ Amazonka.Budgets.UpdateSubscriber: updateSubscriber_oldSubscriber :: Lens' UpdateSubscriber Subscriber

Files

README.md view
@@ -7,9 +7,8 @@   ## Version--`1.6.1`-+ +`2.0` - Derived from API version @2016-10-20@ of the AWS service descriptions, licensed under Apache 2.0.  ## Description @@ -26,7 +25,7 @@ The provided lenses should be compatible with any of the major lens libraries [lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core). -See [Network.AWS.Budgets](http://hackage.haskell.org/package/amazonka-budgets/docs/Network-AWS-Budgets.html)+See [Amazonka.Budgets](http://hackage.haskell.org/package/amazonka-budgets/docs/Amazonka-Budgets.html) or [the AWS documentation](https://aws.amazon.com/documentation/) to get started.  
− Setup.hs
@@ -1,2 +0,0 @@-import           Distribution.Simple-main = defaultMain
amazonka-budgets.cabal view
@@ -1,98 +1,141 @@-name:                  amazonka-budgets-version:               1.6.1-synopsis:              Amazon Budgets SDK.-homepage:              https://github.com/brendanhay/amazonka-bug-reports:           https://github.com/brendanhay/amazonka/issues-license:               MPL-2.0-license-file:          LICENSE-author:                Brendan Hay-maintainer:            Brendan Hay <brendan.g.hay+amazonka@gmail.com>-copyright:             Copyright (c) 2013-2018 Brendan Hay-category:              Network, AWS, Cloud, Distributed Computing-build-type:            Simple-cabal-version:         >= 1.10-extra-source-files:    README.md fixture/*.yaml fixture/*.proto src/.gitkeep+cabal-version:      2.2+name:               amazonka-budgets+version:            2.0+synopsis:           Amazon Budgets SDK.+homepage:           https://github.com/brendanhay/amazonka+bug-reports:        https://github.com/brendanhay/amazonka/issues+license:            MPL-2.0+license-file:       LICENSE+author:             Brendan Hay+maintainer:+  Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright:          Copyright (c) 2013-2023 Brendan Hay+category:           AWS+build-type:         Simple+extra-source-files:+  fixture/*.proto+  fixture/*.yaml+  README.md+  src/.gitkeep+ description:-    The types from this library are intended to be used with-    <http://hackage.haskell.org/package/amazonka amazonka>, which provides-    mechanisms for specifying AuthN/AuthZ information, sending requests,-    and receiving responses.-    .-    Lenses are used for constructing and manipulating types,-    due to the depth of nesting of AWS types and transparency regarding-    de/serialisation into more palatable Haskell values.-    The provided lenses should be compatible with any of the major lens libraries-    such as <http://hackage.haskell.org/package/lens lens> or-    <http://hackage.haskell.org/package/lens-family-core lens-family-core>.-    .-    See "Network.AWS.Budgets" or <https://aws.amazon.com/documentation/ the AWS documentation>-    to get started.+  Derived from API version @2016-10-20@ of the AWS service descriptions, licensed under Apache 2.0.+  .+  The types from this library are intended to be used with <http://hackage.haskell.org/package/amazonka amazonka>,+  which provides mechanisms for specifying AuthN/AuthZ information, sending requests, and receiving responses.+  .+  It is recommended to use generic lenses or optics from packages such as <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify optional fields and deconstruct responses.+  .+  Generated lenses can be found in "Amazonka.Budgets.Lens" and are+  suitable for use with a lens package such as <http://hackage.haskell.org/package/lens lens> or <http://hackage.haskell.org/package/lens-family-core lens-family-core>.+  .+  See "Amazonka.Budgets" and the <https://aws.amazon.com/documentation/ AWS documentation> to get started.  source-repository head-    type:              git-    location:          git://github.com/brendanhay/amazonka.git-    subdir:            amazonka-budgets+  type:     git+  location: git://github.com/brendanhay/amazonka.git+  subdir:   amazonka-budgets  library-    default-language:  Haskell2010-    hs-source-dirs:    src gen--    ghc-options:-        -Wall-        -fwarn-incomplete-uni-patterns-        -fwarn-incomplete-record-updates-        -funbox-strict-fields--    exposed-modules:-          Network.AWS.Budgets-        , Network.AWS.Budgets.CreateBudget-        , Network.AWS.Budgets.CreateNotification-        , Network.AWS.Budgets.CreateSubscriber-        , Network.AWS.Budgets.DeleteBudget-        , Network.AWS.Budgets.DeleteNotification-        , Network.AWS.Budgets.DeleteSubscriber-        , Network.AWS.Budgets.DescribeBudget-        , Network.AWS.Budgets.DescribeBudgets-        , Network.AWS.Budgets.DescribeNotificationsForBudget-        , Network.AWS.Budgets.DescribeSubscribersForNotification-        , Network.AWS.Budgets.Types-        , Network.AWS.Budgets.UpdateBudget-        , Network.AWS.Budgets.UpdateNotification-        , Network.AWS.Budgets.UpdateSubscriber-        , Network.AWS.Budgets.Waiters+  default-language: Haskell2010+  hs-source-dirs:   src gen+  ghc-options:+    -Wall -fwarn-incomplete-uni-patterns+    -fwarn-incomplete-record-updates -funbox-strict-fields -    other-modules:-          Network.AWS.Budgets.Types.Product-        , Network.AWS.Budgets.Types.Sum+  exposed-modules:+    Amazonka.Budgets+    Amazonka.Budgets.CreateBudget+    Amazonka.Budgets.CreateBudgetAction+    Amazonka.Budgets.CreateNotification+    Amazonka.Budgets.CreateSubscriber+    Amazonka.Budgets.DeleteBudget+    Amazonka.Budgets.DeleteBudgetAction+    Amazonka.Budgets.DeleteNotification+    Amazonka.Budgets.DeleteSubscriber+    Amazonka.Budgets.DescribeBudget+    Amazonka.Budgets.DescribeBudgetAction+    Amazonka.Budgets.DescribeBudgetActionHistories+    Amazonka.Budgets.DescribeBudgetActionsForAccount+    Amazonka.Budgets.DescribeBudgetActionsForBudget+    Amazonka.Budgets.DescribeBudgetNotificationsForAccount+    Amazonka.Budgets.DescribeBudgetPerformanceHistory+    Amazonka.Budgets.DescribeBudgets+    Amazonka.Budgets.DescribeNotificationsForBudget+    Amazonka.Budgets.DescribeSubscribersForNotification+    Amazonka.Budgets.ExecuteBudgetAction+    Amazonka.Budgets.Lens+    Amazonka.Budgets.Types+    Amazonka.Budgets.Types.Action+    Amazonka.Budgets.Types.ActionHistory+    Amazonka.Budgets.Types.ActionHistoryDetails+    Amazonka.Budgets.Types.ActionStatus+    Amazonka.Budgets.Types.ActionSubType+    Amazonka.Budgets.Types.ActionThreshold+    Amazonka.Budgets.Types.ActionType+    Amazonka.Budgets.Types.ApprovalModel+    Amazonka.Budgets.Types.AutoAdjustData+    Amazonka.Budgets.Types.AutoAdjustType+    Amazonka.Budgets.Types.Budget+    Amazonka.Budgets.Types.BudgetedAndActualAmounts+    Amazonka.Budgets.Types.BudgetNotificationsForAccount+    Amazonka.Budgets.Types.BudgetPerformanceHistory+    Amazonka.Budgets.Types.BudgetType+    Amazonka.Budgets.Types.CalculatedSpend+    Amazonka.Budgets.Types.ComparisonOperator+    Amazonka.Budgets.Types.CostTypes+    Amazonka.Budgets.Types.Definition+    Amazonka.Budgets.Types.EventType+    Amazonka.Budgets.Types.ExecutionType+    Amazonka.Budgets.Types.HistoricalOptions+    Amazonka.Budgets.Types.IamActionDefinition+    Amazonka.Budgets.Types.Notification+    Amazonka.Budgets.Types.NotificationState+    Amazonka.Budgets.Types.NotificationType+    Amazonka.Budgets.Types.NotificationWithSubscribers+    Amazonka.Budgets.Types.ScpActionDefinition+    Amazonka.Budgets.Types.Spend+    Amazonka.Budgets.Types.SsmActionDefinition+    Amazonka.Budgets.Types.Subscriber+    Amazonka.Budgets.Types.SubscriptionType+    Amazonka.Budgets.Types.ThresholdType+    Amazonka.Budgets.Types.TimePeriod+    Amazonka.Budgets.Types.TimeUnit+    Amazonka.Budgets.UpdateBudget+    Amazonka.Budgets.UpdateBudgetAction+    Amazonka.Budgets.UpdateNotification+    Amazonka.Budgets.UpdateSubscriber+    Amazonka.Budgets.Waiters -    build-depends:-          amazonka-core == 1.6.1.*-        , base          >= 4.7     && < 5+  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5  test-suite amazonka-budgets-test-    type:              exitcode-stdio-1.0-    default-language:  Haskell2010-    hs-source-dirs:    test-    main-is:           Main.hs--    ghc-options:       -Wall -threaded+  type:             exitcode-stdio-1.0+  default-language: Haskell2010+  hs-source-dirs:   test+  main-is:          Main.hs+  ghc-options:      -Wall -threaded -    -- This section is encoded by the template and any modules added by-    -- hand outside these namespaces will not correctly be added to the-    -- distribution package.-    other-modules:-          Test.AWS.Budgets-        , Test.AWS.Gen.Budgets-        , Test.AWS.Budgets.Internal+  -- This section is encoded by the template and any modules added by+  -- hand outside these namespaces will not correctly be added to the+  -- distribution package.+  other-modules:+    Test.Amazonka.Budgets+    Test.Amazonka.Budgets.Internal+    Test.Amazonka.Gen.Budgets -    build-depends:-          amazonka-core == 1.6.1.*-        , amazonka-test == 1.6.1.*-        , amazonka-budgets-        , base-        , bytestring-        , tasty-        , tasty-hunit-        , text-        , time-        , unordered-containers+  build-depends:+    , amazonka-budgets+    , amazonka-core         >=2.0 && <2.1+    , amazonka-test         >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/CreateBudgetAction.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/budgets/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  budgets.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/CreateBudgetActionResponse.proto view
+ fixture/DeleteBudgetAction.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/budgets/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  budgets.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeleteBudgetActionResponse.proto view
+ fixture/DescribeBudgetAction.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/budgets/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  budgets.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DescribeBudgetActionHistories.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/budgets/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  budgets.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DescribeBudgetActionHistoriesResponse.proto view
+ fixture/DescribeBudgetActionResponse.proto view
+ fixture/DescribeBudgetActionsForAccount.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/budgets/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  budgets.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DescribeBudgetActionsForAccountResponse.proto view
+ fixture/DescribeBudgetActionsForBudget.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/budgets/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  budgets.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DescribeBudgetActionsForBudgetResponse.proto view
+ fixture/DescribeBudgetNotificationsForAccount.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/budgets/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  budgets.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DescribeBudgetNotificationsForAccountResponse.proto view
+ fixture/DescribeBudgetPerformanceHistory.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/budgets/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  budgets.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DescribeBudgetPerformanceHistoryResponse.proto view
+ fixture/ExecuteBudgetAction.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/budgets/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  budgets.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ExecuteBudgetActionResponse.proto view
+ fixture/UpdateBudgetAction.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/budgets/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  budgets.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UpdateBudgetActionResponse.proto view
+ gen/Amazonka/Budgets.hs view
@@ -0,0 +1,423 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.Budgets+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2016-10-20@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Use the Amazon Web Services Budgets API to plan your service usage,+-- service costs, and instance reservations. This API reference provides+-- descriptions, syntax, and usage examples for each of the actions and+-- data types for the Amazon Web Services Budgets feature.+--+-- Budgets provide you with a way to see the following information:+--+-- -   How close your plan is to your budgeted amount or to the free tier+--     limits+--+-- -   Your usage-to-date, including how much you\'ve used of your Reserved+--     Instances (RIs)+--+-- -   Your current estimated charges from Amazon Web Services, and how+--     much your predicted usage will accrue in charges by the end of the+--     month+--+-- -   How much of your budget has been used+--+-- Amazon Web Services updates your budget status several times a day.+-- Budgets track your unblended costs, subscriptions, refunds, and RIs. You+-- can create the following types of budgets:+--+-- -   __Cost budgets__ - Plan how much you want to spend on a service.+--+-- -   __Usage budgets__ - Plan how much you want to use one or more+--     services.+--+-- -   __RI utilization budgets__ - Define a utilization threshold, and+--     receive alerts when your RI usage falls below that threshold. This+--     lets you see if your RIs are unused or under-utilized.+--+-- -   __RI coverage budgets__ - Define a coverage threshold, and receive+--     alerts when the number of your instance hours that are covered by+--     RIs fall below that threshold. This lets you see how much of your+--     instance usage is covered by a reservation.+--+-- Service Endpoint+--+-- The Amazon Web Services Budgets API provides the following endpoint:+--+-- -   https:\/\/budgets.amazonaws.com+--+-- For information about costs that are associated with the Amazon Web+-- Services Budgets API, see+-- <https://aws.amazon.com/aws-cost-management/pricing/ Amazon Web Services Cost Management Pricing>.+module Amazonka.Budgets+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** AccessDeniedException+    _AccessDeniedException,++    -- ** CreationLimitExceededException+    _CreationLimitExceededException,++    -- ** DuplicateRecordException+    _DuplicateRecordException,++    -- ** ExpiredNextTokenException+    _ExpiredNextTokenException,++    -- ** InternalErrorException+    _InternalErrorException,++    -- ** InvalidNextTokenException+    _InvalidNextTokenException,++    -- ** InvalidParameterException+    _InvalidParameterException,++    -- ** NotFoundException+    _NotFoundException,++    -- ** ResourceLockedException+    _ResourceLockedException,++    -- ** ThrottlingException+    _ThrottlingException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** CreateBudget+    CreateBudget (CreateBudget'),+    newCreateBudget,+    CreateBudgetResponse (CreateBudgetResponse'),+    newCreateBudgetResponse,++    -- ** CreateBudgetAction+    CreateBudgetAction (CreateBudgetAction'),+    newCreateBudgetAction,+    CreateBudgetActionResponse (CreateBudgetActionResponse'),+    newCreateBudgetActionResponse,++    -- ** CreateNotification+    CreateNotification (CreateNotification'),+    newCreateNotification,+    CreateNotificationResponse (CreateNotificationResponse'),+    newCreateNotificationResponse,++    -- ** CreateSubscriber+    CreateSubscriber (CreateSubscriber'),+    newCreateSubscriber,+    CreateSubscriberResponse (CreateSubscriberResponse'),+    newCreateSubscriberResponse,++    -- ** DeleteBudget+    DeleteBudget (DeleteBudget'),+    newDeleteBudget,+    DeleteBudgetResponse (DeleteBudgetResponse'),+    newDeleteBudgetResponse,++    -- ** DeleteBudgetAction+    DeleteBudgetAction (DeleteBudgetAction'),+    newDeleteBudgetAction,+    DeleteBudgetActionResponse (DeleteBudgetActionResponse'),+    newDeleteBudgetActionResponse,++    -- ** DeleteNotification+    DeleteNotification (DeleteNotification'),+    newDeleteNotification,+    DeleteNotificationResponse (DeleteNotificationResponse'),+    newDeleteNotificationResponse,++    -- ** DeleteSubscriber+    DeleteSubscriber (DeleteSubscriber'),+    newDeleteSubscriber,+    DeleteSubscriberResponse (DeleteSubscriberResponse'),+    newDeleteSubscriberResponse,++    -- ** DescribeBudget+    DescribeBudget (DescribeBudget'),+    newDescribeBudget,+    DescribeBudgetResponse (DescribeBudgetResponse'),+    newDescribeBudgetResponse,++    -- ** DescribeBudgetAction+    DescribeBudgetAction (DescribeBudgetAction'),+    newDescribeBudgetAction,+    DescribeBudgetActionResponse (DescribeBudgetActionResponse'),+    newDescribeBudgetActionResponse,++    -- ** DescribeBudgetActionHistories (Paginated)+    DescribeBudgetActionHistories (DescribeBudgetActionHistories'),+    newDescribeBudgetActionHistories,+    DescribeBudgetActionHistoriesResponse (DescribeBudgetActionHistoriesResponse'),+    newDescribeBudgetActionHistoriesResponse,++    -- ** DescribeBudgetActionsForAccount (Paginated)+    DescribeBudgetActionsForAccount (DescribeBudgetActionsForAccount'),+    newDescribeBudgetActionsForAccount,+    DescribeBudgetActionsForAccountResponse (DescribeBudgetActionsForAccountResponse'),+    newDescribeBudgetActionsForAccountResponse,++    -- ** DescribeBudgetActionsForBudget (Paginated)+    DescribeBudgetActionsForBudget (DescribeBudgetActionsForBudget'),+    newDescribeBudgetActionsForBudget,+    DescribeBudgetActionsForBudgetResponse (DescribeBudgetActionsForBudgetResponse'),+    newDescribeBudgetActionsForBudgetResponse,++    -- ** DescribeBudgetNotificationsForAccount (Paginated)+    DescribeBudgetNotificationsForAccount (DescribeBudgetNotificationsForAccount'),+    newDescribeBudgetNotificationsForAccount,+    DescribeBudgetNotificationsForAccountResponse (DescribeBudgetNotificationsForAccountResponse'),+    newDescribeBudgetNotificationsForAccountResponse,++    -- ** DescribeBudgetPerformanceHistory (Paginated)+    DescribeBudgetPerformanceHistory (DescribeBudgetPerformanceHistory'),+    newDescribeBudgetPerformanceHistory,+    DescribeBudgetPerformanceHistoryResponse (DescribeBudgetPerformanceHistoryResponse'),+    newDescribeBudgetPerformanceHistoryResponse,++    -- ** DescribeBudgets (Paginated)+    DescribeBudgets (DescribeBudgets'),+    newDescribeBudgets,+    DescribeBudgetsResponse (DescribeBudgetsResponse'),+    newDescribeBudgetsResponse,++    -- ** DescribeNotificationsForBudget (Paginated)+    DescribeNotificationsForBudget (DescribeNotificationsForBudget'),+    newDescribeNotificationsForBudget,+    DescribeNotificationsForBudgetResponse (DescribeNotificationsForBudgetResponse'),+    newDescribeNotificationsForBudgetResponse,++    -- ** DescribeSubscribersForNotification (Paginated)+    DescribeSubscribersForNotification (DescribeSubscribersForNotification'),+    newDescribeSubscribersForNotification,+    DescribeSubscribersForNotificationResponse (DescribeSubscribersForNotificationResponse'),+    newDescribeSubscribersForNotificationResponse,++    -- ** ExecuteBudgetAction+    ExecuteBudgetAction (ExecuteBudgetAction'),+    newExecuteBudgetAction,+    ExecuteBudgetActionResponse (ExecuteBudgetActionResponse'),+    newExecuteBudgetActionResponse,++    -- ** UpdateBudget+    UpdateBudget (UpdateBudget'),+    newUpdateBudget,+    UpdateBudgetResponse (UpdateBudgetResponse'),+    newUpdateBudgetResponse,++    -- ** UpdateBudgetAction+    UpdateBudgetAction (UpdateBudgetAction'),+    newUpdateBudgetAction,+    UpdateBudgetActionResponse (UpdateBudgetActionResponse'),+    newUpdateBudgetActionResponse,++    -- ** UpdateNotification+    UpdateNotification (UpdateNotification'),+    newUpdateNotification,+    UpdateNotificationResponse (UpdateNotificationResponse'),+    newUpdateNotificationResponse,++    -- ** UpdateSubscriber+    UpdateSubscriber (UpdateSubscriber'),+    newUpdateSubscriber,+    UpdateSubscriberResponse (UpdateSubscriberResponse'),+    newUpdateSubscriberResponse,++    -- * Types++    -- ** ActionStatus+    ActionStatus (..),++    -- ** ActionSubType+    ActionSubType (..),++    -- ** ActionType+    ActionType (..),++    -- ** ApprovalModel+    ApprovalModel (..),++    -- ** AutoAdjustType+    AutoAdjustType (..),++    -- ** BudgetType+    BudgetType (..),++    -- ** ComparisonOperator+    ComparisonOperator (..),++    -- ** EventType+    EventType (..),++    -- ** ExecutionType+    ExecutionType (..),++    -- ** NotificationState+    NotificationState (..),++    -- ** NotificationType+    NotificationType (..),++    -- ** SubscriptionType+    SubscriptionType (..),++    -- ** ThresholdType+    ThresholdType (..),++    -- ** TimeUnit+    TimeUnit (..),++    -- ** Action+    Action (Action'),+    newAction,++    -- ** ActionHistory+    ActionHistory (ActionHistory'),+    newActionHistory,++    -- ** ActionHistoryDetails+    ActionHistoryDetails (ActionHistoryDetails'),+    newActionHistoryDetails,++    -- ** ActionThreshold+    ActionThreshold (ActionThreshold'),+    newActionThreshold,++    -- ** AutoAdjustData+    AutoAdjustData (AutoAdjustData'),+    newAutoAdjustData,++    -- ** Budget+    Budget (Budget'),+    newBudget,++    -- ** BudgetNotificationsForAccount+    BudgetNotificationsForAccount (BudgetNotificationsForAccount'),+    newBudgetNotificationsForAccount,++    -- ** BudgetPerformanceHistory+    BudgetPerformanceHistory (BudgetPerformanceHistory'),+    newBudgetPerformanceHistory,++    -- ** BudgetedAndActualAmounts+    BudgetedAndActualAmounts (BudgetedAndActualAmounts'),+    newBudgetedAndActualAmounts,++    -- ** CalculatedSpend+    CalculatedSpend (CalculatedSpend'),+    newCalculatedSpend,++    -- ** CostTypes+    CostTypes (CostTypes'),+    newCostTypes,++    -- ** Definition+    Definition (Definition'),+    newDefinition,++    -- ** HistoricalOptions+    HistoricalOptions (HistoricalOptions'),+    newHistoricalOptions,++    -- ** IamActionDefinition+    IamActionDefinition (IamActionDefinition'),+    newIamActionDefinition,++    -- ** Notification+    Notification (Notification'),+    newNotification,++    -- ** NotificationWithSubscribers+    NotificationWithSubscribers (NotificationWithSubscribers'),+    newNotificationWithSubscribers,++    -- ** ScpActionDefinition+    ScpActionDefinition (ScpActionDefinition'),+    newScpActionDefinition,++    -- ** Spend+    Spend (Spend'),+    newSpend,++    -- ** SsmActionDefinition+    SsmActionDefinition (SsmActionDefinition'),+    newSsmActionDefinition,++    -- ** Subscriber+    Subscriber (Subscriber'),+    newSubscriber,++    -- ** TimePeriod+    TimePeriod (TimePeriod'),+    newTimePeriod,+  )+where++import Amazonka.Budgets.CreateBudget+import Amazonka.Budgets.CreateBudgetAction+import Amazonka.Budgets.CreateNotification+import Amazonka.Budgets.CreateSubscriber+import Amazonka.Budgets.DeleteBudget+import Amazonka.Budgets.DeleteBudgetAction+import Amazonka.Budgets.DeleteNotification+import Amazonka.Budgets.DeleteSubscriber+import Amazonka.Budgets.DescribeBudget+import Amazonka.Budgets.DescribeBudgetAction+import Amazonka.Budgets.DescribeBudgetActionHistories+import Amazonka.Budgets.DescribeBudgetActionsForAccount+import Amazonka.Budgets.DescribeBudgetActionsForBudget+import Amazonka.Budgets.DescribeBudgetNotificationsForAccount+import Amazonka.Budgets.DescribeBudgetPerformanceHistory+import Amazonka.Budgets.DescribeBudgets+import Amazonka.Budgets.DescribeNotificationsForBudget+import Amazonka.Budgets.DescribeSubscribersForNotification+import Amazonka.Budgets.ExecuteBudgetAction+import Amazonka.Budgets.Lens+import Amazonka.Budgets.Types+import Amazonka.Budgets.UpdateBudget+import Amazonka.Budgets.UpdateBudgetAction+import Amazonka.Budgets.UpdateNotification+import Amazonka.Budgets.UpdateSubscriber+import Amazonka.Budgets.Waiters++-- $errors+-- Error matchers are designed for use with the functions provided by+-- <http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.+-- This allows catching (and rethrowing) service specific errors returned+-- by 'Budgets'.++-- $operations+-- Some AWS operations return results that are incomplete and require subsequent+-- requests in order to obtain the entire result set. The process of sending+-- subsequent requests to continue where a previous request left off is called+-- pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to+-- 1000 objects at a time, and you must send subsequent requests with the+-- appropriate Marker in order to retrieve the next page of results.+--+-- Operations that have an 'AWSPager' instance can transparently perform subsequent+-- requests, correctly setting Markers and other request facets to iterate through+-- the entire result set of a truncated API operation. Operations which support+-- this have an additional note in the documentation.+--+-- Many operations have the ability to filter results on the server side. See the+-- individual operation parameters for details.++-- $waiters+-- Waiters poll by repeatedly sending a request until some remote success condition+-- configured by the 'Wait' specification is fulfilled. The 'Wait' specification+-- determines how many attempts should be made, in addition to delay and retry strategies.
+ gen/Amazonka/Budgets/CreateBudget.hs view
@@ -0,0 +1,209 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.CreateBudget+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a budget and, if included, notifications and subscribers.+--+-- Only one of @BudgetLimit@ or @PlannedBudgetLimits@ can be present in the+-- syntax at one time. Use the syntax that matches your case. The Request+-- Syntax section shows the @BudgetLimit@ syntax. For+-- @PlannedBudgetLimits@, see the+-- <https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_CreateBudget.html#API_CreateBudget_Examples Examples>+-- section.+module Amazonka.Budgets.CreateBudget+  ( -- * Creating a Request+    CreateBudget (..),+    newCreateBudget,++    -- * Request Lenses+    createBudget_notificationsWithSubscribers,+    createBudget_accountId,+    createBudget_budget,++    -- * Destructuring the Response+    CreateBudgetResponse (..),+    newCreateBudgetResponse,++    -- * Response Lenses+    createBudgetResponse_httpStatus,+  )+where++import Amazonka.Budgets.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Request of CreateBudget+--+-- /See:/ 'newCreateBudget' smart constructor.+data CreateBudget = CreateBudget'+  { -- | A notification that you want to associate with a budget. A budget can+    -- have up to five notifications, and each notification can have one SNS+    -- subscriber and up to 10 email subscribers. If you include notifications+    -- and subscribers in your @CreateBudget@ call, Amazon Web Services creates+    -- the notifications and subscribers for you.+    notificationsWithSubscribers :: Prelude.Maybe [NotificationWithSubscribers],+    -- | The @accountId@ that is associated with the budget.+    accountId :: Prelude.Text,+    -- | The budget object that you want to create.+    budget :: Budget+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateBudget' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'notificationsWithSubscribers', 'createBudget_notificationsWithSubscribers' - A notification that you want to associate with a budget. A budget can+-- have up to five notifications, and each notification can have one SNS+-- subscriber and up to 10 email subscribers. If you include notifications+-- and subscribers in your @CreateBudget@ call, Amazon Web Services creates+-- the notifications and subscribers for you.+--+-- 'accountId', 'createBudget_accountId' - The @accountId@ that is associated with the budget.+--+-- 'budget', 'createBudget_budget' - The budget object that you want to create.+newCreateBudget ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'budget'+  Budget ->+  CreateBudget+newCreateBudget pAccountId_ pBudget_ =+  CreateBudget'+    { notificationsWithSubscribers =+        Prelude.Nothing,+      accountId = pAccountId_,+      budget = pBudget_+    }++-- | A notification that you want to associate with a budget. A budget can+-- have up to five notifications, and each notification can have one SNS+-- subscriber and up to 10 email subscribers. If you include notifications+-- and subscribers in your @CreateBudget@ call, Amazon Web Services creates+-- the notifications and subscribers for you.+createBudget_notificationsWithSubscribers :: Lens.Lens' CreateBudget (Prelude.Maybe [NotificationWithSubscribers])+createBudget_notificationsWithSubscribers = Lens.lens (\CreateBudget' {notificationsWithSubscribers} -> notificationsWithSubscribers) (\s@CreateBudget' {} a -> s {notificationsWithSubscribers = a} :: CreateBudget) Prelude.. Lens.mapping Lens.coerced++-- | The @accountId@ that is associated with the budget.+createBudget_accountId :: Lens.Lens' CreateBudget Prelude.Text+createBudget_accountId = Lens.lens (\CreateBudget' {accountId} -> accountId) (\s@CreateBudget' {} a -> s {accountId = a} :: CreateBudget)++-- | The budget object that you want to create.+createBudget_budget :: Lens.Lens' CreateBudget Budget+createBudget_budget = Lens.lens (\CreateBudget' {budget} -> budget) (\s@CreateBudget' {} a -> s {budget = a} :: CreateBudget)++instance Core.AWSRequest CreateBudget where+  type AWSResponse CreateBudget = CreateBudgetResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          CreateBudgetResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateBudget where+  hashWithSalt _salt CreateBudget' {..} =+    _salt+      `Prelude.hashWithSalt` notificationsWithSubscribers+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` budget++instance Prelude.NFData CreateBudget where+  rnf CreateBudget' {..} =+    Prelude.rnf notificationsWithSubscribers+      `Prelude.seq` Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf budget++instance Data.ToHeaders CreateBudget where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSBudgetServiceGateway.CreateBudget" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateBudget where+  toJSON CreateBudget' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("NotificationsWithSubscribers" Data..=)+              Prelude.<$> notificationsWithSubscribers,+            Prelude.Just ("AccountId" Data..= accountId),+            Prelude.Just ("Budget" Data..= budget)+          ]+      )++instance Data.ToPath CreateBudget where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateBudget where+  toQuery = Prelude.const Prelude.mempty++-- | Response of CreateBudget+--+-- /See:/ 'newCreateBudgetResponse' smart constructor.+data CreateBudgetResponse = CreateBudgetResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateBudgetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'createBudgetResponse_httpStatus' - The response's http status code.+newCreateBudgetResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateBudgetResponse+newCreateBudgetResponse pHttpStatus_ =+  CreateBudgetResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+createBudgetResponse_httpStatus :: Lens.Lens' CreateBudgetResponse Prelude.Int+createBudgetResponse_httpStatus = Lens.lens (\CreateBudgetResponse' {httpStatus} -> httpStatus) (\s@CreateBudgetResponse' {} a -> s {httpStatus = a} :: CreateBudgetResponse)++instance Prelude.NFData CreateBudgetResponse where+  rnf CreateBudgetResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Budgets/CreateBudgetAction.hs view
@@ -0,0 +1,340 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.CreateBudgetAction+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a budget action.+module Amazonka.Budgets.CreateBudgetAction+  ( -- * Creating a Request+    CreateBudgetAction (..),+    newCreateBudgetAction,++    -- * Request Lenses+    createBudgetAction_accountId,+    createBudgetAction_budgetName,+    createBudgetAction_notificationType,+    createBudgetAction_actionType,+    createBudgetAction_actionThreshold,+    createBudgetAction_definition,+    createBudgetAction_executionRoleArn,+    createBudgetAction_approvalModel,+    createBudgetAction_subscribers,++    -- * Destructuring the Response+    CreateBudgetActionResponse (..),+    newCreateBudgetActionResponse,++    -- * Response Lenses+    createBudgetActionResponse_httpStatus,+    createBudgetActionResponse_accountId,+    createBudgetActionResponse_budgetName,+    createBudgetActionResponse_actionId,+  )+where++import Amazonka.Budgets.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateBudgetAction' smart constructor.+data CreateBudgetAction = CreateBudgetAction'+  { accountId :: Prelude.Text,+    budgetName :: Prelude.Text,+    notificationType :: NotificationType,+    -- | The type of action. This defines the type of tasks that can be carried+    -- out by this action. This field also determines the format for+    -- definition.+    actionType :: ActionType,+    actionThreshold :: ActionThreshold,+    definition :: Definition,+    -- | The role passed for action execution and reversion. Roles and actions+    -- must be in the same account.+    executionRoleArn :: Prelude.Text,+    -- | This specifies if the action needs manual or automatic approval.+    approvalModel :: ApprovalModel,+    subscribers :: Prelude.NonEmpty Subscriber+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateBudgetAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountId', 'createBudgetAction_accountId' - Undocumented member.+--+-- 'budgetName', 'createBudgetAction_budgetName' - Undocumented member.+--+-- 'notificationType', 'createBudgetAction_notificationType' - Undocumented member.+--+-- 'actionType', 'createBudgetAction_actionType' - The type of action. This defines the type of tasks that can be carried+-- out by this action. This field also determines the format for+-- definition.+--+-- 'actionThreshold', 'createBudgetAction_actionThreshold' - Undocumented member.+--+-- 'definition', 'createBudgetAction_definition' - Undocumented member.+--+-- 'executionRoleArn', 'createBudgetAction_executionRoleArn' - The role passed for action execution and reversion. Roles and actions+-- must be in the same account.+--+-- 'approvalModel', 'createBudgetAction_approvalModel' - This specifies if the action needs manual or automatic approval.+--+-- 'subscribers', 'createBudgetAction_subscribers' - Undocumented member.+newCreateBudgetAction ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'budgetName'+  Prelude.Text ->+  -- | 'notificationType'+  NotificationType ->+  -- | 'actionType'+  ActionType ->+  -- | 'actionThreshold'+  ActionThreshold ->+  -- | 'definition'+  Definition ->+  -- | 'executionRoleArn'+  Prelude.Text ->+  -- | 'approvalModel'+  ApprovalModel ->+  -- | 'subscribers'+  Prelude.NonEmpty Subscriber ->+  CreateBudgetAction+newCreateBudgetAction+  pAccountId_+  pBudgetName_+  pNotificationType_+  pActionType_+  pActionThreshold_+  pDefinition_+  pExecutionRoleArn_+  pApprovalModel_+  pSubscribers_ =+    CreateBudgetAction'+      { accountId = pAccountId_,+        budgetName = pBudgetName_,+        notificationType = pNotificationType_,+        actionType = pActionType_,+        actionThreshold = pActionThreshold_,+        definition = pDefinition_,+        executionRoleArn = pExecutionRoleArn_,+        approvalModel = pApprovalModel_,+        subscribers = Lens.coerced Lens.# pSubscribers_+      }++-- | Undocumented member.+createBudgetAction_accountId :: Lens.Lens' CreateBudgetAction Prelude.Text+createBudgetAction_accountId = Lens.lens (\CreateBudgetAction' {accountId} -> accountId) (\s@CreateBudgetAction' {} a -> s {accountId = a} :: CreateBudgetAction)++-- | Undocumented member.+createBudgetAction_budgetName :: Lens.Lens' CreateBudgetAction Prelude.Text+createBudgetAction_budgetName = Lens.lens (\CreateBudgetAction' {budgetName} -> budgetName) (\s@CreateBudgetAction' {} a -> s {budgetName = a} :: CreateBudgetAction)++-- | Undocumented member.+createBudgetAction_notificationType :: Lens.Lens' CreateBudgetAction NotificationType+createBudgetAction_notificationType = Lens.lens (\CreateBudgetAction' {notificationType} -> notificationType) (\s@CreateBudgetAction' {} a -> s {notificationType = a} :: CreateBudgetAction)++-- | The type of action. This defines the type of tasks that can be carried+-- out by this action. This field also determines the format for+-- definition.+createBudgetAction_actionType :: Lens.Lens' CreateBudgetAction ActionType+createBudgetAction_actionType = Lens.lens (\CreateBudgetAction' {actionType} -> actionType) (\s@CreateBudgetAction' {} a -> s {actionType = a} :: CreateBudgetAction)++-- | Undocumented member.+createBudgetAction_actionThreshold :: Lens.Lens' CreateBudgetAction ActionThreshold+createBudgetAction_actionThreshold = Lens.lens (\CreateBudgetAction' {actionThreshold} -> actionThreshold) (\s@CreateBudgetAction' {} a -> s {actionThreshold = a} :: CreateBudgetAction)++-- | Undocumented member.+createBudgetAction_definition :: Lens.Lens' CreateBudgetAction Definition+createBudgetAction_definition = Lens.lens (\CreateBudgetAction' {definition} -> definition) (\s@CreateBudgetAction' {} a -> s {definition = a} :: CreateBudgetAction)++-- | The role passed for action execution and reversion. Roles and actions+-- must be in the same account.+createBudgetAction_executionRoleArn :: Lens.Lens' CreateBudgetAction Prelude.Text+createBudgetAction_executionRoleArn = Lens.lens (\CreateBudgetAction' {executionRoleArn} -> executionRoleArn) (\s@CreateBudgetAction' {} a -> s {executionRoleArn = a} :: CreateBudgetAction)++-- | This specifies if the action needs manual or automatic approval.+createBudgetAction_approvalModel :: Lens.Lens' CreateBudgetAction ApprovalModel+createBudgetAction_approvalModel = Lens.lens (\CreateBudgetAction' {approvalModel} -> approvalModel) (\s@CreateBudgetAction' {} a -> s {approvalModel = a} :: CreateBudgetAction)++-- | Undocumented member.+createBudgetAction_subscribers :: Lens.Lens' CreateBudgetAction (Prelude.NonEmpty Subscriber)+createBudgetAction_subscribers = Lens.lens (\CreateBudgetAction' {subscribers} -> subscribers) (\s@CreateBudgetAction' {} a -> s {subscribers = a} :: CreateBudgetAction) Prelude.. Lens.coerced++instance Core.AWSRequest CreateBudgetAction where+  type+    AWSResponse CreateBudgetAction =+      CreateBudgetActionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateBudgetActionResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "AccountId")+            Prelude.<*> (x Data..:> "BudgetName")+            Prelude.<*> (x Data..:> "ActionId")+      )++instance Prelude.Hashable CreateBudgetAction where+  hashWithSalt _salt CreateBudgetAction' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` budgetName+      `Prelude.hashWithSalt` notificationType+      `Prelude.hashWithSalt` actionType+      `Prelude.hashWithSalt` actionThreshold+      `Prelude.hashWithSalt` definition+      `Prelude.hashWithSalt` executionRoleArn+      `Prelude.hashWithSalt` approvalModel+      `Prelude.hashWithSalt` subscribers++instance Prelude.NFData CreateBudgetAction where+  rnf CreateBudgetAction' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf budgetName+      `Prelude.seq` Prelude.rnf notificationType+      `Prelude.seq` Prelude.rnf actionType+      `Prelude.seq` Prelude.rnf actionThreshold+      `Prelude.seq` Prelude.rnf definition+      `Prelude.seq` Prelude.rnf executionRoleArn+      `Prelude.seq` Prelude.rnf approvalModel+      `Prelude.seq` Prelude.rnf subscribers++instance Data.ToHeaders CreateBudgetAction where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSBudgetServiceGateway.CreateBudgetAction" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateBudgetAction where+  toJSON CreateBudgetAction' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("AccountId" Data..= accountId),+            Prelude.Just ("BudgetName" Data..= budgetName),+            Prelude.Just+              ("NotificationType" Data..= notificationType),+            Prelude.Just ("ActionType" Data..= actionType),+            Prelude.Just+              ("ActionThreshold" Data..= actionThreshold),+            Prelude.Just ("Definition" Data..= definition),+            Prelude.Just+              ("ExecutionRoleArn" Data..= executionRoleArn),+            Prelude.Just ("ApprovalModel" Data..= approvalModel),+            Prelude.Just ("Subscribers" Data..= subscribers)+          ]+      )++instance Data.ToPath CreateBudgetAction where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateBudgetAction where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateBudgetActionResponse' smart constructor.+data CreateBudgetActionResponse = CreateBudgetActionResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    accountId :: Prelude.Text,+    budgetName :: Prelude.Text,+    -- | A system-generated universally unique identifier (UUID) for the action.+    actionId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateBudgetActionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'createBudgetActionResponse_httpStatus' - The response's http status code.+--+-- 'accountId', 'createBudgetActionResponse_accountId' - Undocumented member.+--+-- 'budgetName', 'createBudgetActionResponse_budgetName' - Undocumented member.+--+-- 'actionId', 'createBudgetActionResponse_actionId' - A system-generated universally unique identifier (UUID) for the action.+newCreateBudgetActionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'accountId'+  Prelude.Text ->+  -- | 'budgetName'+  Prelude.Text ->+  -- | 'actionId'+  Prelude.Text ->+  CreateBudgetActionResponse+newCreateBudgetActionResponse+  pHttpStatus_+  pAccountId_+  pBudgetName_+  pActionId_ =+    CreateBudgetActionResponse'+      { httpStatus =+          pHttpStatus_,+        accountId = pAccountId_,+        budgetName = pBudgetName_,+        actionId = pActionId_+      }++-- | The response's http status code.+createBudgetActionResponse_httpStatus :: Lens.Lens' CreateBudgetActionResponse Prelude.Int+createBudgetActionResponse_httpStatus = Lens.lens (\CreateBudgetActionResponse' {httpStatus} -> httpStatus) (\s@CreateBudgetActionResponse' {} a -> s {httpStatus = a} :: CreateBudgetActionResponse)++-- | Undocumented member.+createBudgetActionResponse_accountId :: Lens.Lens' CreateBudgetActionResponse Prelude.Text+createBudgetActionResponse_accountId = Lens.lens (\CreateBudgetActionResponse' {accountId} -> accountId) (\s@CreateBudgetActionResponse' {} a -> s {accountId = a} :: CreateBudgetActionResponse)++-- | Undocumented member.+createBudgetActionResponse_budgetName :: Lens.Lens' CreateBudgetActionResponse Prelude.Text+createBudgetActionResponse_budgetName = Lens.lens (\CreateBudgetActionResponse' {budgetName} -> budgetName) (\s@CreateBudgetActionResponse' {} a -> s {budgetName = a} :: CreateBudgetActionResponse)++-- | A system-generated universally unique identifier (UUID) for the action.+createBudgetActionResponse_actionId :: Lens.Lens' CreateBudgetActionResponse Prelude.Text+createBudgetActionResponse_actionId = Lens.lens (\CreateBudgetActionResponse' {actionId} -> actionId) (\s@CreateBudgetActionResponse' {} a -> s {actionId = a} :: CreateBudgetActionResponse)++instance Prelude.NFData CreateBudgetActionResponse where+  rnf CreateBudgetActionResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf budgetName+      `Prelude.seq` Prelude.rnf actionId
+ gen/Amazonka/Budgets/CreateNotification.hs view
@@ -0,0 +1,227 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.CreateNotification+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a notification. You must create the budget before you create the+-- associated notification.+module Amazonka.Budgets.CreateNotification+  ( -- * Creating a Request+    CreateNotification (..),+    newCreateNotification,++    -- * Request Lenses+    createNotification_accountId,+    createNotification_budgetName,+    createNotification_notification,+    createNotification_subscribers,++    -- * Destructuring the Response+    CreateNotificationResponse (..),+    newCreateNotificationResponse,++    -- * Response Lenses+    createNotificationResponse_httpStatus,+  )+where++import Amazonka.Budgets.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Request of CreateNotification+--+-- /See:/ 'newCreateNotification' smart constructor.+data CreateNotification = CreateNotification'+  { -- | The @accountId@ that is associated with the budget that you want to+    -- create a notification for.+    accountId :: Prelude.Text,+    -- | The name of the budget that you want Amazon Web Services to notify you+    -- about. Budget names must be unique within an account.+    budgetName :: Prelude.Text,+    -- | The notification that you want to create.+    notification :: Notification,+    -- | A list of subscribers that you want to associate with the notification.+    -- Each notification can have one SNS subscriber and up to 10 email+    -- subscribers.+    subscribers :: Prelude.NonEmpty Subscriber+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateNotification' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountId', 'createNotification_accountId' - The @accountId@ that is associated with the budget that you want to+-- create a notification for.+--+-- 'budgetName', 'createNotification_budgetName' - The name of the budget that you want Amazon Web Services to notify you+-- about. Budget names must be unique within an account.+--+-- 'notification', 'createNotification_notification' - The notification that you want to create.+--+-- 'subscribers', 'createNotification_subscribers' - A list of subscribers that you want to associate with the notification.+-- Each notification can have one SNS subscriber and up to 10 email+-- subscribers.+newCreateNotification ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'budgetName'+  Prelude.Text ->+  -- | 'notification'+  Notification ->+  -- | 'subscribers'+  Prelude.NonEmpty Subscriber ->+  CreateNotification+newCreateNotification+  pAccountId_+  pBudgetName_+  pNotification_+  pSubscribers_ =+    CreateNotification'+      { accountId = pAccountId_,+        budgetName = pBudgetName_,+        notification = pNotification_,+        subscribers = Lens.coerced Lens.# pSubscribers_+      }++-- | The @accountId@ that is associated with the budget that you want to+-- create a notification for.+createNotification_accountId :: Lens.Lens' CreateNotification Prelude.Text+createNotification_accountId = Lens.lens (\CreateNotification' {accountId} -> accountId) (\s@CreateNotification' {} a -> s {accountId = a} :: CreateNotification)++-- | The name of the budget that you want Amazon Web Services to notify you+-- about. Budget names must be unique within an account.+createNotification_budgetName :: Lens.Lens' CreateNotification Prelude.Text+createNotification_budgetName = Lens.lens (\CreateNotification' {budgetName} -> budgetName) (\s@CreateNotification' {} a -> s {budgetName = a} :: CreateNotification)++-- | The notification that you want to create.+createNotification_notification :: Lens.Lens' CreateNotification Notification+createNotification_notification = Lens.lens (\CreateNotification' {notification} -> notification) (\s@CreateNotification' {} a -> s {notification = a} :: CreateNotification)++-- | A list of subscribers that you want to associate with the notification.+-- Each notification can have one SNS subscriber and up to 10 email+-- subscribers.+createNotification_subscribers :: Lens.Lens' CreateNotification (Prelude.NonEmpty Subscriber)+createNotification_subscribers = Lens.lens (\CreateNotification' {subscribers} -> subscribers) (\s@CreateNotification' {} a -> s {subscribers = a} :: CreateNotification) Prelude.. Lens.coerced++instance Core.AWSRequest CreateNotification where+  type+    AWSResponse CreateNotification =+      CreateNotificationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          CreateNotificationResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateNotification where+  hashWithSalt _salt CreateNotification' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` budgetName+      `Prelude.hashWithSalt` notification+      `Prelude.hashWithSalt` subscribers++instance Prelude.NFData CreateNotification where+  rnf CreateNotification' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf budgetName+      `Prelude.seq` Prelude.rnf notification+      `Prelude.seq` Prelude.rnf subscribers++instance Data.ToHeaders CreateNotification where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSBudgetServiceGateway.CreateNotification" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateNotification where+  toJSON CreateNotification' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("AccountId" Data..= accountId),+            Prelude.Just ("BudgetName" Data..= budgetName),+            Prelude.Just ("Notification" Data..= notification),+            Prelude.Just ("Subscribers" Data..= subscribers)+          ]+      )++instance Data.ToPath CreateNotification where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateNotification where+  toQuery = Prelude.const Prelude.mempty++-- | Response of CreateNotification+--+-- /See:/ 'newCreateNotificationResponse' smart constructor.+data CreateNotificationResponse = CreateNotificationResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateNotificationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'createNotificationResponse_httpStatus' - The response's http status code.+newCreateNotificationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateNotificationResponse+newCreateNotificationResponse pHttpStatus_ =+  CreateNotificationResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+createNotificationResponse_httpStatus :: Lens.Lens' CreateNotificationResponse Prelude.Int+createNotificationResponse_httpStatus = Lens.lens (\CreateNotificationResponse' {httpStatus} -> httpStatus) (\s@CreateNotificationResponse' {} a -> s {httpStatus = a} :: CreateNotificationResponse)++instance Prelude.NFData CreateNotificationResponse where+  rnf CreateNotificationResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Budgets/CreateSubscriber.hs view
@@ -0,0 +1,221 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.CreateSubscriber+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a subscriber. You must create the associated budget and+-- notification before you create the subscriber.+module Amazonka.Budgets.CreateSubscriber+  ( -- * Creating a Request+    CreateSubscriber (..),+    newCreateSubscriber,++    -- * Request Lenses+    createSubscriber_accountId,+    createSubscriber_budgetName,+    createSubscriber_notification,+    createSubscriber_subscriber,++    -- * Destructuring the Response+    CreateSubscriberResponse (..),+    newCreateSubscriberResponse,++    -- * Response Lenses+    createSubscriberResponse_httpStatus,+  )+where++import Amazonka.Budgets.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Request of CreateSubscriber+--+-- /See:/ 'newCreateSubscriber' smart constructor.+data CreateSubscriber = CreateSubscriber'+  { -- | The @accountId@ that is associated with the budget that you want to+    -- create a subscriber for.+    accountId :: Prelude.Text,+    -- | The name of the budget that you want to subscribe to. Budget names must+    -- be unique within an account.+    budgetName :: Prelude.Text,+    -- | The notification that you want to create a subscriber for.+    notification :: Notification,+    -- | The subscriber that you want to associate with a budget notification.+    subscriber :: Subscriber+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSubscriber' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountId', 'createSubscriber_accountId' - The @accountId@ that is associated with the budget that you want to+-- create a subscriber for.+--+-- 'budgetName', 'createSubscriber_budgetName' - The name of the budget that you want to subscribe to. Budget names must+-- be unique within an account.+--+-- 'notification', 'createSubscriber_notification' - The notification that you want to create a subscriber for.+--+-- 'subscriber', 'createSubscriber_subscriber' - The subscriber that you want to associate with a budget notification.+newCreateSubscriber ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'budgetName'+  Prelude.Text ->+  -- | 'notification'+  Notification ->+  -- | 'subscriber'+  Subscriber ->+  CreateSubscriber+newCreateSubscriber+  pAccountId_+  pBudgetName_+  pNotification_+  pSubscriber_ =+    CreateSubscriber'+      { accountId = pAccountId_,+        budgetName = pBudgetName_,+        notification = pNotification_,+        subscriber = pSubscriber_+      }++-- | The @accountId@ that is associated with the budget that you want to+-- create a subscriber for.+createSubscriber_accountId :: Lens.Lens' CreateSubscriber Prelude.Text+createSubscriber_accountId = Lens.lens (\CreateSubscriber' {accountId} -> accountId) (\s@CreateSubscriber' {} a -> s {accountId = a} :: CreateSubscriber)++-- | The name of the budget that you want to subscribe to. Budget names must+-- be unique within an account.+createSubscriber_budgetName :: Lens.Lens' CreateSubscriber Prelude.Text+createSubscriber_budgetName = Lens.lens (\CreateSubscriber' {budgetName} -> budgetName) (\s@CreateSubscriber' {} a -> s {budgetName = a} :: CreateSubscriber)++-- | The notification that you want to create a subscriber for.+createSubscriber_notification :: Lens.Lens' CreateSubscriber Notification+createSubscriber_notification = Lens.lens (\CreateSubscriber' {notification} -> notification) (\s@CreateSubscriber' {} a -> s {notification = a} :: CreateSubscriber)++-- | The subscriber that you want to associate with a budget notification.+createSubscriber_subscriber :: Lens.Lens' CreateSubscriber Subscriber+createSubscriber_subscriber = Lens.lens (\CreateSubscriber' {subscriber} -> subscriber) (\s@CreateSubscriber' {} a -> s {subscriber = a} :: CreateSubscriber)++instance Core.AWSRequest CreateSubscriber where+  type+    AWSResponse CreateSubscriber =+      CreateSubscriberResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          CreateSubscriberResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateSubscriber where+  hashWithSalt _salt CreateSubscriber' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` budgetName+      `Prelude.hashWithSalt` notification+      `Prelude.hashWithSalt` subscriber++instance Prelude.NFData CreateSubscriber where+  rnf CreateSubscriber' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf budgetName+      `Prelude.seq` Prelude.rnf notification+      `Prelude.seq` Prelude.rnf subscriber++instance Data.ToHeaders CreateSubscriber where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSBudgetServiceGateway.CreateSubscriber" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateSubscriber where+  toJSON CreateSubscriber' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("AccountId" Data..= accountId),+            Prelude.Just ("BudgetName" Data..= budgetName),+            Prelude.Just ("Notification" Data..= notification),+            Prelude.Just ("Subscriber" Data..= subscriber)+          ]+      )++instance Data.ToPath CreateSubscriber where+  toPath = Prelude.const "/"++instance Data.ToQuery CreateSubscriber where+  toQuery = Prelude.const Prelude.mempty++-- | Response of CreateSubscriber+--+-- /See:/ 'newCreateSubscriberResponse' smart constructor.+data CreateSubscriberResponse = CreateSubscriberResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSubscriberResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'createSubscriberResponse_httpStatus' - The response's http status code.+newCreateSubscriberResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateSubscriberResponse+newCreateSubscriberResponse pHttpStatus_ =+  CreateSubscriberResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+createSubscriberResponse_httpStatus :: Lens.Lens' CreateSubscriberResponse Prelude.Int+createSubscriberResponse_httpStatus = Lens.lens (\CreateSubscriberResponse' {httpStatus} -> httpStatus) (\s@CreateSubscriberResponse' {} a -> s {httpStatus = a} :: CreateSubscriberResponse)++instance Prelude.NFData CreateSubscriberResponse where+  rnf CreateSubscriberResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Budgets/DeleteBudget.hs view
@@ -0,0 +1,181 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.DeleteBudget+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a budget. You can delete your budget at any time.+--+-- Deleting a budget also deletes the notifications and subscribers that+-- are associated with that budget.+module Amazonka.Budgets.DeleteBudget+  ( -- * Creating a Request+    DeleteBudget (..),+    newDeleteBudget,++    -- * Request Lenses+    deleteBudget_accountId,+    deleteBudget_budgetName,++    -- * Destructuring the Response+    DeleteBudgetResponse (..),+    newDeleteBudgetResponse,++    -- * Response Lenses+    deleteBudgetResponse_httpStatus,+  )+where++import Amazonka.Budgets.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Request of DeleteBudget+--+-- /See:/ 'newDeleteBudget' smart constructor.+data DeleteBudget = DeleteBudget'+  { -- | The @accountId@ that is associated with the budget that you want to+    -- delete.+    accountId :: Prelude.Text,+    -- | The name of the budget that you want to delete.+    budgetName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBudget' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountId', 'deleteBudget_accountId' - The @accountId@ that is associated with the budget that you want to+-- delete.+--+-- 'budgetName', 'deleteBudget_budgetName' - The name of the budget that you want to delete.+newDeleteBudget ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'budgetName'+  Prelude.Text ->+  DeleteBudget+newDeleteBudget pAccountId_ pBudgetName_ =+  DeleteBudget'+    { accountId = pAccountId_,+      budgetName = pBudgetName_+    }++-- | The @accountId@ that is associated with the budget that you want to+-- delete.+deleteBudget_accountId :: Lens.Lens' DeleteBudget Prelude.Text+deleteBudget_accountId = Lens.lens (\DeleteBudget' {accountId} -> accountId) (\s@DeleteBudget' {} a -> s {accountId = a} :: DeleteBudget)++-- | The name of the budget that you want to delete.+deleteBudget_budgetName :: Lens.Lens' DeleteBudget Prelude.Text+deleteBudget_budgetName = Lens.lens (\DeleteBudget' {budgetName} -> budgetName) (\s@DeleteBudget' {} a -> s {budgetName = a} :: DeleteBudget)++instance Core.AWSRequest DeleteBudget where+  type AWSResponse DeleteBudget = DeleteBudgetResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteBudgetResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteBudget where+  hashWithSalt _salt DeleteBudget' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` budgetName++instance Prelude.NFData DeleteBudget where+  rnf DeleteBudget' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf budgetName++instance Data.ToHeaders DeleteBudget where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSBudgetServiceGateway.DeleteBudget" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteBudget where+  toJSON DeleteBudget' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("AccountId" Data..= accountId),+            Prelude.Just ("BudgetName" Data..= budgetName)+          ]+      )++instance Data.ToPath DeleteBudget where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteBudget where+  toQuery = Prelude.const Prelude.mempty++-- | Response of DeleteBudget+--+-- /See:/ 'newDeleteBudgetResponse' smart constructor.+data DeleteBudgetResponse = DeleteBudgetResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBudgetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteBudgetResponse_httpStatus' - The response's http status code.+newDeleteBudgetResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteBudgetResponse+newDeleteBudgetResponse pHttpStatus_ =+  DeleteBudgetResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteBudgetResponse_httpStatus :: Lens.Lens' DeleteBudgetResponse Prelude.Int+deleteBudgetResponse_httpStatus = Lens.lens (\DeleteBudgetResponse' {httpStatus} -> httpStatus) (\s@DeleteBudgetResponse' {} a -> s {httpStatus = a} :: DeleteBudgetResponse)++instance Prelude.NFData DeleteBudgetResponse where+  rnf DeleteBudgetResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Budgets/DeleteBudgetAction.hs view
@@ -0,0 +1,235 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.DeleteBudgetAction+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a budget action.+module Amazonka.Budgets.DeleteBudgetAction+  ( -- * Creating a Request+    DeleteBudgetAction (..),+    newDeleteBudgetAction,++    -- * Request Lenses+    deleteBudgetAction_accountId,+    deleteBudgetAction_budgetName,+    deleteBudgetAction_actionId,++    -- * Destructuring the Response+    DeleteBudgetActionResponse (..),+    newDeleteBudgetActionResponse,++    -- * Response Lenses+    deleteBudgetActionResponse_httpStatus,+    deleteBudgetActionResponse_accountId,+    deleteBudgetActionResponse_budgetName,+    deleteBudgetActionResponse_action,+  )+where++import Amazonka.Budgets.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteBudgetAction' smart constructor.+data DeleteBudgetAction = DeleteBudgetAction'+  { accountId :: Prelude.Text,+    budgetName :: Prelude.Text,+    -- | A system-generated universally unique identifier (UUID) for the action.+    actionId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBudgetAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountId', 'deleteBudgetAction_accountId' - Undocumented member.+--+-- 'budgetName', 'deleteBudgetAction_budgetName' - Undocumented member.+--+-- 'actionId', 'deleteBudgetAction_actionId' - A system-generated universally unique identifier (UUID) for the action.+newDeleteBudgetAction ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'budgetName'+  Prelude.Text ->+  -- | 'actionId'+  Prelude.Text ->+  DeleteBudgetAction+newDeleteBudgetAction+  pAccountId_+  pBudgetName_+  pActionId_ =+    DeleteBudgetAction'+      { accountId = pAccountId_,+        budgetName = pBudgetName_,+        actionId = pActionId_+      }++-- | Undocumented member.+deleteBudgetAction_accountId :: Lens.Lens' DeleteBudgetAction Prelude.Text+deleteBudgetAction_accountId = Lens.lens (\DeleteBudgetAction' {accountId} -> accountId) (\s@DeleteBudgetAction' {} a -> s {accountId = a} :: DeleteBudgetAction)++-- | Undocumented member.+deleteBudgetAction_budgetName :: Lens.Lens' DeleteBudgetAction Prelude.Text+deleteBudgetAction_budgetName = Lens.lens (\DeleteBudgetAction' {budgetName} -> budgetName) (\s@DeleteBudgetAction' {} a -> s {budgetName = a} :: DeleteBudgetAction)++-- | A system-generated universally unique identifier (UUID) for the action.+deleteBudgetAction_actionId :: Lens.Lens' DeleteBudgetAction Prelude.Text+deleteBudgetAction_actionId = Lens.lens (\DeleteBudgetAction' {actionId} -> actionId) (\s@DeleteBudgetAction' {} a -> s {actionId = a} :: DeleteBudgetAction)++instance Core.AWSRequest DeleteBudgetAction where+  type+    AWSResponse DeleteBudgetAction =+      DeleteBudgetActionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteBudgetActionResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "AccountId")+            Prelude.<*> (x Data..:> "BudgetName")+            Prelude.<*> (x Data..:> "Action")+      )++instance Prelude.Hashable DeleteBudgetAction where+  hashWithSalt _salt DeleteBudgetAction' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` budgetName+      `Prelude.hashWithSalt` actionId++instance Prelude.NFData DeleteBudgetAction where+  rnf DeleteBudgetAction' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf budgetName+      `Prelude.seq` Prelude.rnf actionId++instance Data.ToHeaders DeleteBudgetAction where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSBudgetServiceGateway.DeleteBudgetAction" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteBudgetAction where+  toJSON DeleteBudgetAction' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("AccountId" Data..= accountId),+            Prelude.Just ("BudgetName" Data..= budgetName),+            Prelude.Just ("ActionId" Data..= actionId)+          ]+      )++instance Data.ToPath DeleteBudgetAction where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteBudgetAction where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteBudgetActionResponse' smart constructor.+data DeleteBudgetActionResponse = DeleteBudgetActionResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    accountId :: Prelude.Text,+    budgetName :: Prelude.Text,+    action :: Action+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBudgetActionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteBudgetActionResponse_httpStatus' - The response's http status code.+--+-- 'accountId', 'deleteBudgetActionResponse_accountId' - Undocumented member.+--+-- 'budgetName', 'deleteBudgetActionResponse_budgetName' - Undocumented member.+--+-- 'action', 'deleteBudgetActionResponse_action' - Undocumented member.+newDeleteBudgetActionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'accountId'+  Prelude.Text ->+  -- | 'budgetName'+  Prelude.Text ->+  -- | 'action'+  Action ->+  DeleteBudgetActionResponse+newDeleteBudgetActionResponse+  pHttpStatus_+  pAccountId_+  pBudgetName_+  pAction_ =+    DeleteBudgetActionResponse'+      { httpStatus =+          pHttpStatus_,+        accountId = pAccountId_,+        budgetName = pBudgetName_,+        action = pAction_+      }++-- | The response's http status code.+deleteBudgetActionResponse_httpStatus :: Lens.Lens' DeleteBudgetActionResponse Prelude.Int+deleteBudgetActionResponse_httpStatus = Lens.lens (\DeleteBudgetActionResponse' {httpStatus} -> httpStatus) (\s@DeleteBudgetActionResponse' {} a -> s {httpStatus = a} :: DeleteBudgetActionResponse)++-- | Undocumented member.+deleteBudgetActionResponse_accountId :: Lens.Lens' DeleteBudgetActionResponse Prelude.Text+deleteBudgetActionResponse_accountId = Lens.lens (\DeleteBudgetActionResponse' {accountId} -> accountId) (\s@DeleteBudgetActionResponse' {} a -> s {accountId = a} :: DeleteBudgetActionResponse)++-- | Undocumented member.+deleteBudgetActionResponse_budgetName :: Lens.Lens' DeleteBudgetActionResponse Prelude.Text+deleteBudgetActionResponse_budgetName = Lens.lens (\DeleteBudgetActionResponse' {budgetName} -> budgetName) (\s@DeleteBudgetActionResponse' {} a -> s {budgetName = a} :: DeleteBudgetActionResponse)++-- | Undocumented member.+deleteBudgetActionResponse_action :: Lens.Lens' DeleteBudgetActionResponse Action+deleteBudgetActionResponse_action = Lens.lens (\DeleteBudgetActionResponse' {action} -> action) (\s@DeleteBudgetActionResponse' {} a -> s {action = a} :: DeleteBudgetActionResponse)++instance Prelude.NFData DeleteBudgetActionResponse where+  rnf DeleteBudgetActionResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf budgetName+      `Prelude.seq` Prelude.rnf action
+ gen/Amazonka/Budgets/DeleteNotification.hs view
@@ -0,0 +1,204 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.DeleteNotification+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a notification.+--+-- Deleting a notification also deletes the subscribers that are associated+-- with the notification.+module Amazonka.Budgets.DeleteNotification+  ( -- * Creating a Request+    DeleteNotification (..),+    newDeleteNotification,++    -- * Request Lenses+    deleteNotification_accountId,+    deleteNotification_budgetName,+    deleteNotification_notification,++    -- * Destructuring the Response+    DeleteNotificationResponse (..),+    newDeleteNotificationResponse,++    -- * Response Lenses+    deleteNotificationResponse_httpStatus,+  )+where++import Amazonka.Budgets.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Request of DeleteNotification+--+-- /See:/ 'newDeleteNotification' smart constructor.+data DeleteNotification = DeleteNotification'+  { -- | The @accountId@ that is associated with the budget whose notification+    -- you want to delete.+    accountId :: Prelude.Text,+    -- | The name of the budget whose notification you want to delete.+    budgetName :: Prelude.Text,+    -- | The notification that you want to delete.+    notification :: Notification+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteNotification' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountId', 'deleteNotification_accountId' - The @accountId@ that is associated with the budget whose notification+-- you want to delete.+--+-- 'budgetName', 'deleteNotification_budgetName' - The name of the budget whose notification you want to delete.+--+-- 'notification', 'deleteNotification_notification' - The notification that you want to delete.+newDeleteNotification ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'budgetName'+  Prelude.Text ->+  -- | 'notification'+  Notification ->+  DeleteNotification+newDeleteNotification+  pAccountId_+  pBudgetName_+  pNotification_ =+    DeleteNotification'+      { accountId = pAccountId_,+        budgetName = pBudgetName_,+        notification = pNotification_+      }++-- | The @accountId@ that is associated with the budget whose notification+-- you want to delete.+deleteNotification_accountId :: Lens.Lens' DeleteNotification Prelude.Text+deleteNotification_accountId = Lens.lens (\DeleteNotification' {accountId} -> accountId) (\s@DeleteNotification' {} a -> s {accountId = a} :: DeleteNotification)++-- | The name of the budget whose notification you want to delete.+deleteNotification_budgetName :: Lens.Lens' DeleteNotification Prelude.Text+deleteNotification_budgetName = Lens.lens (\DeleteNotification' {budgetName} -> budgetName) (\s@DeleteNotification' {} a -> s {budgetName = a} :: DeleteNotification)++-- | The notification that you want to delete.+deleteNotification_notification :: Lens.Lens' DeleteNotification Notification+deleteNotification_notification = Lens.lens (\DeleteNotification' {notification} -> notification) (\s@DeleteNotification' {} a -> s {notification = a} :: DeleteNotification)++instance Core.AWSRequest DeleteNotification where+  type+    AWSResponse DeleteNotification =+      DeleteNotificationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteNotificationResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteNotification where+  hashWithSalt _salt DeleteNotification' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` budgetName+      `Prelude.hashWithSalt` notification++instance Prelude.NFData DeleteNotification where+  rnf DeleteNotification' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf budgetName+      `Prelude.seq` Prelude.rnf notification++instance Data.ToHeaders DeleteNotification where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSBudgetServiceGateway.DeleteNotification" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteNotification where+  toJSON DeleteNotification' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("AccountId" Data..= accountId),+            Prelude.Just ("BudgetName" Data..= budgetName),+            Prelude.Just ("Notification" Data..= notification)+          ]+      )++instance Data.ToPath DeleteNotification where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteNotification where+  toQuery = Prelude.const Prelude.mempty++-- | Response of DeleteNotification+--+-- /See:/ 'newDeleteNotificationResponse' smart constructor.+data DeleteNotificationResponse = DeleteNotificationResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteNotificationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteNotificationResponse_httpStatus' - The response's http status code.+newDeleteNotificationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteNotificationResponse+newDeleteNotificationResponse pHttpStatus_ =+  DeleteNotificationResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+deleteNotificationResponse_httpStatus :: Lens.Lens' DeleteNotificationResponse Prelude.Int+deleteNotificationResponse_httpStatus = Lens.lens (\DeleteNotificationResponse' {httpStatus} -> httpStatus) (\s@DeleteNotificationResponse' {} a -> s {httpStatus = a} :: DeleteNotificationResponse)++instance Prelude.NFData DeleteNotificationResponse where+  rnf DeleteNotificationResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Budgets/DeleteSubscriber.hs view
@@ -0,0 +1,220 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.DeleteSubscriber+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a subscriber.+--+-- Deleting the last subscriber to a notification also deletes the+-- notification.+module Amazonka.Budgets.DeleteSubscriber+  ( -- * Creating a Request+    DeleteSubscriber (..),+    newDeleteSubscriber,++    -- * Request Lenses+    deleteSubscriber_accountId,+    deleteSubscriber_budgetName,+    deleteSubscriber_notification,+    deleteSubscriber_subscriber,++    -- * Destructuring the Response+    DeleteSubscriberResponse (..),+    newDeleteSubscriberResponse,++    -- * Response Lenses+    deleteSubscriberResponse_httpStatus,+  )+where++import Amazonka.Budgets.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Request of DeleteSubscriber+--+-- /See:/ 'newDeleteSubscriber' smart constructor.+data DeleteSubscriber = DeleteSubscriber'+  { -- | The @accountId@ that is associated with the budget whose subscriber you+    -- want to delete.+    accountId :: Prelude.Text,+    -- | The name of the budget whose subscriber you want to delete.+    budgetName :: Prelude.Text,+    -- | The notification whose subscriber you want to delete.+    notification :: Notification,+    -- | The subscriber that you want to delete.+    subscriber :: Subscriber+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSubscriber' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountId', 'deleteSubscriber_accountId' - The @accountId@ that is associated with the budget whose subscriber you+-- want to delete.+--+-- 'budgetName', 'deleteSubscriber_budgetName' - The name of the budget whose subscriber you want to delete.+--+-- 'notification', 'deleteSubscriber_notification' - The notification whose subscriber you want to delete.+--+-- 'subscriber', 'deleteSubscriber_subscriber' - The subscriber that you want to delete.+newDeleteSubscriber ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'budgetName'+  Prelude.Text ->+  -- | 'notification'+  Notification ->+  -- | 'subscriber'+  Subscriber ->+  DeleteSubscriber+newDeleteSubscriber+  pAccountId_+  pBudgetName_+  pNotification_+  pSubscriber_ =+    DeleteSubscriber'+      { accountId = pAccountId_,+        budgetName = pBudgetName_,+        notification = pNotification_,+        subscriber = pSubscriber_+      }++-- | The @accountId@ that is associated with the budget whose subscriber you+-- want to delete.+deleteSubscriber_accountId :: Lens.Lens' DeleteSubscriber Prelude.Text+deleteSubscriber_accountId = Lens.lens (\DeleteSubscriber' {accountId} -> accountId) (\s@DeleteSubscriber' {} a -> s {accountId = a} :: DeleteSubscriber)++-- | The name of the budget whose subscriber you want to delete.+deleteSubscriber_budgetName :: Lens.Lens' DeleteSubscriber Prelude.Text+deleteSubscriber_budgetName = Lens.lens (\DeleteSubscriber' {budgetName} -> budgetName) (\s@DeleteSubscriber' {} a -> s {budgetName = a} :: DeleteSubscriber)++-- | The notification whose subscriber you want to delete.+deleteSubscriber_notification :: Lens.Lens' DeleteSubscriber Notification+deleteSubscriber_notification = Lens.lens (\DeleteSubscriber' {notification} -> notification) (\s@DeleteSubscriber' {} a -> s {notification = a} :: DeleteSubscriber)++-- | The subscriber that you want to delete.+deleteSubscriber_subscriber :: Lens.Lens' DeleteSubscriber Subscriber+deleteSubscriber_subscriber = Lens.lens (\DeleteSubscriber' {subscriber} -> subscriber) (\s@DeleteSubscriber' {} a -> s {subscriber = a} :: DeleteSubscriber)++instance Core.AWSRequest DeleteSubscriber where+  type+    AWSResponse DeleteSubscriber =+      DeleteSubscriberResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteSubscriberResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteSubscriber where+  hashWithSalt _salt DeleteSubscriber' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` budgetName+      `Prelude.hashWithSalt` notification+      `Prelude.hashWithSalt` subscriber++instance Prelude.NFData DeleteSubscriber where+  rnf DeleteSubscriber' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf budgetName+      `Prelude.seq` Prelude.rnf notification+      `Prelude.seq` Prelude.rnf subscriber++instance Data.ToHeaders DeleteSubscriber where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSBudgetServiceGateway.DeleteSubscriber" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteSubscriber where+  toJSON DeleteSubscriber' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("AccountId" Data..= accountId),+            Prelude.Just ("BudgetName" Data..= budgetName),+            Prelude.Just ("Notification" Data..= notification),+            Prelude.Just ("Subscriber" Data..= subscriber)+          ]+      )++instance Data.ToPath DeleteSubscriber where+  toPath = Prelude.const "/"++instance Data.ToQuery DeleteSubscriber where+  toQuery = Prelude.const Prelude.mempty++-- | Response of DeleteSubscriber+--+-- /See:/ 'newDeleteSubscriberResponse' smart constructor.+data DeleteSubscriberResponse = DeleteSubscriberResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSubscriberResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteSubscriberResponse_httpStatus' - The response's http status code.+newDeleteSubscriberResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteSubscriberResponse+newDeleteSubscriberResponse pHttpStatus_ =+  DeleteSubscriberResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+deleteSubscriberResponse_httpStatus :: Lens.Lens' DeleteSubscriberResponse Prelude.Int+deleteSubscriberResponse_httpStatus = Lens.lens (\DeleteSubscriberResponse' {httpStatus} -> httpStatus) (\s@DeleteSubscriberResponse' {} a -> s {httpStatus = a} :: DeleteSubscriberResponse)++instance Prelude.NFData DeleteSubscriberResponse where+  rnf DeleteSubscriberResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Budgets/DescribeBudget.hs view
@@ -0,0 +1,199 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.DescribeBudget+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes a budget.+--+-- The Request Syntax section shows the @BudgetLimit@ syntax. For+-- @PlannedBudgetLimits@, see the+-- <https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_DescribeBudget.html#API_DescribeBudget_Examples Examples>+-- section.+module Amazonka.Budgets.DescribeBudget+  ( -- * Creating a Request+    DescribeBudget (..),+    newDescribeBudget,++    -- * Request Lenses+    describeBudget_accountId,+    describeBudget_budgetName,++    -- * Destructuring the Response+    DescribeBudgetResponse (..),+    newDescribeBudgetResponse,++    -- * Response Lenses+    describeBudgetResponse_budget,+    describeBudgetResponse_httpStatus,+  )+where++import Amazonka.Budgets.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Request of DescribeBudget+--+-- /See:/ 'newDescribeBudget' smart constructor.+data DescribeBudget = DescribeBudget'+  { -- | The @accountId@ that is associated with the budget that you want a+    -- description of.+    accountId :: Prelude.Text,+    -- | The name of the budget that you want a description of.+    budgetName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeBudget' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountId', 'describeBudget_accountId' - The @accountId@ that is associated with the budget that you want a+-- description of.+--+-- 'budgetName', 'describeBudget_budgetName' - The name of the budget that you want a description of.+newDescribeBudget ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'budgetName'+  Prelude.Text ->+  DescribeBudget+newDescribeBudget pAccountId_ pBudgetName_ =+  DescribeBudget'+    { accountId = pAccountId_,+      budgetName = pBudgetName_+    }++-- | The @accountId@ that is associated with the budget that you want a+-- description of.+describeBudget_accountId :: Lens.Lens' DescribeBudget Prelude.Text+describeBudget_accountId = Lens.lens (\DescribeBudget' {accountId} -> accountId) (\s@DescribeBudget' {} a -> s {accountId = a} :: DescribeBudget)++-- | The name of the budget that you want a description of.+describeBudget_budgetName :: Lens.Lens' DescribeBudget Prelude.Text+describeBudget_budgetName = Lens.lens (\DescribeBudget' {budgetName} -> budgetName) (\s@DescribeBudget' {} a -> s {budgetName = a} :: DescribeBudget)++instance Core.AWSRequest DescribeBudget where+  type+    AWSResponse DescribeBudget =+      DescribeBudgetResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeBudgetResponse'+            Prelude.<$> (x Data..?> "Budget")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeBudget where+  hashWithSalt _salt DescribeBudget' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` budgetName++instance Prelude.NFData DescribeBudget where+  rnf DescribeBudget' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf budgetName++instance Data.ToHeaders DescribeBudget where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSBudgetServiceGateway.DescribeBudget" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeBudget where+  toJSON DescribeBudget' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("AccountId" Data..= accountId),+            Prelude.Just ("BudgetName" Data..= budgetName)+          ]+      )++instance Data.ToPath DescribeBudget where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeBudget where+  toQuery = Prelude.const Prelude.mempty++-- | Response of DescribeBudget+--+-- /See:/ 'newDescribeBudgetResponse' smart constructor.+data DescribeBudgetResponse = DescribeBudgetResponse'+  { -- | The description of the budget.+    budget :: Prelude.Maybe Budget,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeBudgetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'budget', 'describeBudgetResponse_budget' - The description of the budget.+--+-- 'httpStatus', 'describeBudgetResponse_httpStatus' - The response's http status code.+newDescribeBudgetResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeBudgetResponse+newDescribeBudgetResponse pHttpStatus_ =+  DescribeBudgetResponse'+    { budget = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The description of the budget.+describeBudgetResponse_budget :: Lens.Lens' DescribeBudgetResponse (Prelude.Maybe Budget)+describeBudgetResponse_budget = Lens.lens (\DescribeBudgetResponse' {budget} -> budget) (\s@DescribeBudgetResponse' {} a -> s {budget = a} :: DescribeBudgetResponse)++-- | The response's http status code.+describeBudgetResponse_httpStatus :: Lens.Lens' DescribeBudgetResponse Prelude.Int+describeBudgetResponse_httpStatus = Lens.lens (\DescribeBudgetResponse' {httpStatus} -> httpStatus) (\s@DescribeBudgetResponse' {} a -> s {httpStatus = a} :: DescribeBudgetResponse)++instance Prelude.NFData DescribeBudgetResponse where+  rnf DescribeBudgetResponse' {..} =+    Prelude.rnf budget+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Budgets/DescribeBudgetAction.hs view
@@ -0,0 +1,236 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.DescribeBudgetAction+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes a budget action detail.+module Amazonka.Budgets.DescribeBudgetAction+  ( -- * Creating a Request+    DescribeBudgetAction (..),+    newDescribeBudgetAction,++    -- * Request Lenses+    describeBudgetAction_accountId,+    describeBudgetAction_budgetName,+    describeBudgetAction_actionId,++    -- * Destructuring the Response+    DescribeBudgetActionResponse (..),+    newDescribeBudgetActionResponse,++    -- * Response Lenses+    describeBudgetActionResponse_httpStatus,+    describeBudgetActionResponse_accountId,+    describeBudgetActionResponse_budgetName,+    describeBudgetActionResponse_action,+  )+where++import Amazonka.Budgets.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeBudgetAction' smart constructor.+data DescribeBudgetAction = DescribeBudgetAction'+  { accountId :: Prelude.Text,+    budgetName :: Prelude.Text,+    -- | A system-generated universally unique identifier (UUID) for the action.+    actionId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeBudgetAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountId', 'describeBudgetAction_accountId' - Undocumented member.+--+-- 'budgetName', 'describeBudgetAction_budgetName' - Undocumented member.+--+-- 'actionId', 'describeBudgetAction_actionId' - A system-generated universally unique identifier (UUID) for the action.+newDescribeBudgetAction ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'budgetName'+  Prelude.Text ->+  -- | 'actionId'+  Prelude.Text ->+  DescribeBudgetAction+newDescribeBudgetAction+  pAccountId_+  pBudgetName_+  pActionId_ =+    DescribeBudgetAction'+      { accountId = pAccountId_,+        budgetName = pBudgetName_,+        actionId = pActionId_+      }++-- | Undocumented member.+describeBudgetAction_accountId :: Lens.Lens' DescribeBudgetAction Prelude.Text+describeBudgetAction_accountId = Lens.lens (\DescribeBudgetAction' {accountId} -> accountId) (\s@DescribeBudgetAction' {} a -> s {accountId = a} :: DescribeBudgetAction)++-- | Undocumented member.+describeBudgetAction_budgetName :: Lens.Lens' DescribeBudgetAction Prelude.Text+describeBudgetAction_budgetName = Lens.lens (\DescribeBudgetAction' {budgetName} -> budgetName) (\s@DescribeBudgetAction' {} a -> s {budgetName = a} :: DescribeBudgetAction)++-- | A system-generated universally unique identifier (UUID) for the action.+describeBudgetAction_actionId :: Lens.Lens' DescribeBudgetAction Prelude.Text+describeBudgetAction_actionId = Lens.lens (\DescribeBudgetAction' {actionId} -> actionId) (\s@DescribeBudgetAction' {} a -> s {actionId = a} :: DescribeBudgetAction)++instance Core.AWSRequest DescribeBudgetAction where+  type+    AWSResponse DescribeBudgetAction =+      DescribeBudgetActionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeBudgetActionResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "AccountId")+            Prelude.<*> (x Data..:> "BudgetName")+            Prelude.<*> (x Data..:> "Action")+      )++instance Prelude.Hashable DescribeBudgetAction where+  hashWithSalt _salt DescribeBudgetAction' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` budgetName+      `Prelude.hashWithSalt` actionId++instance Prelude.NFData DescribeBudgetAction where+  rnf DescribeBudgetAction' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf budgetName+      `Prelude.seq` Prelude.rnf actionId++instance Data.ToHeaders DescribeBudgetAction where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSBudgetServiceGateway.DescribeBudgetAction" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeBudgetAction where+  toJSON DescribeBudgetAction' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("AccountId" Data..= accountId),+            Prelude.Just ("BudgetName" Data..= budgetName),+            Prelude.Just ("ActionId" Data..= actionId)+          ]+      )++instance Data.ToPath DescribeBudgetAction where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeBudgetAction where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeBudgetActionResponse' smart constructor.+data DescribeBudgetActionResponse = DescribeBudgetActionResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    accountId :: Prelude.Text,+    budgetName :: Prelude.Text,+    -- | A budget action resource.+    action :: Action+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeBudgetActionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'describeBudgetActionResponse_httpStatus' - The response's http status code.+--+-- 'accountId', 'describeBudgetActionResponse_accountId' - Undocumented member.+--+-- 'budgetName', 'describeBudgetActionResponse_budgetName' - Undocumented member.+--+-- 'action', 'describeBudgetActionResponse_action' - A budget action resource.+newDescribeBudgetActionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'accountId'+  Prelude.Text ->+  -- | 'budgetName'+  Prelude.Text ->+  -- | 'action'+  Action ->+  DescribeBudgetActionResponse+newDescribeBudgetActionResponse+  pHttpStatus_+  pAccountId_+  pBudgetName_+  pAction_ =+    DescribeBudgetActionResponse'+      { httpStatus =+          pHttpStatus_,+        accountId = pAccountId_,+        budgetName = pBudgetName_,+        action = pAction_+      }++-- | The response's http status code.+describeBudgetActionResponse_httpStatus :: Lens.Lens' DescribeBudgetActionResponse Prelude.Int+describeBudgetActionResponse_httpStatus = Lens.lens (\DescribeBudgetActionResponse' {httpStatus} -> httpStatus) (\s@DescribeBudgetActionResponse' {} a -> s {httpStatus = a} :: DescribeBudgetActionResponse)++-- | Undocumented member.+describeBudgetActionResponse_accountId :: Lens.Lens' DescribeBudgetActionResponse Prelude.Text+describeBudgetActionResponse_accountId = Lens.lens (\DescribeBudgetActionResponse' {accountId} -> accountId) (\s@DescribeBudgetActionResponse' {} a -> s {accountId = a} :: DescribeBudgetActionResponse)++-- | Undocumented member.+describeBudgetActionResponse_budgetName :: Lens.Lens' DescribeBudgetActionResponse Prelude.Text+describeBudgetActionResponse_budgetName = Lens.lens (\DescribeBudgetActionResponse' {budgetName} -> budgetName) (\s@DescribeBudgetActionResponse' {} a -> s {budgetName = a} :: DescribeBudgetActionResponse)++-- | A budget action resource.+describeBudgetActionResponse_action :: Lens.Lens' DescribeBudgetActionResponse Action+describeBudgetActionResponse_action = Lens.lens (\DescribeBudgetActionResponse' {action} -> action) (\s@DescribeBudgetActionResponse' {} a -> s {action = a} :: DescribeBudgetActionResponse)++instance Prelude.NFData DescribeBudgetActionResponse where+  rnf DescribeBudgetActionResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf budgetName+      `Prelude.seq` Prelude.rnf action
+ gen/Amazonka/Budgets/DescribeBudgetActionHistories.hs view
@@ -0,0 +1,287 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.DescribeBudgetActionHistories+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes a budget action history detail.+--+-- This operation returns paginated results.+module Amazonka.Budgets.DescribeBudgetActionHistories+  ( -- * Creating a Request+    DescribeBudgetActionHistories (..),+    newDescribeBudgetActionHistories,++    -- * Request Lenses+    describeBudgetActionHistories_maxResults,+    describeBudgetActionHistories_nextToken,+    describeBudgetActionHistories_timePeriod,+    describeBudgetActionHistories_accountId,+    describeBudgetActionHistories_budgetName,+    describeBudgetActionHistories_actionId,++    -- * Destructuring the Response+    DescribeBudgetActionHistoriesResponse (..),+    newDescribeBudgetActionHistoriesResponse,++    -- * Response Lenses+    describeBudgetActionHistoriesResponse_nextToken,+    describeBudgetActionHistoriesResponse_httpStatus,+    describeBudgetActionHistoriesResponse_actionHistories,+  )+where++import Amazonka.Budgets.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeBudgetActionHistories' smart constructor.+data DescribeBudgetActionHistories = DescribeBudgetActionHistories'+  { maxResults :: Prelude.Maybe Prelude.Natural,+    nextToken :: Prelude.Maybe Prelude.Text,+    timePeriod :: Prelude.Maybe TimePeriod,+    accountId :: Prelude.Text,+    budgetName :: Prelude.Text,+    -- | A system-generated universally unique identifier (UUID) for the action.+    actionId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeBudgetActionHistories' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'describeBudgetActionHistories_maxResults' - Undocumented member.+--+-- 'nextToken', 'describeBudgetActionHistories_nextToken' - Undocumented member.+--+-- 'timePeriod', 'describeBudgetActionHistories_timePeriod' - Undocumented member.+--+-- 'accountId', 'describeBudgetActionHistories_accountId' - Undocumented member.+--+-- 'budgetName', 'describeBudgetActionHistories_budgetName' - Undocumented member.+--+-- 'actionId', 'describeBudgetActionHistories_actionId' - A system-generated universally unique identifier (UUID) for the action.+newDescribeBudgetActionHistories ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'budgetName'+  Prelude.Text ->+  -- | 'actionId'+  Prelude.Text ->+  DescribeBudgetActionHistories+newDescribeBudgetActionHistories+  pAccountId_+  pBudgetName_+  pActionId_ =+    DescribeBudgetActionHistories'+      { maxResults =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        timePeriod = Prelude.Nothing,+        accountId = pAccountId_,+        budgetName = pBudgetName_,+        actionId = pActionId_+      }++-- | Undocumented member.+describeBudgetActionHistories_maxResults :: Lens.Lens' DescribeBudgetActionHistories (Prelude.Maybe Prelude.Natural)+describeBudgetActionHistories_maxResults = Lens.lens (\DescribeBudgetActionHistories' {maxResults} -> maxResults) (\s@DescribeBudgetActionHistories' {} a -> s {maxResults = a} :: DescribeBudgetActionHistories)++-- | Undocumented member.+describeBudgetActionHistories_nextToken :: Lens.Lens' DescribeBudgetActionHistories (Prelude.Maybe Prelude.Text)+describeBudgetActionHistories_nextToken = Lens.lens (\DescribeBudgetActionHistories' {nextToken} -> nextToken) (\s@DescribeBudgetActionHistories' {} a -> s {nextToken = a} :: DescribeBudgetActionHistories)++-- | Undocumented member.+describeBudgetActionHistories_timePeriod :: Lens.Lens' DescribeBudgetActionHistories (Prelude.Maybe TimePeriod)+describeBudgetActionHistories_timePeriod = Lens.lens (\DescribeBudgetActionHistories' {timePeriod} -> timePeriod) (\s@DescribeBudgetActionHistories' {} a -> s {timePeriod = a} :: DescribeBudgetActionHistories)++-- | Undocumented member.+describeBudgetActionHistories_accountId :: Lens.Lens' DescribeBudgetActionHistories Prelude.Text+describeBudgetActionHistories_accountId = Lens.lens (\DescribeBudgetActionHistories' {accountId} -> accountId) (\s@DescribeBudgetActionHistories' {} a -> s {accountId = a} :: DescribeBudgetActionHistories)++-- | Undocumented member.+describeBudgetActionHistories_budgetName :: Lens.Lens' DescribeBudgetActionHistories Prelude.Text+describeBudgetActionHistories_budgetName = Lens.lens (\DescribeBudgetActionHistories' {budgetName} -> budgetName) (\s@DescribeBudgetActionHistories' {} a -> s {budgetName = a} :: DescribeBudgetActionHistories)++-- | A system-generated universally unique identifier (UUID) for the action.+describeBudgetActionHistories_actionId :: Lens.Lens' DescribeBudgetActionHistories Prelude.Text+describeBudgetActionHistories_actionId = Lens.lens (\DescribeBudgetActionHistories' {actionId} -> actionId) (\s@DescribeBudgetActionHistories' {} a -> s {actionId = a} :: DescribeBudgetActionHistories)++instance Core.AWSPager DescribeBudgetActionHistories where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? describeBudgetActionHistoriesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^. describeBudgetActionHistoriesResponse_actionHistories+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& describeBudgetActionHistories_nextToken+          Lens..~ rs+          Lens.^? describeBudgetActionHistoriesResponse_nextToken+          Prelude.. Lens._Just++instance+  Core.AWSRequest+    DescribeBudgetActionHistories+  where+  type+    AWSResponse DescribeBudgetActionHistories =+      DescribeBudgetActionHistoriesResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeBudgetActionHistoriesResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "ActionHistories"+                            Core..!@ Prelude.mempty+                        )+      )++instance+  Prelude.Hashable+    DescribeBudgetActionHistories+  where+  hashWithSalt _salt DescribeBudgetActionHistories' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` timePeriod+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` budgetName+      `Prelude.hashWithSalt` actionId++instance Prelude.NFData DescribeBudgetActionHistories where+  rnf DescribeBudgetActionHistories' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf timePeriod+      `Prelude.seq` Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf budgetName+      `Prelude.seq` Prelude.rnf actionId++instance Data.ToHeaders DescribeBudgetActionHistories where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSBudgetServiceGateway.DescribeBudgetActionHistories" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeBudgetActionHistories where+  toJSON DescribeBudgetActionHistories' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            ("TimePeriod" Data..=) Prelude.<$> timePeriod,+            Prelude.Just ("AccountId" Data..= accountId),+            Prelude.Just ("BudgetName" Data..= budgetName),+            Prelude.Just ("ActionId" Data..= actionId)+          ]+      )++instance Data.ToPath DescribeBudgetActionHistories where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeBudgetActionHistories where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeBudgetActionHistoriesResponse' smart constructor.+data DescribeBudgetActionHistoriesResponse = DescribeBudgetActionHistoriesResponse'+  { nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The historical record of the budget action resource.+    actionHistories :: [ActionHistory]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeBudgetActionHistoriesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'describeBudgetActionHistoriesResponse_nextToken' - Undocumented member.+--+-- 'httpStatus', 'describeBudgetActionHistoriesResponse_httpStatus' - The response's http status code.+--+-- 'actionHistories', 'describeBudgetActionHistoriesResponse_actionHistories' - The historical record of the budget action resource.+newDescribeBudgetActionHistoriesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeBudgetActionHistoriesResponse+newDescribeBudgetActionHistoriesResponse pHttpStatus_ =+  DescribeBudgetActionHistoriesResponse'+    { nextToken =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      actionHistories = Prelude.mempty+    }++-- | Undocumented member.+describeBudgetActionHistoriesResponse_nextToken :: Lens.Lens' DescribeBudgetActionHistoriesResponse (Prelude.Maybe Prelude.Text)+describeBudgetActionHistoriesResponse_nextToken = Lens.lens (\DescribeBudgetActionHistoriesResponse' {nextToken} -> nextToken) (\s@DescribeBudgetActionHistoriesResponse' {} a -> s {nextToken = a} :: DescribeBudgetActionHistoriesResponse)++-- | The response's http status code.+describeBudgetActionHistoriesResponse_httpStatus :: Lens.Lens' DescribeBudgetActionHistoriesResponse Prelude.Int+describeBudgetActionHistoriesResponse_httpStatus = Lens.lens (\DescribeBudgetActionHistoriesResponse' {httpStatus} -> httpStatus) (\s@DescribeBudgetActionHistoriesResponse' {} a -> s {httpStatus = a} :: DescribeBudgetActionHistoriesResponse)++-- | The historical record of the budget action resource.+describeBudgetActionHistoriesResponse_actionHistories :: Lens.Lens' DescribeBudgetActionHistoriesResponse [ActionHistory]+describeBudgetActionHistoriesResponse_actionHistories = Lens.lens (\DescribeBudgetActionHistoriesResponse' {actionHistories} -> actionHistories) (\s@DescribeBudgetActionHistoriesResponse' {} a -> s {actionHistories = a} :: DescribeBudgetActionHistoriesResponse) Prelude.. Lens.coerced++instance+  Prelude.NFData+    DescribeBudgetActionHistoriesResponse+  where+  rnf DescribeBudgetActionHistoriesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf actionHistories
+ gen/Amazonka/Budgets/DescribeBudgetActionsForAccount.hs view
@@ -0,0 +1,252 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.DescribeBudgetActionsForAccount+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes all of the budget actions for an account.+--+-- This operation returns paginated results.+module Amazonka.Budgets.DescribeBudgetActionsForAccount+  ( -- * Creating a Request+    DescribeBudgetActionsForAccount (..),+    newDescribeBudgetActionsForAccount,++    -- * Request Lenses+    describeBudgetActionsForAccount_maxResults,+    describeBudgetActionsForAccount_nextToken,+    describeBudgetActionsForAccount_accountId,++    -- * Destructuring the Response+    DescribeBudgetActionsForAccountResponse (..),+    newDescribeBudgetActionsForAccountResponse,++    -- * Response Lenses+    describeBudgetActionsForAccountResponse_nextToken,+    describeBudgetActionsForAccountResponse_httpStatus,+    describeBudgetActionsForAccountResponse_actions,+  )+where++import Amazonka.Budgets.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeBudgetActionsForAccount' smart constructor.+data DescribeBudgetActionsForAccount = DescribeBudgetActionsForAccount'+  { maxResults :: Prelude.Maybe Prelude.Natural,+    nextToken :: Prelude.Maybe Prelude.Text,+    accountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeBudgetActionsForAccount' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'describeBudgetActionsForAccount_maxResults' - Undocumented member.+--+-- 'nextToken', 'describeBudgetActionsForAccount_nextToken' - Undocumented member.+--+-- 'accountId', 'describeBudgetActionsForAccount_accountId' - Undocumented member.+newDescribeBudgetActionsForAccount ::+  -- | 'accountId'+  Prelude.Text ->+  DescribeBudgetActionsForAccount+newDescribeBudgetActionsForAccount pAccountId_ =+  DescribeBudgetActionsForAccount'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      accountId = pAccountId_+    }++-- | Undocumented member.+describeBudgetActionsForAccount_maxResults :: Lens.Lens' DescribeBudgetActionsForAccount (Prelude.Maybe Prelude.Natural)+describeBudgetActionsForAccount_maxResults = Lens.lens (\DescribeBudgetActionsForAccount' {maxResults} -> maxResults) (\s@DescribeBudgetActionsForAccount' {} a -> s {maxResults = a} :: DescribeBudgetActionsForAccount)++-- | Undocumented member.+describeBudgetActionsForAccount_nextToken :: Lens.Lens' DescribeBudgetActionsForAccount (Prelude.Maybe Prelude.Text)+describeBudgetActionsForAccount_nextToken = Lens.lens (\DescribeBudgetActionsForAccount' {nextToken} -> nextToken) (\s@DescribeBudgetActionsForAccount' {} a -> s {nextToken = a} :: DescribeBudgetActionsForAccount)++-- | Undocumented member.+describeBudgetActionsForAccount_accountId :: Lens.Lens' DescribeBudgetActionsForAccount Prelude.Text+describeBudgetActionsForAccount_accountId = Lens.lens (\DescribeBudgetActionsForAccount' {accountId} -> accountId) (\s@DescribeBudgetActionsForAccount' {} a -> s {accountId = a} :: DescribeBudgetActionsForAccount)++instance+  Core.AWSPager+    DescribeBudgetActionsForAccount+  where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? describeBudgetActionsForAccountResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^. describeBudgetActionsForAccountResponse_actions+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& describeBudgetActionsForAccount_nextToken+          Lens..~ rs+          Lens.^? describeBudgetActionsForAccountResponse_nextToken+          Prelude.. Lens._Just++instance+  Core.AWSRequest+    DescribeBudgetActionsForAccount+  where+  type+    AWSResponse DescribeBudgetActionsForAccount =+      DescribeBudgetActionsForAccountResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeBudgetActionsForAccountResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..?> "Actions" Core..!@ Prelude.mempty)+      )++instance+  Prelude.Hashable+    DescribeBudgetActionsForAccount+  where+  hashWithSalt+    _salt+    DescribeBudgetActionsForAccount' {..} =+      _salt+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken+        `Prelude.hashWithSalt` accountId++instance+  Prelude.NFData+    DescribeBudgetActionsForAccount+  where+  rnf DescribeBudgetActionsForAccount' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf accountId++instance+  Data.ToHeaders+    DescribeBudgetActionsForAccount+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSBudgetServiceGateway.DescribeBudgetActionsForAccount" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeBudgetActionsForAccount where+  toJSON DescribeBudgetActionsForAccount' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just ("AccountId" Data..= accountId)+          ]+      )++instance Data.ToPath DescribeBudgetActionsForAccount where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeBudgetActionsForAccount where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeBudgetActionsForAccountResponse' smart constructor.+data DescribeBudgetActionsForAccountResponse = DescribeBudgetActionsForAccountResponse'+  { nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A list of the budget action resources information.+    actions :: [Action]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeBudgetActionsForAccountResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'describeBudgetActionsForAccountResponse_nextToken' - Undocumented member.+--+-- 'httpStatus', 'describeBudgetActionsForAccountResponse_httpStatus' - The response's http status code.+--+-- 'actions', 'describeBudgetActionsForAccountResponse_actions' - A list of the budget action resources information.+newDescribeBudgetActionsForAccountResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeBudgetActionsForAccountResponse+newDescribeBudgetActionsForAccountResponse+  pHttpStatus_ =+    DescribeBudgetActionsForAccountResponse'+      { nextToken =+          Prelude.Nothing,+        httpStatus = pHttpStatus_,+        actions = Prelude.mempty+      }++-- | Undocumented member.+describeBudgetActionsForAccountResponse_nextToken :: Lens.Lens' DescribeBudgetActionsForAccountResponse (Prelude.Maybe Prelude.Text)+describeBudgetActionsForAccountResponse_nextToken = Lens.lens (\DescribeBudgetActionsForAccountResponse' {nextToken} -> nextToken) (\s@DescribeBudgetActionsForAccountResponse' {} a -> s {nextToken = a} :: DescribeBudgetActionsForAccountResponse)++-- | The response's http status code.+describeBudgetActionsForAccountResponse_httpStatus :: Lens.Lens' DescribeBudgetActionsForAccountResponse Prelude.Int+describeBudgetActionsForAccountResponse_httpStatus = Lens.lens (\DescribeBudgetActionsForAccountResponse' {httpStatus} -> httpStatus) (\s@DescribeBudgetActionsForAccountResponse' {} a -> s {httpStatus = a} :: DescribeBudgetActionsForAccountResponse)++-- | A list of the budget action resources information.+describeBudgetActionsForAccountResponse_actions :: Lens.Lens' DescribeBudgetActionsForAccountResponse [Action]+describeBudgetActionsForAccountResponse_actions = Lens.lens (\DescribeBudgetActionsForAccountResponse' {actions} -> actions) (\s@DescribeBudgetActionsForAccountResponse' {} a -> s {actions = a} :: DescribeBudgetActionsForAccountResponse) Prelude.. Lens.coerced++instance+  Prelude.NFData+    DescribeBudgetActionsForAccountResponse+  where+  rnf DescribeBudgetActionsForAccountResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf actions
+ gen/Amazonka/Budgets/DescribeBudgetActionsForBudget.hs view
@@ -0,0 +1,265 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.DescribeBudgetActionsForBudget+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes all of the budget actions for a budget.+--+-- This operation returns paginated results.+module Amazonka.Budgets.DescribeBudgetActionsForBudget+  ( -- * Creating a Request+    DescribeBudgetActionsForBudget (..),+    newDescribeBudgetActionsForBudget,++    -- * Request Lenses+    describeBudgetActionsForBudget_maxResults,+    describeBudgetActionsForBudget_nextToken,+    describeBudgetActionsForBudget_accountId,+    describeBudgetActionsForBudget_budgetName,++    -- * Destructuring the Response+    DescribeBudgetActionsForBudgetResponse (..),+    newDescribeBudgetActionsForBudgetResponse,++    -- * Response Lenses+    describeBudgetActionsForBudgetResponse_nextToken,+    describeBudgetActionsForBudgetResponse_httpStatus,+    describeBudgetActionsForBudgetResponse_actions,+  )+where++import Amazonka.Budgets.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeBudgetActionsForBudget' smart constructor.+data DescribeBudgetActionsForBudget = DescribeBudgetActionsForBudget'+  { maxResults :: Prelude.Maybe Prelude.Natural,+    nextToken :: Prelude.Maybe Prelude.Text,+    accountId :: Prelude.Text,+    budgetName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeBudgetActionsForBudget' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'describeBudgetActionsForBudget_maxResults' - Undocumented member.+--+-- 'nextToken', 'describeBudgetActionsForBudget_nextToken' - Undocumented member.+--+-- 'accountId', 'describeBudgetActionsForBudget_accountId' - Undocumented member.+--+-- 'budgetName', 'describeBudgetActionsForBudget_budgetName' - Undocumented member.+newDescribeBudgetActionsForBudget ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'budgetName'+  Prelude.Text ->+  DescribeBudgetActionsForBudget+newDescribeBudgetActionsForBudget+  pAccountId_+  pBudgetName_ =+    DescribeBudgetActionsForBudget'+      { maxResults =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        accountId = pAccountId_,+        budgetName = pBudgetName_+      }++-- | Undocumented member.+describeBudgetActionsForBudget_maxResults :: Lens.Lens' DescribeBudgetActionsForBudget (Prelude.Maybe Prelude.Natural)+describeBudgetActionsForBudget_maxResults = Lens.lens (\DescribeBudgetActionsForBudget' {maxResults} -> maxResults) (\s@DescribeBudgetActionsForBudget' {} a -> s {maxResults = a} :: DescribeBudgetActionsForBudget)++-- | Undocumented member.+describeBudgetActionsForBudget_nextToken :: Lens.Lens' DescribeBudgetActionsForBudget (Prelude.Maybe Prelude.Text)+describeBudgetActionsForBudget_nextToken = Lens.lens (\DescribeBudgetActionsForBudget' {nextToken} -> nextToken) (\s@DescribeBudgetActionsForBudget' {} a -> s {nextToken = a} :: DescribeBudgetActionsForBudget)++-- | Undocumented member.+describeBudgetActionsForBudget_accountId :: Lens.Lens' DescribeBudgetActionsForBudget Prelude.Text+describeBudgetActionsForBudget_accountId = Lens.lens (\DescribeBudgetActionsForBudget' {accountId} -> accountId) (\s@DescribeBudgetActionsForBudget' {} a -> s {accountId = a} :: DescribeBudgetActionsForBudget)++-- | Undocumented member.+describeBudgetActionsForBudget_budgetName :: Lens.Lens' DescribeBudgetActionsForBudget Prelude.Text+describeBudgetActionsForBudget_budgetName = Lens.lens (\DescribeBudgetActionsForBudget' {budgetName} -> budgetName) (\s@DescribeBudgetActionsForBudget' {} a -> s {budgetName = a} :: DescribeBudgetActionsForBudget)++instance Core.AWSPager DescribeBudgetActionsForBudget where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? describeBudgetActionsForBudgetResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^. describeBudgetActionsForBudgetResponse_actions+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& describeBudgetActionsForBudget_nextToken+          Lens..~ rs+          Lens.^? describeBudgetActionsForBudgetResponse_nextToken+          Prelude.. Lens._Just++instance+  Core.AWSRequest+    DescribeBudgetActionsForBudget+  where+  type+    AWSResponse DescribeBudgetActionsForBudget =+      DescribeBudgetActionsForBudgetResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeBudgetActionsForBudgetResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..?> "Actions" Core..!@ Prelude.mempty)+      )++instance+  Prelude.Hashable+    DescribeBudgetActionsForBudget+  where+  hashWithSalt+    _salt+    DescribeBudgetActionsForBudget' {..} =+      _salt+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken+        `Prelude.hashWithSalt` accountId+        `Prelude.hashWithSalt` budgetName++instance+  Prelude.NFData+    DescribeBudgetActionsForBudget+  where+  rnf DescribeBudgetActionsForBudget' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf budgetName++instance+  Data.ToHeaders+    DescribeBudgetActionsForBudget+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSBudgetServiceGateway.DescribeBudgetActionsForBudget" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeBudgetActionsForBudget where+  toJSON DescribeBudgetActionsForBudget' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just ("AccountId" Data..= accountId),+            Prelude.Just ("BudgetName" Data..= budgetName)+          ]+      )++instance Data.ToPath DescribeBudgetActionsForBudget where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeBudgetActionsForBudget where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeBudgetActionsForBudgetResponse' smart constructor.+data DescribeBudgetActionsForBudgetResponse = DescribeBudgetActionsForBudgetResponse'+  { nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A list of the budget action resources information.+    actions :: [Action]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeBudgetActionsForBudgetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'describeBudgetActionsForBudgetResponse_nextToken' - Undocumented member.+--+-- 'httpStatus', 'describeBudgetActionsForBudgetResponse_httpStatus' - The response's http status code.+--+-- 'actions', 'describeBudgetActionsForBudgetResponse_actions' - A list of the budget action resources information.+newDescribeBudgetActionsForBudgetResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeBudgetActionsForBudgetResponse+newDescribeBudgetActionsForBudgetResponse+  pHttpStatus_ =+    DescribeBudgetActionsForBudgetResponse'+      { nextToken =+          Prelude.Nothing,+        httpStatus = pHttpStatus_,+        actions = Prelude.mempty+      }++-- | Undocumented member.+describeBudgetActionsForBudgetResponse_nextToken :: Lens.Lens' DescribeBudgetActionsForBudgetResponse (Prelude.Maybe Prelude.Text)+describeBudgetActionsForBudgetResponse_nextToken = Lens.lens (\DescribeBudgetActionsForBudgetResponse' {nextToken} -> nextToken) (\s@DescribeBudgetActionsForBudgetResponse' {} a -> s {nextToken = a} :: DescribeBudgetActionsForBudgetResponse)++-- | The response's http status code.+describeBudgetActionsForBudgetResponse_httpStatus :: Lens.Lens' DescribeBudgetActionsForBudgetResponse Prelude.Int+describeBudgetActionsForBudgetResponse_httpStatus = Lens.lens (\DescribeBudgetActionsForBudgetResponse' {httpStatus} -> httpStatus) (\s@DescribeBudgetActionsForBudgetResponse' {} a -> s {httpStatus = a} :: DescribeBudgetActionsForBudgetResponse)++-- | A list of the budget action resources information.+describeBudgetActionsForBudgetResponse_actions :: Lens.Lens' DescribeBudgetActionsForBudgetResponse [Action]+describeBudgetActionsForBudgetResponse_actions = Lens.lens (\DescribeBudgetActionsForBudgetResponse' {actions} -> actions) (\s@DescribeBudgetActionsForBudgetResponse' {} a -> s {actions = a} :: DescribeBudgetActionsForBudgetResponse) Prelude.. Lens.coerced++instance+  Prelude.NFData+    DescribeBudgetActionsForBudgetResponse+  where+  rnf DescribeBudgetActionsForBudgetResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf actions
+ gen/Amazonka/Budgets/DescribeBudgetNotificationsForAccount.hs view
@@ -0,0 +1,272 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.DescribeBudgetNotificationsForAccount+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the budget names and notifications that are associated with an+-- account.+--+-- This operation returns paginated results.+module Amazonka.Budgets.DescribeBudgetNotificationsForAccount+  ( -- * Creating a Request+    DescribeBudgetNotificationsForAccount (..),+    newDescribeBudgetNotificationsForAccount,++    -- * Request Lenses+    describeBudgetNotificationsForAccount_maxResults,+    describeBudgetNotificationsForAccount_nextToken,+    describeBudgetNotificationsForAccount_accountId,++    -- * Destructuring the Response+    DescribeBudgetNotificationsForAccountResponse (..),+    newDescribeBudgetNotificationsForAccountResponse,++    -- * Response Lenses+    describeBudgetNotificationsForAccountResponse_budgetNotificationsForAccount,+    describeBudgetNotificationsForAccountResponse_nextToken,+    describeBudgetNotificationsForAccountResponse_httpStatus,+  )+where++import Amazonka.Budgets.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeBudgetNotificationsForAccount' smart constructor.+data DescribeBudgetNotificationsForAccount = DescribeBudgetNotificationsForAccount'+  { -- | An integer that shows how many budget name entries a paginated response+    -- contains.+    maxResults :: Prelude.Maybe Prelude.Natural,+    nextToken :: Prelude.Maybe Prelude.Text,+    accountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeBudgetNotificationsForAccount' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'describeBudgetNotificationsForAccount_maxResults' - An integer that shows how many budget name entries a paginated response+-- contains.+--+-- 'nextToken', 'describeBudgetNotificationsForAccount_nextToken' - Undocumented member.+--+-- 'accountId', 'describeBudgetNotificationsForAccount_accountId' - Undocumented member.+newDescribeBudgetNotificationsForAccount ::+  -- | 'accountId'+  Prelude.Text ->+  DescribeBudgetNotificationsForAccount+newDescribeBudgetNotificationsForAccount pAccountId_ =+  DescribeBudgetNotificationsForAccount'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      accountId = pAccountId_+    }++-- | An integer that shows how many budget name entries a paginated response+-- contains.+describeBudgetNotificationsForAccount_maxResults :: Lens.Lens' DescribeBudgetNotificationsForAccount (Prelude.Maybe Prelude.Natural)+describeBudgetNotificationsForAccount_maxResults = Lens.lens (\DescribeBudgetNotificationsForAccount' {maxResults} -> maxResults) (\s@DescribeBudgetNotificationsForAccount' {} a -> s {maxResults = a} :: DescribeBudgetNotificationsForAccount)++-- | Undocumented member.+describeBudgetNotificationsForAccount_nextToken :: Lens.Lens' DescribeBudgetNotificationsForAccount (Prelude.Maybe Prelude.Text)+describeBudgetNotificationsForAccount_nextToken = Lens.lens (\DescribeBudgetNotificationsForAccount' {nextToken} -> nextToken) (\s@DescribeBudgetNotificationsForAccount' {} a -> s {nextToken = a} :: DescribeBudgetNotificationsForAccount)++-- | Undocumented member.+describeBudgetNotificationsForAccount_accountId :: Lens.Lens' DescribeBudgetNotificationsForAccount Prelude.Text+describeBudgetNotificationsForAccount_accountId = Lens.lens (\DescribeBudgetNotificationsForAccount' {accountId} -> accountId) (\s@DescribeBudgetNotificationsForAccount' {} a -> s {accountId = a} :: DescribeBudgetNotificationsForAccount)++instance+  Core.AWSPager+    DescribeBudgetNotificationsForAccount+  where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? describeBudgetNotificationsForAccountResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? describeBudgetNotificationsForAccountResponse_budgetNotificationsForAccount+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& describeBudgetNotificationsForAccount_nextToken+          Lens..~ rs+          Lens.^? describeBudgetNotificationsForAccountResponse_nextToken+          Prelude.. Lens._Just++instance+  Core.AWSRequest+    DescribeBudgetNotificationsForAccount+  where+  type+    AWSResponse+      DescribeBudgetNotificationsForAccount =+      DescribeBudgetNotificationsForAccountResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeBudgetNotificationsForAccountResponse'+            Prelude.<$> ( x+                            Data..?> "BudgetNotificationsForAccount"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DescribeBudgetNotificationsForAccount+  where+  hashWithSalt+    _salt+    DescribeBudgetNotificationsForAccount' {..} =+      _salt+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken+        `Prelude.hashWithSalt` accountId++instance+  Prelude.NFData+    DescribeBudgetNotificationsForAccount+  where+  rnf DescribeBudgetNotificationsForAccount' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf accountId++instance+  Data.ToHeaders+    DescribeBudgetNotificationsForAccount+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSBudgetServiceGateway.DescribeBudgetNotificationsForAccount" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToJSON+    DescribeBudgetNotificationsForAccount+  where+  toJSON DescribeBudgetNotificationsForAccount' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just ("AccountId" Data..= accountId)+          ]+      )++instance+  Data.ToPath+    DescribeBudgetNotificationsForAccount+  where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    DescribeBudgetNotificationsForAccount+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeBudgetNotificationsForAccountResponse' smart constructor.+data DescribeBudgetNotificationsForAccountResponse = DescribeBudgetNotificationsForAccountResponse'+  { -- | A list of budget names and associated notifications for an account.+    budgetNotificationsForAccount :: Prelude.Maybe [BudgetNotificationsForAccount],+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeBudgetNotificationsForAccountResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'budgetNotificationsForAccount', 'describeBudgetNotificationsForAccountResponse_budgetNotificationsForAccount' - A list of budget names and associated notifications for an account.+--+-- 'nextToken', 'describeBudgetNotificationsForAccountResponse_nextToken' - Undocumented member.+--+-- 'httpStatus', 'describeBudgetNotificationsForAccountResponse_httpStatus' - The response's http status code.+newDescribeBudgetNotificationsForAccountResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeBudgetNotificationsForAccountResponse+newDescribeBudgetNotificationsForAccountResponse+  pHttpStatus_ =+    DescribeBudgetNotificationsForAccountResponse'+      { budgetNotificationsForAccount =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | A list of budget names and associated notifications for an account.+describeBudgetNotificationsForAccountResponse_budgetNotificationsForAccount :: Lens.Lens' DescribeBudgetNotificationsForAccountResponse (Prelude.Maybe [BudgetNotificationsForAccount])+describeBudgetNotificationsForAccountResponse_budgetNotificationsForAccount = Lens.lens (\DescribeBudgetNotificationsForAccountResponse' {budgetNotificationsForAccount} -> budgetNotificationsForAccount) (\s@DescribeBudgetNotificationsForAccountResponse' {} a -> s {budgetNotificationsForAccount = a} :: DescribeBudgetNotificationsForAccountResponse) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+describeBudgetNotificationsForAccountResponse_nextToken :: Lens.Lens' DescribeBudgetNotificationsForAccountResponse (Prelude.Maybe Prelude.Text)+describeBudgetNotificationsForAccountResponse_nextToken = Lens.lens (\DescribeBudgetNotificationsForAccountResponse' {nextToken} -> nextToken) (\s@DescribeBudgetNotificationsForAccountResponse' {} a -> s {nextToken = a} :: DescribeBudgetNotificationsForAccountResponse)++-- | The response's http status code.+describeBudgetNotificationsForAccountResponse_httpStatus :: Lens.Lens' DescribeBudgetNotificationsForAccountResponse Prelude.Int+describeBudgetNotificationsForAccountResponse_httpStatus = Lens.lens (\DescribeBudgetNotificationsForAccountResponse' {httpStatus} -> httpStatus) (\s@DescribeBudgetNotificationsForAccountResponse' {} a -> s {httpStatus = a} :: DescribeBudgetNotificationsForAccountResponse)++instance+  Prelude.NFData+    DescribeBudgetNotificationsForAccountResponse+  where+  rnf+    DescribeBudgetNotificationsForAccountResponse' {..} =+      Prelude.rnf budgetNotificationsForAccount+        `Prelude.seq` Prelude.rnf nextToken+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Budgets/DescribeBudgetPerformanceHistory.hs view
@@ -0,0 +1,307 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.DescribeBudgetPerformanceHistory+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes the history for @DAILY@, @MONTHLY@, and @QUARTERLY@ budgets.+-- Budget history isn\'t available for @ANNUAL@ budgets.+--+-- This operation returns paginated results.+module Amazonka.Budgets.DescribeBudgetPerformanceHistory+  ( -- * Creating a Request+    DescribeBudgetPerformanceHistory (..),+    newDescribeBudgetPerformanceHistory,++    -- * Request Lenses+    describeBudgetPerformanceHistory_maxResults,+    describeBudgetPerformanceHistory_nextToken,+    describeBudgetPerformanceHistory_timePeriod,+    describeBudgetPerformanceHistory_accountId,+    describeBudgetPerformanceHistory_budgetName,++    -- * Destructuring the Response+    DescribeBudgetPerformanceHistoryResponse (..),+    newDescribeBudgetPerformanceHistoryResponse,++    -- * Response Lenses+    describeBudgetPerformanceHistoryResponse_budgetPerformanceHistory,+    describeBudgetPerformanceHistoryResponse_nextToken,+    describeBudgetPerformanceHistoryResponse_httpStatus,+  )+where++import Amazonka.Budgets.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeBudgetPerformanceHistory' smart constructor.+data DescribeBudgetPerformanceHistory = DescribeBudgetPerformanceHistory'+  { maxResults :: Prelude.Maybe Prelude.Natural,+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | Retrieves how often the budget went into an @ALARM@ state for the+    -- specified time period.+    timePeriod :: Prelude.Maybe TimePeriod,+    accountId :: Prelude.Text,+    budgetName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeBudgetPerformanceHistory' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'describeBudgetPerformanceHistory_maxResults' - Undocumented member.+--+-- 'nextToken', 'describeBudgetPerformanceHistory_nextToken' - Undocumented member.+--+-- 'timePeriod', 'describeBudgetPerformanceHistory_timePeriod' - Retrieves how often the budget went into an @ALARM@ state for the+-- specified time period.+--+-- 'accountId', 'describeBudgetPerformanceHistory_accountId' - Undocumented member.+--+-- 'budgetName', 'describeBudgetPerformanceHistory_budgetName' - Undocumented member.+newDescribeBudgetPerformanceHistory ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'budgetName'+  Prelude.Text ->+  DescribeBudgetPerformanceHistory+newDescribeBudgetPerformanceHistory+  pAccountId_+  pBudgetName_ =+    DescribeBudgetPerformanceHistory'+      { maxResults =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        timePeriod = Prelude.Nothing,+        accountId = pAccountId_,+        budgetName = pBudgetName_+      }++-- | Undocumented member.+describeBudgetPerformanceHistory_maxResults :: Lens.Lens' DescribeBudgetPerformanceHistory (Prelude.Maybe Prelude.Natural)+describeBudgetPerformanceHistory_maxResults = Lens.lens (\DescribeBudgetPerformanceHistory' {maxResults} -> maxResults) (\s@DescribeBudgetPerformanceHistory' {} a -> s {maxResults = a} :: DescribeBudgetPerformanceHistory)++-- | Undocumented member.+describeBudgetPerformanceHistory_nextToken :: Lens.Lens' DescribeBudgetPerformanceHistory (Prelude.Maybe Prelude.Text)+describeBudgetPerformanceHistory_nextToken = Lens.lens (\DescribeBudgetPerformanceHistory' {nextToken} -> nextToken) (\s@DescribeBudgetPerformanceHistory' {} a -> s {nextToken = a} :: DescribeBudgetPerformanceHistory)++-- | Retrieves how often the budget went into an @ALARM@ state for the+-- specified time period.+describeBudgetPerformanceHistory_timePeriod :: Lens.Lens' DescribeBudgetPerformanceHistory (Prelude.Maybe TimePeriod)+describeBudgetPerformanceHistory_timePeriod = Lens.lens (\DescribeBudgetPerformanceHistory' {timePeriod} -> timePeriod) (\s@DescribeBudgetPerformanceHistory' {} a -> s {timePeriod = a} :: DescribeBudgetPerformanceHistory)++-- | Undocumented member.+describeBudgetPerformanceHistory_accountId :: Lens.Lens' DescribeBudgetPerformanceHistory Prelude.Text+describeBudgetPerformanceHistory_accountId = Lens.lens (\DescribeBudgetPerformanceHistory' {accountId} -> accountId) (\s@DescribeBudgetPerformanceHistory' {} a -> s {accountId = a} :: DescribeBudgetPerformanceHistory)++-- | Undocumented member.+describeBudgetPerformanceHistory_budgetName :: Lens.Lens' DescribeBudgetPerformanceHistory Prelude.Text+describeBudgetPerformanceHistory_budgetName = Lens.lens (\DescribeBudgetPerformanceHistory' {budgetName} -> budgetName) (\s@DescribeBudgetPerformanceHistory' {} a -> s {budgetName = a} :: DescribeBudgetPerformanceHistory)++instance+  Core.AWSPager+    DescribeBudgetPerformanceHistory+  where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? describeBudgetPerformanceHistoryResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? describeBudgetPerformanceHistoryResponse_budgetPerformanceHistory+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& describeBudgetPerformanceHistory_nextToken+          Lens..~ rs+          Lens.^? describeBudgetPerformanceHistoryResponse_nextToken+          Prelude.. Lens._Just++instance+  Core.AWSRequest+    DescribeBudgetPerformanceHistory+  where+  type+    AWSResponse DescribeBudgetPerformanceHistory =+      DescribeBudgetPerformanceHistoryResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeBudgetPerformanceHistoryResponse'+            Prelude.<$> (x Data..?> "BudgetPerformanceHistory")+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DescribeBudgetPerformanceHistory+  where+  hashWithSalt+    _salt+    DescribeBudgetPerformanceHistory' {..} =+      _salt+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken+        `Prelude.hashWithSalt` timePeriod+        `Prelude.hashWithSalt` accountId+        `Prelude.hashWithSalt` budgetName++instance+  Prelude.NFData+    DescribeBudgetPerformanceHistory+  where+  rnf DescribeBudgetPerformanceHistory' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf timePeriod+      `Prelude.seq` Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf budgetName++instance+  Data.ToHeaders+    DescribeBudgetPerformanceHistory+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSBudgetServiceGateway.DescribeBudgetPerformanceHistory" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeBudgetPerformanceHistory where+  toJSON DescribeBudgetPerformanceHistory' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            ("TimePeriod" Data..=) Prelude.<$> timePeriod,+            Prelude.Just ("AccountId" Data..= accountId),+            Prelude.Just ("BudgetName" Data..= budgetName)+          ]+      )++instance Data.ToPath DescribeBudgetPerformanceHistory where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    DescribeBudgetPerformanceHistory+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeBudgetPerformanceHistoryResponse' smart constructor.+data DescribeBudgetPerformanceHistoryResponse = DescribeBudgetPerformanceHistoryResponse'+  { -- | The history of how often the budget has gone into an @ALARM@ state.+    --+    -- For @DAILY@ budgets, the history saves the state of the budget for the+    -- last 60 days. For @MONTHLY@ budgets, the history saves the state of the+    -- budget for the current month plus the last 12 months. For @QUARTERLY@+    -- budgets, the history saves the state of the budget for the last four+    -- quarters.+    budgetPerformanceHistory :: Prelude.Maybe BudgetPerformanceHistory,+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeBudgetPerformanceHistoryResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'budgetPerformanceHistory', 'describeBudgetPerformanceHistoryResponse_budgetPerformanceHistory' - The history of how often the budget has gone into an @ALARM@ state.+--+-- For @DAILY@ budgets, the history saves the state of the budget for the+-- last 60 days. For @MONTHLY@ budgets, the history saves the state of the+-- budget for the current month plus the last 12 months. For @QUARTERLY@+-- budgets, the history saves the state of the budget for the last four+-- quarters.+--+-- 'nextToken', 'describeBudgetPerformanceHistoryResponse_nextToken' - Undocumented member.+--+-- 'httpStatus', 'describeBudgetPerformanceHistoryResponse_httpStatus' - The response's http status code.+newDescribeBudgetPerformanceHistoryResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeBudgetPerformanceHistoryResponse+newDescribeBudgetPerformanceHistoryResponse+  pHttpStatus_ =+    DescribeBudgetPerformanceHistoryResponse'+      { budgetPerformanceHistory =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The history of how often the budget has gone into an @ALARM@ state.+--+-- For @DAILY@ budgets, the history saves the state of the budget for the+-- last 60 days. For @MONTHLY@ budgets, the history saves the state of the+-- budget for the current month plus the last 12 months. For @QUARTERLY@+-- budgets, the history saves the state of the budget for the last four+-- quarters.+describeBudgetPerformanceHistoryResponse_budgetPerformanceHistory :: Lens.Lens' DescribeBudgetPerformanceHistoryResponse (Prelude.Maybe BudgetPerformanceHistory)+describeBudgetPerformanceHistoryResponse_budgetPerformanceHistory = Lens.lens (\DescribeBudgetPerformanceHistoryResponse' {budgetPerformanceHistory} -> budgetPerformanceHistory) (\s@DescribeBudgetPerformanceHistoryResponse' {} a -> s {budgetPerformanceHistory = a} :: DescribeBudgetPerformanceHistoryResponse)++-- | Undocumented member.+describeBudgetPerformanceHistoryResponse_nextToken :: Lens.Lens' DescribeBudgetPerformanceHistoryResponse (Prelude.Maybe Prelude.Text)+describeBudgetPerformanceHistoryResponse_nextToken = Lens.lens (\DescribeBudgetPerformanceHistoryResponse' {nextToken} -> nextToken) (\s@DescribeBudgetPerformanceHistoryResponse' {} a -> s {nextToken = a} :: DescribeBudgetPerformanceHistoryResponse)++-- | The response's http status code.+describeBudgetPerformanceHistoryResponse_httpStatus :: Lens.Lens' DescribeBudgetPerformanceHistoryResponse Prelude.Int+describeBudgetPerformanceHistoryResponse_httpStatus = Lens.lens (\DescribeBudgetPerformanceHistoryResponse' {httpStatus} -> httpStatus) (\s@DescribeBudgetPerformanceHistoryResponse' {} a -> s {httpStatus = a} :: DescribeBudgetPerformanceHistoryResponse)++instance+  Prelude.NFData+    DescribeBudgetPerformanceHistoryResponse+  where+  rnf DescribeBudgetPerformanceHistoryResponse' {..} =+    Prelude.rnf budgetPerformanceHistory+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Budgets/DescribeBudgets.hs view
@@ -0,0 +1,255 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.DescribeBudgets+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the budgets that are associated with an account.+--+-- The Request Syntax section shows the @BudgetLimit@ syntax. For+-- @PlannedBudgetLimits@, see the+-- <https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_DescribeBudgets.html#API_DescribeBudgets_Examples Examples>+-- section.+--+-- This operation returns paginated results.+module Amazonka.Budgets.DescribeBudgets+  ( -- * Creating a Request+    DescribeBudgets (..),+    newDescribeBudgets,++    -- * Request Lenses+    describeBudgets_maxResults,+    describeBudgets_nextToken,+    describeBudgets_accountId,++    -- * Destructuring the Response+    DescribeBudgetsResponse (..),+    newDescribeBudgetsResponse,++    -- * Response Lenses+    describeBudgetsResponse_budgets,+    describeBudgetsResponse_nextToken,+    describeBudgetsResponse_httpStatus,+  )+where++import Amazonka.Budgets.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Request of DescribeBudgets+--+-- /See:/ 'newDescribeBudgets' smart constructor.+data DescribeBudgets = DescribeBudgets'+  { -- | An optional integer that represents how many entries a paginated+    -- response contains. The maximum is 100.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The pagination token that you include in your request to indicate the+    -- next set of results that you want to retrieve.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The @accountId@ that is associated with the budgets that you want+    -- descriptions of.+    accountId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeBudgets' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'describeBudgets_maxResults' - An optional integer that represents how many entries a paginated+-- response contains. The maximum is 100.+--+-- 'nextToken', 'describeBudgets_nextToken' - The pagination token that you include in your request to indicate the+-- next set of results that you want to retrieve.+--+-- 'accountId', 'describeBudgets_accountId' - The @accountId@ that is associated with the budgets that you want+-- descriptions of.+newDescribeBudgets ::+  -- | 'accountId'+  Prelude.Text ->+  DescribeBudgets+newDescribeBudgets pAccountId_ =+  DescribeBudgets'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      accountId = pAccountId_+    }++-- | An optional integer that represents how many entries a paginated+-- response contains. The maximum is 100.+describeBudgets_maxResults :: Lens.Lens' DescribeBudgets (Prelude.Maybe Prelude.Natural)+describeBudgets_maxResults = Lens.lens (\DescribeBudgets' {maxResults} -> maxResults) (\s@DescribeBudgets' {} a -> s {maxResults = a} :: DescribeBudgets)++-- | The pagination token that you include in your request to indicate the+-- next set of results that you want to retrieve.+describeBudgets_nextToken :: Lens.Lens' DescribeBudgets (Prelude.Maybe Prelude.Text)+describeBudgets_nextToken = Lens.lens (\DescribeBudgets' {nextToken} -> nextToken) (\s@DescribeBudgets' {} a -> s {nextToken = a} :: DescribeBudgets)++-- | The @accountId@ that is associated with the budgets that you want+-- descriptions of.+describeBudgets_accountId :: Lens.Lens' DescribeBudgets Prelude.Text+describeBudgets_accountId = Lens.lens (\DescribeBudgets' {accountId} -> accountId) (\s@DescribeBudgets' {} a -> s {accountId = a} :: DescribeBudgets)++instance Core.AWSPager DescribeBudgets where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? describeBudgetsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? describeBudgetsResponse_budgets+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& describeBudgets_nextToken+          Lens..~ rs+          Lens.^? describeBudgetsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest DescribeBudgets where+  type+    AWSResponse DescribeBudgets =+      DescribeBudgetsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeBudgetsResponse'+            Prelude.<$> (x Data..?> "Budgets" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeBudgets where+  hashWithSalt _salt DescribeBudgets' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` accountId++instance Prelude.NFData DescribeBudgets where+  rnf DescribeBudgets' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf accountId++instance Data.ToHeaders DescribeBudgets where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSBudgetServiceGateway.DescribeBudgets" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeBudgets where+  toJSON DescribeBudgets' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just ("AccountId" Data..= accountId)+          ]+      )++instance Data.ToPath DescribeBudgets where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeBudgets where+  toQuery = Prelude.const Prelude.mempty++-- | Response of DescribeBudgets+--+-- /See:/ 'newDescribeBudgetsResponse' smart constructor.+data DescribeBudgetsResponse = DescribeBudgetsResponse'+  { -- | A list of budgets.+    budgets :: Prelude.Maybe [Budget],+    -- | The pagination token in the service response that indicates the next set+    -- of results that you can retrieve.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeBudgetsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'budgets', 'describeBudgetsResponse_budgets' - A list of budgets.+--+-- 'nextToken', 'describeBudgetsResponse_nextToken' - The pagination token in the service response that indicates the next set+-- of results that you can retrieve.+--+-- 'httpStatus', 'describeBudgetsResponse_httpStatus' - The response's http status code.+newDescribeBudgetsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeBudgetsResponse+newDescribeBudgetsResponse pHttpStatus_ =+  DescribeBudgetsResponse'+    { budgets = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A list of budgets.+describeBudgetsResponse_budgets :: Lens.Lens' DescribeBudgetsResponse (Prelude.Maybe [Budget])+describeBudgetsResponse_budgets = Lens.lens (\DescribeBudgetsResponse' {budgets} -> budgets) (\s@DescribeBudgetsResponse' {} a -> s {budgets = a} :: DescribeBudgetsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token in the service response that indicates the next set+-- of results that you can retrieve.+describeBudgetsResponse_nextToken :: Lens.Lens' DescribeBudgetsResponse (Prelude.Maybe Prelude.Text)+describeBudgetsResponse_nextToken = Lens.lens (\DescribeBudgetsResponse' {nextToken} -> nextToken) (\s@DescribeBudgetsResponse' {} a -> s {nextToken = a} :: DescribeBudgetsResponse)++-- | The response's http status code.+describeBudgetsResponse_httpStatus :: Lens.Lens' DescribeBudgetsResponse Prelude.Int+describeBudgetsResponse_httpStatus = Lens.lens (\DescribeBudgetsResponse' {httpStatus} -> httpStatus) (\s@DescribeBudgetsResponse' {} a -> s {httpStatus = a} :: DescribeBudgetsResponse)++instance Prelude.NFData DescribeBudgetsResponse where+  rnf DescribeBudgetsResponse' {..} =+    Prelude.rnf budgets+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Budgets/DescribeNotificationsForBudget.hs view
@@ -0,0 +1,287 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.DescribeNotificationsForBudget+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the notifications that are associated with a budget.+--+-- This operation returns paginated results.+module Amazonka.Budgets.DescribeNotificationsForBudget+  ( -- * Creating a Request+    DescribeNotificationsForBudget (..),+    newDescribeNotificationsForBudget,++    -- * Request Lenses+    describeNotificationsForBudget_maxResults,+    describeNotificationsForBudget_nextToken,+    describeNotificationsForBudget_accountId,+    describeNotificationsForBudget_budgetName,++    -- * Destructuring the Response+    DescribeNotificationsForBudgetResponse (..),+    newDescribeNotificationsForBudgetResponse,++    -- * Response Lenses+    describeNotificationsForBudgetResponse_nextToken,+    describeNotificationsForBudgetResponse_notifications,+    describeNotificationsForBudgetResponse_httpStatus,+  )+where++import Amazonka.Budgets.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Request of DescribeNotificationsForBudget+--+-- /See:/ 'newDescribeNotificationsForBudget' smart constructor.+data DescribeNotificationsForBudget = DescribeNotificationsForBudget'+  { -- | An optional integer that represents how many entries a paginated+    -- response contains. The maximum is 100.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The pagination token that you include in your request to indicate the+    -- next set of results that you want to retrieve.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The @accountId@ that is associated with the budget whose notifications+    -- you want descriptions of.+    accountId :: Prelude.Text,+    -- | The name of the budget whose notifications you want descriptions of.+    budgetName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeNotificationsForBudget' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'describeNotificationsForBudget_maxResults' - An optional integer that represents how many entries a paginated+-- response contains. The maximum is 100.+--+-- 'nextToken', 'describeNotificationsForBudget_nextToken' - The pagination token that you include in your request to indicate the+-- next set of results that you want to retrieve.+--+-- 'accountId', 'describeNotificationsForBudget_accountId' - The @accountId@ that is associated with the budget whose notifications+-- you want descriptions of.+--+-- 'budgetName', 'describeNotificationsForBudget_budgetName' - The name of the budget whose notifications you want descriptions of.+newDescribeNotificationsForBudget ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'budgetName'+  Prelude.Text ->+  DescribeNotificationsForBudget+newDescribeNotificationsForBudget+  pAccountId_+  pBudgetName_ =+    DescribeNotificationsForBudget'+      { maxResults =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        accountId = pAccountId_,+        budgetName = pBudgetName_+      }++-- | An optional integer that represents how many entries a paginated+-- response contains. The maximum is 100.+describeNotificationsForBudget_maxResults :: Lens.Lens' DescribeNotificationsForBudget (Prelude.Maybe Prelude.Natural)+describeNotificationsForBudget_maxResults = Lens.lens (\DescribeNotificationsForBudget' {maxResults} -> maxResults) (\s@DescribeNotificationsForBudget' {} a -> s {maxResults = a} :: DescribeNotificationsForBudget)++-- | The pagination token that you include in your request to indicate the+-- next set of results that you want to retrieve.+describeNotificationsForBudget_nextToken :: Lens.Lens' DescribeNotificationsForBudget (Prelude.Maybe Prelude.Text)+describeNotificationsForBudget_nextToken = Lens.lens (\DescribeNotificationsForBudget' {nextToken} -> nextToken) (\s@DescribeNotificationsForBudget' {} a -> s {nextToken = a} :: DescribeNotificationsForBudget)++-- | The @accountId@ that is associated with the budget whose notifications+-- you want descriptions of.+describeNotificationsForBudget_accountId :: Lens.Lens' DescribeNotificationsForBudget Prelude.Text+describeNotificationsForBudget_accountId = Lens.lens (\DescribeNotificationsForBudget' {accountId} -> accountId) (\s@DescribeNotificationsForBudget' {} a -> s {accountId = a} :: DescribeNotificationsForBudget)++-- | The name of the budget whose notifications you want descriptions of.+describeNotificationsForBudget_budgetName :: Lens.Lens' DescribeNotificationsForBudget Prelude.Text+describeNotificationsForBudget_budgetName = Lens.lens (\DescribeNotificationsForBudget' {budgetName} -> budgetName) (\s@DescribeNotificationsForBudget' {} a -> s {budgetName = a} :: DescribeNotificationsForBudget)++instance Core.AWSPager DescribeNotificationsForBudget where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? describeNotificationsForBudgetResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? describeNotificationsForBudgetResponse_notifications+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& describeNotificationsForBudget_nextToken+          Lens..~ rs+          Lens.^? describeNotificationsForBudgetResponse_nextToken+          Prelude.. Lens._Just++instance+  Core.AWSRequest+    DescribeNotificationsForBudget+  where+  type+    AWSResponse DescribeNotificationsForBudget =+      DescribeNotificationsForBudgetResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeNotificationsForBudgetResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "Notifications" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DescribeNotificationsForBudget+  where+  hashWithSalt+    _salt+    DescribeNotificationsForBudget' {..} =+      _salt+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken+        `Prelude.hashWithSalt` accountId+        `Prelude.hashWithSalt` budgetName++instance+  Prelude.NFData+    DescribeNotificationsForBudget+  where+  rnf DescribeNotificationsForBudget' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf budgetName++instance+  Data.ToHeaders+    DescribeNotificationsForBudget+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSBudgetServiceGateway.DescribeNotificationsForBudget" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeNotificationsForBudget where+  toJSON DescribeNotificationsForBudget' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just ("AccountId" Data..= accountId),+            Prelude.Just ("BudgetName" Data..= budgetName)+          ]+      )++instance Data.ToPath DescribeNotificationsForBudget where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeNotificationsForBudget where+  toQuery = Prelude.const Prelude.mempty++-- | Response of GetNotificationsForBudget+--+-- /See:/ 'newDescribeNotificationsForBudgetResponse' smart constructor.+data DescribeNotificationsForBudgetResponse = DescribeNotificationsForBudgetResponse'+  { -- | The pagination token in the service response that indicates the next set+    -- of results that you can retrieve.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | A list of notifications that are associated with a budget.+    notifications :: Prelude.Maybe [Notification],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeNotificationsForBudgetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'describeNotificationsForBudgetResponse_nextToken' - The pagination token in the service response that indicates the next set+-- of results that you can retrieve.+--+-- 'notifications', 'describeNotificationsForBudgetResponse_notifications' - A list of notifications that are associated with a budget.+--+-- 'httpStatus', 'describeNotificationsForBudgetResponse_httpStatus' - The response's http status code.+newDescribeNotificationsForBudgetResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeNotificationsForBudgetResponse+newDescribeNotificationsForBudgetResponse+  pHttpStatus_ =+    DescribeNotificationsForBudgetResponse'+      { nextToken =+          Prelude.Nothing,+        notifications = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The pagination token in the service response that indicates the next set+-- of results that you can retrieve.+describeNotificationsForBudgetResponse_nextToken :: Lens.Lens' DescribeNotificationsForBudgetResponse (Prelude.Maybe Prelude.Text)+describeNotificationsForBudgetResponse_nextToken = Lens.lens (\DescribeNotificationsForBudgetResponse' {nextToken} -> nextToken) (\s@DescribeNotificationsForBudgetResponse' {} a -> s {nextToken = a} :: DescribeNotificationsForBudgetResponse)++-- | A list of notifications that are associated with a budget.+describeNotificationsForBudgetResponse_notifications :: Lens.Lens' DescribeNotificationsForBudgetResponse (Prelude.Maybe [Notification])+describeNotificationsForBudgetResponse_notifications = Lens.lens (\DescribeNotificationsForBudgetResponse' {notifications} -> notifications) (\s@DescribeNotificationsForBudgetResponse' {} a -> s {notifications = a} :: DescribeNotificationsForBudgetResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+describeNotificationsForBudgetResponse_httpStatus :: Lens.Lens' DescribeNotificationsForBudgetResponse Prelude.Int+describeNotificationsForBudgetResponse_httpStatus = Lens.lens (\DescribeNotificationsForBudgetResponse' {httpStatus} -> httpStatus) (\s@DescribeNotificationsForBudgetResponse' {} a -> s {httpStatus = a} :: DescribeNotificationsForBudgetResponse)++instance+  Prelude.NFData+    DescribeNotificationsForBudgetResponse+  where+  rnf DescribeNotificationsForBudgetResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf notifications+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Budgets/DescribeSubscribersForNotification.hs view
@@ -0,0 +1,316 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.DescribeSubscribersForNotification+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the subscribers that are associated with a notification.+--+-- This operation returns paginated results.+module Amazonka.Budgets.DescribeSubscribersForNotification+  ( -- * Creating a Request+    DescribeSubscribersForNotification (..),+    newDescribeSubscribersForNotification,++    -- * Request Lenses+    describeSubscribersForNotification_maxResults,+    describeSubscribersForNotification_nextToken,+    describeSubscribersForNotification_accountId,+    describeSubscribersForNotification_budgetName,+    describeSubscribersForNotification_notification,++    -- * Destructuring the Response+    DescribeSubscribersForNotificationResponse (..),+    newDescribeSubscribersForNotificationResponse,++    -- * Response Lenses+    describeSubscribersForNotificationResponse_nextToken,+    describeSubscribersForNotificationResponse_subscribers,+    describeSubscribersForNotificationResponse_httpStatus,+  )+where++import Amazonka.Budgets.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Request of DescribeSubscribersForNotification+--+-- /See:/ 'newDescribeSubscribersForNotification' smart constructor.+data DescribeSubscribersForNotification = DescribeSubscribersForNotification'+  { -- | An optional integer that represents how many entries a paginated+    -- response contains. The maximum is 100.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The pagination token that you include in your request to indicate the+    -- next set of results that you want to retrieve.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The @accountId@ that is associated with the budget whose subscribers you+    -- want descriptions of.+    accountId :: Prelude.Text,+    -- | The name of the budget whose subscribers you want descriptions of.+    budgetName :: Prelude.Text,+    -- | The notification whose subscribers you want to list.+    notification :: Notification+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeSubscribersForNotification' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'describeSubscribersForNotification_maxResults' - An optional integer that represents how many entries a paginated+-- response contains. The maximum is 100.+--+-- 'nextToken', 'describeSubscribersForNotification_nextToken' - The pagination token that you include in your request to indicate the+-- next set of results that you want to retrieve.+--+-- 'accountId', 'describeSubscribersForNotification_accountId' - The @accountId@ that is associated with the budget whose subscribers you+-- want descriptions of.+--+-- 'budgetName', 'describeSubscribersForNotification_budgetName' - The name of the budget whose subscribers you want descriptions of.+--+-- 'notification', 'describeSubscribersForNotification_notification' - The notification whose subscribers you want to list.+newDescribeSubscribersForNotification ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'budgetName'+  Prelude.Text ->+  -- | 'notification'+  Notification ->+  DescribeSubscribersForNotification+newDescribeSubscribersForNotification+  pAccountId_+  pBudgetName_+  pNotification_ =+    DescribeSubscribersForNotification'+      { maxResults =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        accountId = pAccountId_,+        budgetName = pBudgetName_,+        notification = pNotification_+      }++-- | An optional integer that represents how many entries a paginated+-- response contains. The maximum is 100.+describeSubscribersForNotification_maxResults :: Lens.Lens' DescribeSubscribersForNotification (Prelude.Maybe Prelude.Natural)+describeSubscribersForNotification_maxResults = Lens.lens (\DescribeSubscribersForNotification' {maxResults} -> maxResults) (\s@DescribeSubscribersForNotification' {} a -> s {maxResults = a} :: DescribeSubscribersForNotification)++-- | The pagination token that you include in your request to indicate the+-- next set of results that you want to retrieve.+describeSubscribersForNotification_nextToken :: Lens.Lens' DescribeSubscribersForNotification (Prelude.Maybe Prelude.Text)+describeSubscribersForNotification_nextToken = Lens.lens (\DescribeSubscribersForNotification' {nextToken} -> nextToken) (\s@DescribeSubscribersForNotification' {} a -> s {nextToken = a} :: DescribeSubscribersForNotification)++-- | The @accountId@ that is associated with the budget whose subscribers you+-- want descriptions of.+describeSubscribersForNotification_accountId :: Lens.Lens' DescribeSubscribersForNotification Prelude.Text+describeSubscribersForNotification_accountId = Lens.lens (\DescribeSubscribersForNotification' {accountId} -> accountId) (\s@DescribeSubscribersForNotification' {} a -> s {accountId = a} :: DescribeSubscribersForNotification)++-- | The name of the budget whose subscribers you want descriptions of.+describeSubscribersForNotification_budgetName :: Lens.Lens' DescribeSubscribersForNotification Prelude.Text+describeSubscribersForNotification_budgetName = Lens.lens (\DescribeSubscribersForNotification' {budgetName} -> budgetName) (\s@DescribeSubscribersForNotification' {} a -> s {budgetName = a} :: DescribeSubscribersForNotification)++-- | The notification whose subscribers you want to list.+describeSubscribersForNotification_notification :: Lens.Lens' DescribeSubscribersForNotification Notification+describeSubscribersForNotification_notification = Lens.lens (\DescribeSubscribersForNotification' {notification} -> notification) (\s@DescribeSubscribersForNotification' {} a -> s {notification = a} :: DescribeSubscribersForNotification)++instance+  Core.AWSPager+    DescribeSubscribersForNotification+  where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? describeSubscribersForNotificationResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? describeSubscribersForNotificationResponse_subscribers+            Prelude.. Lens._Just+            Prelude.. Lens.to Prelude.toList+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& describeSubscribersForNotification_nextToken+          Lens..~ rs+          Lens.^? describeSubscribersForNotificationResponse_nextToken+          Prelude.. Lens._Just++instance+  Core.AWSRequest+    DescribeSubscribersForNotification+  where+  type+    AWSResponse DescribeSubscribersForNotification =+      DescribeSubscribersForNotificationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeSubscribersForNotificationResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "Subscribers")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DescribeSubscribersForNotification+  where+  hashWithSalt+    _salt+    DescribeSubscribersForNotification' {..} =+      _salt+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken+        `Prelude.hashWithSalt` accountId+        `Prelude.hashWithSalt` budgetName+        `Prelude.hashWithSalt` notification++instance+  Prelude.NFData+    DescribeSubscribersForNotification+  where+  rnf DescribeSubscribersForNotification' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf budgetName+      `Prelude.seq` Prelude.rnf notification++instance+  Data.ToHeaders+    DescribeSubscribersForNotification+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSBudgetServiceGateway.DescribeSubscribersForNotification" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToJSON+    DescribeSubscribersForNotification+  where+  toJSON DescribeSubscribersForNotification' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just ("AccountId" Data..= accountId),+            Prelude.Just ("BudgetName" Data..= budgetName),+            Prelude.Just ("Notification" Data..= notification)+          ]+      )++instance+  Data.ToPath+    DescribeSubscribersForNotification+  where+  toPath = Prelude.const "/"++instance+  Data.ToQuery+    DescribeSubscribersForNotification+  where+  toQuery = Prelude.const Prelude.mempty++-- | Response of DescribeSubscribersForNotification+--+-- /See:/ 'newDescribeSubscribersForNotificationResponse' smart constructor.+data DescribeSubscribersForNotificationResponse = DescribeSubscribersForNotificationResponse'+  { -- | The pagination token in the service response that indicates the next set+    -- of results that you can retrieve.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | A list of subscribers that are associated with a notification.+    subscribers :: Prelude.Maybe (Prelude.NonEmpty Subscriber),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeSubscribersForNotificationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'describeSubscribersForNotificationResponse_nextToken' - The pagination token in the service response that indicates the next set+-- of results that you can retrieve.+--+-- 'subscribers', 'describeSubscribersForNotificationResponse_subscribers' - A list of subscribers that are associated with a notification.+--+-- 'httpStatus', 'describeSubscribersForNotificationResponse_httpStatus' - The response's http status code.+newDescribeSubscribersForNotificationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeSubscribersForNotificationResponse+newDescribeSubscribersForNotificationResponse+  pHttpStatus_ =+    DescribeSubscribersForNotificationResponse'+      { nextToken =+          Prelude.Nothing,+        subscribers = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The pagination token in the service response that indicates the next set+-- of results that you can retrieve.+describeSubscribersForNotificationResponse_nextToken :: Lens.Lens' DescribeSubscribersForNotificationResponse (Prelude.Maybe Prelude.Text)+describeSubscribersForNotificationResponse_nextToken = Lens.lens (\DescribeSubscribersForNotificationResponse' {nextToken} -> nextToken) (\s@DescribeSubscribersForNotificationResponse' {} a -> s {nextToken = a} :: DescribeSubscribersForNotificationResponse)++-- | A list of subscribers that are associated with a notification.+describeSubscribersForNotificationResponse_subscribers :: Lens.Lens' DescribeSubscribersForNotificationResponse (Prelude.Maybe (Prelude.NonEmpty Subscriber))+describeSubscribersForNotificationResponse_subscribers = Lens.lens (\DescribeSubscribersForNotificationResponse' {subscribers} -> subscribers) (\s@DescribeSubscribersForNotificationResponse' {} a -> s {subscribers = a} :: DescribeSubscribersForNotificationResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+describeSubscribersForNotificationResponse_httpStatus :: Lens.Lens' DescribeSubscribersForNotificationResponse Prelude.Int+describeSubscribersForNotificationResponse_httpStatus = Lens.lens (\DescribeSubscribersForNotificationResponse' {httpStatus} -> httpStatus) (\s@DescribeSubscribersForNotificationResponse' {} a -> s {httpStatus = a} :: DescribeSubscribersForNotificationResponse)++instance+  Prelude.NFData+    DescribeSubscribersForNotificationResponse+  where+  rnf DescribeSubscribersForNotificationResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf subscribers+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Budgets/ExecuteBudgetAction.hs view
@@ -0,0 +1,268 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.ExecuteBudgetAction+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Executes a budget action.+module Amazonka.Budgets.ExecuteBudgetAction+  ( -- * Creating a Request+    ExecuteBudgetAction (..),+    newExecuteBudgetAction,++    -- * Request Lenses+    executeBudgetAction_accountId,+    executeBudgetAction_budgetName,+    executeBudgetAction_actionId,+    executeBudgetAction_executionType,++    -- * Destructuring the Response+    ExecuteBudgetActionResponse (..),+    newExecuteBudgetActionResponse,++    -- * Response Lenses+    executeBudgetActionResponse_httpStatus,+    executeBudgetActionResponse_accountId,+    executeBudgetActionResponse_budgetName,+    executeBudgetActionResponse_actionId,+    executeBudgetActionResponse_executionType,+  )+where++import Amazonka.Budgets.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newExecuteBudgetAction' smart constructor.+data ExecuteBudgetAction = ExecuteBudgetAction'+  { accountId :: Prelude.Text,+    budgetName :: Prelude.Text,+    -- | A system-generated universally unique identifier (UUID) for the action.+    actionId :: Prelude.Text,+    -- | The type of execution.+    executionType :: ExecutionType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExecuteBudgetAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountId', 'executeBudgetAction_accountId' - Undocumented member.+--+-- 'budgetName', 'executeBudgetAction_budgetName' - Undocumented member.+--+-- 'actionId', 'executeBudgetAction_actionId' - A system-generated universally unique identifier (UUID) for the action.+--+-- 'executionType', 'executeBudgetAction_executionType' - The type of execution.+newExecuteBudgetAction ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'budgetName'+  Prelude.Text ->+  -- | 'actionId'+  Prelude.Text ->+  -- | 'executionType'+  ExecutionType ->+  ExecuteBudgetAction+newExecuteBudgetAction+  pAccountId_+  pBudgetName_+  pActionId_+  pExecutionType_ =+    ExecuteBudgetAction'+      { accountId = pAccountId_,+        budgetName = pBudgetName_,+        actionId = pActionId_,+        executionType = pExecutionType_+      }++-- | Undocumented member.+executeBudgetAction_accountId :: Lens.Lens' ExecuteBudgetAction Prelude.Text+executeBudgetAction_accountId = Lens.lens (\ExecuteBudgetAction' {accountId} -> accountId) (\s@ExecuteBudgetAction' {} a -> s {accountId = a} :: ExecuteBudgetAction)++-- | Undocumented member.+executeBudgetAction_budgetName :: Lens.Lens' ExecuteBudgetAction Prelude.Text+executeBudgetAction_budgetName = Lens.lens (\ExecuteBudgetAction' {budgetName} -> budgetName) (\s@ExecuteBudgetAction' {} a -> s {budgetName = a} :: ExecuteBudgetAction)++-- | A system-generated universally unique identifier (UUID) for the action.+executeBudgetAction_actionId :: Lens.Lens' ExecuteBudgetAction Prelude.Text+executeBudgetAction_actionId = Lens.lens (\ExecuteBudgetAction' {actionId} -> actionId) (\s@ExecuteBudgetAction' {} a -> s {actionId = a} :: ExecuteBudgetAction)++-- | The type of execution.+executeBudgetAction_executionType :: Lens.Lens' ExecuteBudgetAction ExecutionType+executeBudgetAction_executionType = Lens.lens (\ExecuteBudgetAction' {executionType} -> executionType) (\s@ExecuteBudgetAction' {} a -> s {executionType = a} :: ExecuteBudgetAction)++instance Core.AWSRequest ExecuteBudgetAction where+  type+    AWSResponse ExecuteBudgetAction =+      ExecuteBudgetActionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ExecuteBudgetActionResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "AccountId")+            Prelude.<*> (x Data..:> "BudgetName")+            Prelude.<*> (x Data..:> "ActionId")+            Prelude.<*> (x Data..:> "ExecutionType")+      )++instance Prelude.Hashable ExecuteBudgetAction where+  hashWithSalt _salt ExecuteBudgetAction' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` budgetName+      `Prelude.hashWithSalt` actionId+      `Prelude.hashWithSalt` executionType++instance Prelude.NFData ExecuteBudgetAction where+  rnf ExecuteBudgetAction' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf budgetName+      `Prelude.seq` Prelude.rnf actionId+      `Prelude.seq` Prelude.rnf executionType++instance Data.ToHeaders ExecuteBudgetAction where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSBudgetServiceGateway.ExecuteBudgetAction" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ExecuteBudgetAction where+  toJSON ExecuteBudgetAction' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("AccountId" Data..= accountId),+            Prelude.Just ("BudgetName" Data..= budgetName),+            Prelude.Just ("ActionId" Data..= actionId),+            Prelude.Just+              ("ExecutionType" Data..= executionType)+          ]+      )++instance Data.ToPath ExecuteBudgetAction where+  toPath = Prelude.const "/"++instance Data.ToQuery ExecuteBudgetAction where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newExecuteBudgetActionResponse' smart constructor.+data ExecuteBudgetActionResponse = ExecuteBudgetActionResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    accountId :: Prelude.Text,+    budgetName :: Prelude.Text,+    -- | A system-generated universally unique identifier (UUID) for the action.+    actionId :: Prelude.Text,+    -- | The type of execution.+    executionType :: ExecutionType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExecuteBudgetActionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'executeBudgetActionResponse_httpStatus' - The response's http status code.+--+-- 'accountId', 'executeBudgetActionResponse_accountId' - Undocumented member.+--+-- 'budgetName', 'executeBudgetActionResponse_budgetName' - Undocumented member.+--+-- 'actionId', 'executeBudgetActionResponse_actionId' - A system-generated universally unique identifier (UUID) for the action.+--+-- 'executionType', 'executeBudgetActionResponse_executionType' - The type of execution.+newExecuteBudgetActionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'accountId'+  Prelude.Text ->+  -- | 'budgetName'+  Prelude.Text ->+  -- | 'actionId'+  Prelude.Text ->+  -- | 'executionType'+  ExecutionType ->+  ExecuteBudgetActionResponse+newExecuteBudgetActionResponse+  pHttpStatus_+  pAccountId_+  pBudgetName_+  pActionId_+  pExecutionType_ =+    ExecuteBudgetActionResponse'+      { httpStatus =+          pHttpStatus_,+        accountId = pAccountId_,+        budgetName = pBudgetName_,+        actionId = pActionId_,+        executionType = pExecutionType_+      }++-- | The response's http status code.+executeBudgetActionResponse_httpStatus :: Lens.Lens' ExecuteBudgetActionResponse Prelude.Int+executeBudgetActionResponse_httpStatus = Lens.lens (\ExecuteBudgetActionResponse' {httpStatus} -> httpStatus) (\s@ExecuteBudgetActionResponse' {} a -> s {httpStatus = a} :: ExecuteBudgetActionResponse)++-- | Undocumented member.+executeBudgetActionResponse_accountId :: Lens.Lens' ExecuteBudgetActionResponse Prelude.Text+executeBudgetActionResponse_accountId = Lens.lens (\ExecuteBudgetActionResponse' {accountId} -> accountId) (\s@ExecuteBudgetActionResponse' {} a -> s {accountId = a} :: ExecuteBudgetActionResponse)++-- | Undocumented member.+executeBudgetActionResponse_budgetName :: Lens.Lens' ExecuteBudgetActionResponse Prelude.Text+executeBudgetActionResponse_budgetName = Lens.lens (\ExecuteBudgetActionResponse' {budgetName} -> budgetName) (\s@ExecuteBudgetActionResponse' {} a -> s {budgetName = a} :: ExecuteBudgetActionResponse)++-- | A system-generated universally unique identifier (UUID) for the action.+executeBudgetActionResponse_actionId :: Lens.Lens' ExecuteBudgetActionResponse Prelude.Text+executeBudgetActionResponse_actionId = Lens.lens (\ExecuteBudgetActionResponse' {actionId} -> actionId) (\s@ExecuteBudgetActionResponse' {} a -> s {actionId = a} :: ExecuteBudgetActionResponse)++-- | The type of execution.+executeBudgetActionResponse_executionType :: Lens.Lens' ExecuteBudgetActionResponse ExecutionType+executeBudgetActionResponse_executionType = Lens.lens (\ExecuteBudgetActionResponse' {executionType} -> executionType) (\s@ExecuteBudgetActionResponse' {} a -> s {executionType = a} :: ExecuteBudgetActionResponse)++instance Prelude.NFData ExecuteBudgetActionResponse where+  rnf ExecuteBudgetActionResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf budgetName+      `Prelude.seq` Prelude.rnf actionId+      `Prelude.seq` Prelude.rnf executionType
+ gen/Amazonka/Budgets/Lens.hs view
@@ -0,0 +1,386 @@+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Lens+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Lens+  ( -- * Operations++    -- ** CreateBudget+    createBudget_notificationsWithSubscribers,+    createBudget_accountId,+    createBudget_budget,+    createBudgetResponse_httpStatus,++    -- ** CreateBudgetAction+    createBudgetAction_accountId,+    createBudgetAction_budgetName,+    createBudgetAction_notificationType,+    createBudgetAction_actionType,+    createBudgetAction_actionThreshold,+    createBudgetAction_definition,+    createBudgetAction_executionRoleArn,+    createBudgetAction_approvalModel,+    createBudgetAction_subscribers,+    createBudgetActionResponse_httpStatus,+    createBudgetActionResponse_accountId,+    createBudgetActionResponse_budgetName,+    createBudgetActionResponse_actionId,++    -- ** CreateNotification+    createNotification_accountId,+    createNotification_budgetName,+    createNotification_notification,+    createNotification_subscribers,+    createNotificationResponse_httpStatus,++    -- ** CreateSubscriber+    createSubscriber_accountId,+    createSubscriber_budgetName,+    createSubscriber_notification,+    createSubscriber_subscriber,+    createSubscriberResponse_httpStatus,++    -- ** DeleteBudget+    deleteBudget_accountId,+    deleteBudget_budgetName,+    deleteBudgetResponse_httpStatus,++    -- ** DeleteBudgetAction+    deleteBudgetAction_accountId,+    deleteBudgetAction_budgetName,+    deleteBudgetAction_actionId,+    deleteBudgetActionResponse_httpStatus,+    deleteBudgetActionResponse_accountId,+    deleteBudgetActionResponse_budgetName,+    deleteBudgetActionResponse_action,++    -- ** DeleteNotification+    deleteNotification_accountId,+    deleteNotification_budgetName,+    deleteNotification_notification,+    deleteNotificationResponse_httpStatus,++    -- ** DeleteSubscriber+    deleteSubscriber_accountId,+    deleteSubscriber_budgetName,+    deleteSubscriber_notification,+    deleteSubscriber_subscriber,+    deleteSubscriberResponse_httpStatus,++    -- ** DescribeBudget+    describeBudget_accountId,+    describeBudget_budgetName,+    describeBudgetResponse_budget,+    describeBudgetResponse_httpStatus,++    -- ** DescribeBudgetAction+    describeBudgetAction_accountId,+    describeBudgetAction_budgetName,+    describeBudgetAction_actionId,+    describeBudgetActionResponse_httpStatus,+    describeBudgetActionResponse_accountId,+    describeBudgetActionResponse_budgetName,+    describeBudgetActionResponse_action,++    -- ** DescribeBudgetActionHistories+    describeBudgetActionHistories_maxResults,+    describeBudgetActionHistories_nextToken,+    describeBudgetActionHistories_timePeriod,+    describeBudgetActionHistories_accountId,+    describeBudgetActionHistories_budgetName,+    describeBudgetActionHistories_actionId,+    describeBudgetActionHistoriesResponse_nextToken,+    describeBudgetActionHistoriesResponse_httpStatus,+    describeBudgetActionHistoriesResponse_actionHistories,++    -- ** DescribeBudgetActionsForAccount+    describeBudgetActionsForAccount_maxResults,+    describeBudgetActionsForAccount_nextToken,+    describeBudgetActionsForAccount_accountId,+    describeBudgetActionsForAccountResponse_nextToken,+    describeBudgetActionsForAccountResponse_httpStatus,+    describeBudgetActionsForAccountResponse_actions,++    -- ** DescribeBudgetActionsForBudget+    describeBudgetActionsForBudget_maxResults,+    describeBudgetActionsForBudget_nextToken,+    describeBudgetActionsForBudget_accountId,+    describeBudgetActionsForBudget_budgetName,+    describeBudgetActionsForBudgetResponse_nextToken,+    describeBudgetActionsForBudgetResponse_httpStatus,+    describeBudgetActionsForBudgetResponse_actions,++    -- ** DescribeBudgetNotificationsForAccount+    describeBudgetNotificationsForAccount_maxResults,+    describeBudgetNotificationsForAccount_nextToken,+    describeBudgetNotificationsForAccount_accountId,+    describeBudgetNotificationsForAccountResponse_budgetNotificationsForAccount,+    describeBudgetNotificationsForAccountResponse_nextToken,+    describeBudgetNotificationsForAccountResponse_httpStatus,++    -- ** DescribeBudgetPerformanceHistory+    describeBudgetPerformanceHistory_maxResults,+    describeBudgetPerformanceHistory_nextToken,+    describeBudgetPerformanceHistory_timePeriod,+    describeBudgetPerformanceHistory_accountId,+    describeBudgetPerformanceHistory_budgetName,+    describeBudgetPerformanceHistoryResponse_budgetPerformanceHistory,+    describeBudgetPerformanceHistoryResponse_nextToken,+    describeBudgetPerformanceHistoryResponse_httpStatus,++    -- ** DescribeBudgets+    describeBudgets_maxResults,+    describeBudgets_nextToken,+    describeBudgets_accountId,+    describeBudgetsResponse_budgets,+    describeBudgetsResponse_nextToken,+    describeBudgetsResponse_httpStatus,++    -- ** DescribeNotificationsForBudget+    describeNotificationsForBudget_maxResults,+    describeNotificationsForBudget_nextToken,+    describeNotificationsForBudget_accountId,+    describeNotificationsForBudget_budgetName,+    describeNotificationsForBudgetResponse_nextToken,+    describeNotificationsForBudgetResponse_notifications,+    describeNotificationsForBudgetResponse_httpStatus,++    -- ** DescribeSubscribersForNotification+    describeSubscribersForNotification_maxResults,+    describeSubscribersForNotification_nextToken,+    describeSubscribersForNotification_accountId,+    describeSubscribersForNotification_budgetName,+    describeSubscribersForNotification_notification,+    describeSubscribersForNotificationResponse_nextToken,+    describeSubscribersForNotificationResponse_subscribers,+    describeSubscribersForNotificationResponse_httpStatus,++    -- ** ExecuteBudgetAction+    executeBudgetAction_accountId,+    executeBudgetAction_budgetName,+    executeBudgetAction_actionId,+    executeBudgetAction_executionType,+    executeBudgetActionResponse_httpStatus,+    executeBudgetActionResponse_accountId,+    executeBudgetActionResponse_budgetName,+    executeBudgetActionResponse_actionId,+    executeBudgetActionResponse_executionType,++    -- ** UpdateBudget+    updateBudget_accountId,+    updateBudget_newBudget,+    updateBudgetResponse_httpStatus,++    -- ** UpdateBudgetAction+    updateBudgetAction_actionThreshold,+    updateBudgetAction_approvalModel,+    updateBudgetAction_definition,+    updateBudgetAction_executionRoleArn,+    updateBudgetAction_notificationType,+    updateBudgetAction_subscribers,+    updateBudgetAction_accountId,+    updateBudgetAction_budgetName,+    updateBudgetAction_actionId,+    updateBudgetActionResponse_httpStatus,+    updateBudgetActionResponse_accountId,+    updateBudgetActionResponse_budgetName,+    updateBudgetActionResponse_oldAction,+    updateBudgetActionResponse_newAction,++    -- ** UpdateNotification+    updateNotification_accountId,+    updateNotification_budgetName,+    updateNotification_oldNotification,+    updateNotification_newNotification,+    updateNotificationResponse_httpStatus,++    -- ** UpdateSubscriber+    updateSubscriber_accountId,+    updateSubscriber_budgetName,+    updateSubscriber_notification,+    updateSubscriber_oldSubscriber,+    updateSubscriber_newSubscriber,+    updateSubscriberResponse_httpStatus,++    -- * Types++    -- ** Action+    action_actionId,+    action_budgetName,+    action_notificationType,+    action_actionType,+    action_actionThreshold,+    action_definition,+    action_executionRoleArn,+    action_approvalModel,+    action_status,+    action_subscribers,++    -- ** ActionHistory+    actionHistory_timestamp,+    actionHistory_status,+    actionHistory_eventType,+    actionHistory_actionHistoryDetails,++    -- ** ActionHistoryDetails+    actionHistoryDetails_message,+    actionHistoryDetails_action,++    -- ** ActionThreshold+    actionThreshold_actionThresholdValue,+    actionThreshold_actionThresholdType,++    -- ** AutoAdjustData+    autoAdjustData_historicalOptions,+    autoAdjustData_lastAutoAdjustTime,+    autoAdjustData_autoAdjustType,++    -- ** Budget+    budget_autoAdjustData,+    budget_budgetLimit,+    budget_calculatedSpend,+    budget_costFilters,+    budget_costTypes,+    budget_lastUpdatedTime,+    budget_plannedBudgetLimits,+    budget_timePeriod,+    budget_budgetName,+    budget_timeUnit,+    budget_budgetType,++    -- ** BudgetNotificationsForAccount+    budgetNotificationsForAccount_budgetName,+    budgetNotificationsForAccount_notifications,++    -- ** BudgetPerformanceHistory+    budgetPerformanceHistory_budgetName,+    budgetPerformanceHistory_budgetType,+    budgetPerformanceHistory_budgetedAndActualAmountsList,+    budgetPerformanceHistory_costFilters,+    budgetPerformanceHistory_costTypes,+    budgetPerformanceHistory_timeUnit,++    -- ** BudgetedAndActualAmounts+    budgetedAndActualAmounts_actualAmount,+    budgetedAndActualAmounts_budgetedAmount,+    budgetedAndActualAmounts_timePeriod,++    -- ** CalculatedSpend+    calculatedSpend_forecastedSpend,+    calculatedSpend_actualSpend,++    -- ** CostTypes+    costTypes_includeCredit,+    costTypes_includeDiscount,+    costTypes_includeOtherSubscription,+    costTypes_includeRecurring,+    costTypes_includeRefund,+    costTypes_includeSubscription,+    costTypes_includeSupport,+    costTypes_includeTax,+    costTypes_includeUpfront,+    costTypes_useAmortized,+    costTypes_useBlended,++    -- ** Definition+    definition_iamActionDefinition,+    definition_scpActionDefinition,+    definition_ssmActionDefinition,++    -- ** HistoricalOptions+    historicalOptions_lookBackAvailablePeriods,+    historicalOptions_budgetAdjustmentPeriod,++    -- ** IamActionDefinition+    iamActionDefinition_groups,+    iamActionDefinition_roles,+    iamActionDefinition_users,+    iamActionDefinition_policyArn,++    -- ** Notification+    notification_notificationState,+    notification_thresholdType,+    notification_notificationType,+    notification_comparisonOperator,+    notification_threshold,++    -- ** NotificationWithSubscribers+    notificationWithSubscribers_notification,+    notificationWithSubscribers_subscribers,++    -- ** ScpActionDefinition+    scpActionDefinition_policyId,+    scpActionDefinition_targetIds,++    -- ** Spend+    spend_amount,+    spend_unit,++    -- ** SsmActionDefinition+    ssmActionDefinition_actionSubType,+    ssmActionDefinition_region,+    ssmActionDefinition_instanceIds,++    -- ** Subscriber+    subscriber_subscriptionType,+    subscriber_address,++    -- ** TimePeriod+    timePeriod_end,+    timePeriod_start,+  )+where++import Amazonka.Budgets.CreateBudget+import Amazonka.Budgets.CreateBudgetAction+import Amazonka.Budgets.CreateNotification+import Amazonka.Budgets.CreateSubscriber+import Amazonka.Budgets.DeleteBudget+import Amazonka.Budgets.DeleteBudgetAction+import Amazonka.Budgets.DeleteNotification+import Amazonka.Budgets.DeleteSubscriber+import Amazonka.Budgets.DescribeBudget+import Amazonka.Budgets.DescribeBudgetAction+import Amazonka.Budgets.DescribeBudgetActionHistories+import Amazonka.Budgets.DescribeBudgetActionsForAccount+import Amazonka.Budgets.DescribeBudgetActionsForBudget+import Amazonka.Budgets.DescribeBudgetNotificationsForAccount+import Amazonka.Budgets.DescribeBudgetPerformanceHistory+import Amazonka.Budgets.DescribeBudgets+import Amazonka.Budgets.DescribeNotificationsForBudget+import Amazonka.Budgets.DescribeSubscribersForNotification+import Amazonka.Budgets.ExecuteBudgetAction+import Amazonka.Budgets.Types.Action+import Amazonka.Budgets.Types.ActionHistory+import Amazonka.Budgets.Types.ActionHistoryDetails+import Amazonka.Budgets.Types.ActionThreshold+import Amazonka.Budgets.Types.AutoAdjustData+import Amazonka.Budgets.Types.Budget+import Amazonka.Budgets.Types.BudgetNotificationsForAccount+import Amazonka.Budgets.Types.BudgetPerformanceHistory+import Amazonka.Budgets.Types.BudgetedAndActualAmounts+import Amazonka.Budgets.Types.CalculatedSpend+import Amazonka.Budgets.Types.CostTypes+import Amazonka.Budgets.Types.Definition+import Amazonka.Budgets.Types.HistoricalOptions+import Amazonka.Budgets.Types.IamActionDefinition+import Amazonka.Budgets.Types.Notification+import Amazonka.Budgets.Types.NotificationWithSubscribers+import Amazonka.Budgets.Types.ScpActionDefinition+import Amazonka.Budgets.Types.Spend+import Amazonka.Budgets.Types.SsmActionDefinition+import Amazonka.Budgets.Types.Subscriber+import Amazonka.Budgets.Types.TimePeriod+import Amazonka.Budgets.UpdateBudget+import Amazonka.Budgets.UpdateBudgetAction+import Amazonka.Budgets.UpdateNotification+import Amazonka.Budgets.UpdateSubscriber
+ gen/Amazonka/Budgets/Types.hs view
@@ -0,0 +1,426 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _AccessDeniedException,+    _CreationLimitExceededException,+    _DuplicateRecordException,+    _ExpiredNextTokenException,+    _InternalErrorException,+    _InvalidNextTokenException,+    _InvalidParameterException,+    _NotFoundException,+    _ResourceLockedException,+    _ThrottlingException,++    -- * ActionStatus+    ActionStatus (..),++    -- * ActionSubType+    ActionSubType (..),++    -- * ActionType+    ActionType (..),++    -- * ApprovalModel+    ApprovalModel (..),++    -- * AutoAdjustType+    AutoAdjustType (..),++    -- * BudgetType+    BudgetType (..),++    -- * ComparisonOperator+    ComparisonOperator (..),++    -- * EventType+    EventType (..),++    -- * ExecutionType+    ExecutionType (..),++    -- * NotificationState+    NotificationState (..),++    -- * NotificationType+    NotificationType (..),++    -- * SubscriptionType+    SubscriptionType (..),++    -- * ThresholdType+    ThresholdType (..),++    -- * TimeUnit+    TimeUnit (..),++    -- * Action+    Action (..),+    newAction,+    action_actionId,+    action_budgetName,+    action_notificationType,+    action_actionType,+    action_actionThreshold,+    action_definition,+    action_executionRoleArn,+    action_approvalModel,+    action_status,+    action_subscribers,++    -- * ActionHistory+    ActionHistory (..),+    newActionHistory,+    actionHistory_timestamp,+    actionHistory_status,+    actionHistory_eventType,+    actionHistory_actionHistoryDetails,++    -- * ActionHistoryDetails+    ActionHistoryDetails (..),+    newActionHistoryDetails,+    actionHistoryDetails_message,+    actionHistoryDetails_action,++    -- * ActionThreshold+    ActionThreshold (..),+    newActionThreshold,+    actionThreshold_actionThresholdValue,+    actionThreshold_actionThresholdType,++    -- * AutoAdjustData+    AutoAdjustData (..),+    newAutoAdjustData,+    autoAdjustData_historicalOptions,+    autoAdjustData_lastAutoAdjustTime,+    autoAdjustData_autoAdjustType,++    -- * Budget+    Budget (..),+    newBudget,+    budget_autoAdjustData,+    budget_budgetLimit,+    budget_calculatedSpend,+    budget_costFilters,+    budget_costTypes,+    budget_lastUpdatedTime,+    budget_plannedBudgetLimits,+    budget_timePeriod,+    budget_budgetName,+    budget_timeUnit,+    budget_budgetType,++    -- * BudgetNotificationsForAccount+    BudgetNotificationsForAccount (..),+    newBudgetNotificationsForAccount,+    budgetNotificationsForAccount_budgetName,+    budgetNotificationsForAccount_notifications,++    -- * BudgetPerformanceHistory+    BudgetPerformanceHistory (..),+    newBudgetPerformanceHistory,+    budgetPerformanceHistory_budgetName,+    budgetPerformanceHistory_budgetType,+    budgetPerformanceHistory_budgetedAndActualAmountsList,+    budgetPerformanceHistory_costFilters,+    budgetPerformanceHistory_costTypes,+    budgetPerformanceHistory_timeUnit,++    -- * BudgetedAndActualAmounts+    BudgetedAndActualAmounts (..),+    newBudgetedAndActualAmounts,+    budgetedAndActualAmounts_actualAmount,+    budgetedAndActualAmounts_budgetedAmount,+    budgetedAndActualAmounts_timePeriod,++    -- * CalculatedSpend+    CalculatedSpend (..),+    newCalculatedSpend,+    calculatedSpend_forecastedSpend,+    calculatedSpend_actualSpend,++    -- * CostTypes+    CostTypes (..),+    newCostTypes,+    costTypes_includeCredit,+    costTypes_includeDiscount,+    costTypes_includeOtherSubscription,+    costTypes_includeRecurring,+    costTypes_includeRefund,+    costTypes_includeSubscription,+    costTypes_includeSupport,+    costTypes_includeTax,+    costTypes_includeUpfront,+    costTypes_useAmortized,+    costTypes_useBlended,++    -- * Definition+    Definition (..),+    newDefinition,+    definition_iamActionDefinition,+    definition_scpActionDefinition,+    definition_ssmActionDefinition,++    -- * HistoricalOptions+    HistoricalOptions (..),+    newHistoricalOptions,+    historicalOptions_lookBackAvailablePeriods,+    historicalOptions_budgetAdjustmentPeriod,++    -- * IamActionDefinition+    IamActionDefinition (..),+    newIamActionDefinition,+    iamActionDefinition_groups,+    iamActionDefinition_roles,+    iamActionDefinition_users,+    iamActionDefinition_policyArn,++    -- * Notification+    Notification (..),+    newNotification,+    notification_notificationState,+    notification_thresholdType,+    notification_notificationType,+    notification_comparisonOperator,+    notification_threshold,++    -- * NotificationWithSubscribers+    NotificationWithSubscribers (..),+    newNotificationWithSubscribers,+    notificationWithSubscribers_notification,+    notificationWithSubscribers_subscribers,++    -- * ScpActionDefinition+    ScpActionDefinition (..),+    newScpActionDefinition,+    scpActionDefinition_policyId,+    scpActionDefinition_targetIds,++    -- * Spend+    Spend (..),+    newSpend,+    spend_amount,+    spend_unit,++    -- * SsmActionDefinition+    SsmActionDefinition (..),+    newSsmActionDefinition,+    ssmActionDefinition_actionSubType,+    ssmActionDefinition_region,+    ssmActionDefinition_instanceIds,++    -- * Subscriber+    Subscriber (..),+    newSubscriber,+    subscriber_subscriptionType,+    subscriber_address,++    -- * TimePeriod+    TimePeriod (..),+    newTimePeriod,+    timePeriod_end,+    timePeriod_start,+  )+where++import Amazonka.Budgets.Types.Action+import Amazonka.Budgets.Types.ActionHistory+import Amazonka.Budgets.Types.ActionHistoryDetails+import Amazonka.Budgets.Types.ActionStatus+import Amazonka.Budgets.Types.ActionSubType+import Amazonka.Budgets.Types.ActionThreshold+import Amazonka.Budgets.Types.ActionType+import Amazonka.Budgets.Types.ApprovalModel+import Amazonka.Budgets.Types.AutoAdjustData+import Amazonka.Budgets.Types.AutoAdjustType+import Amazonka.Budgets.Types.Budget+import Amazonka.Budgets.Types.BudgetNotificationsForAccount+import Amazonka.Budgets.Types.BudgetPerformanceHistory+import Amazonka.Budgets.Types.BudgetType+import Amazonka.Budgets.Types.BudgetedAndActualAmounts+import Amazonka.Budgets.Types.CalculatedSpend+import Amazonka.Budgets.Types.ComparisonOperator+import Amazonka.Budgets.Types.CostTypes+import Amazonka.Budgets.Types.Definition+import Amazonka.Budgets.Types.EventType+import Amazonka.Budgets.Types.ExecutionType+import Amazonka.Budgets.Types.HistoricalOptions+import Amazonka.Budgets.Types.IamActionDefinition+import Amazonka.Budgets.Types.Notification+import Amazonka.Budgets.Types.NotificationState+import Amazonka.Budgets.Types.NotificationType+import Amazonka.Budgets.Types.NotificationWithSubscribers+import Amazonka.Budgets.Types.ScpActionDefinition+import Amazonka.Budgets.Types.Spend+import Amazonka.Budgets.Types.SsmActionDefinition+import Amazonka.Budgets.Types.Subscriber+import Amazonka.Budgets.Types.SubscriptionType+import Amazonka.Budgets.Types.ThresholdType+import Amazonka.Budgets.Types.TimePeriod+import Amazonka.Budgets.Types.TimeUnit+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2016-10-20@ of the Amazon Budgets SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "Budgets",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "budgets",+      Core.signingName = "budgets",+      Core.version = "2016-10-20",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseJSONError "Budgets",+      Core.retry = retry+    }+  where+    retry =+      Core.Exponential+        { Core.base = 5.0e-2,+          Core.growth = 2,+          Core.attempts = 5,+          Core.check = check+        }+    check e+      | Lens.has (Core.hasStatus 502) e =+          Prelude.Just "bad_gateway"+      | Lens.has (Core.hasStatus 504) e =+          Prelude.Just "gateway_timeout"+      | Lens.has (Core.hasStatus 500) e =+          Prelude.Just "general_server_error"+      | Lens.has (Core.hasStatus 509) e =+          Prelude.Just "limit_exceeded"+      | Lens.has+          ( Core.hasCode "RequestThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "request_throttled_exception"+      | Lens.has (Core.hasStatus 503) e =+          Prelude.Just "service_unavailable"+      | Lens.has+          ( Core.hasCode "ThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttled_exception"+      | Lens.has+          ( Core.hasCode "Throttling"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling"+      | Lens.has+          ( Core.hasCode "ThrottlingException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling_exception"+      | Lens.has+          ( Core.hasCode+              "ProvisionedThroughputExceededException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throughput_exceeded"+      | Lens.has (Core.hasStatus 429) e =+          Prelude.Just "too_many_requests"+      | Prelude.otherwise = Prelude.Nothing++-- | You are not authorized to use this operation with the given parameters.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+  Core._MatchServiceError+    defaultService+    "AccessDeniedException"++-- | You\'ve exceeded the notification or subscriber limit.+_CreationLimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_CreationLimitExceededException =+  Core._MatchServiceError+    defaultService+    "CreationLimitExceededException"++-- | The budget name already exists. Budget names must be unique within an+-- account.+_DuplicateRecordException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DuplicateRecordException =+  Core._MatchServiceError+    defaultService+    "DuplicateRecordException"++-- | The pagination token expired.+_ExpiredNextTokenException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ExpiredNextTokenException =+  Core._MatchServiceError+    defaultService+    "ExpiredNextTokenException"++-- | An error on the server occurred during the processing of your request.+-- Try again later.+_InternalErrorException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalErrorException =+  Core._MatchServiceError+    defaultService+    "InternalErrorException"++-- | The pagination token is invalid.+_InvalidNextTokenException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidNextTokenException =+  Core._MatchServiceError+    defaultService+    "InvalidNextTokenException"++-- | An error on the client occurred. Typically, the cause is an invalid+-- input value.+_InvalidParameterException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidParameterException =+  Core._MatchServiceError+    defaultService+    "InvalidParameterException"++-- | We can’t locate the resource that you specified.+_NotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_NotFoundException =+  Core._MatchServiceError+    defaultService+    "NotFoundException"++-- | The request was received and recognized by the server, but the server+-- rejected that particular method for the requested resource.+_ResourceLockedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceLockedException =+  Core._MatchServiceError+    defaultService+    "ResourceLockedException"++-- | The number of API requests has exceeded the maximum allowed API request+-- throttling limit for the account.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+  Core._MatchServiceError+    defaultService+    "ThrottlingException"
+ gen/Amazonka/Budgets/Types/Action.hs view
@@ -0,0 +1,223 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.Action+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.Action where++import Amazonka.Budgets.Types.ActionStatus+import Amazonka.Budgets.Types.ActionThreshold+import Amazonka.Budgets.Types.ActionType+import Amazonka.Budgets.Types.ApprovalModel+import Amazonka.Budgets.Types.Definition+import Amazonka.Budgets.Types.NotificationType+import Amazonka.Budgets.Types.Subscriber+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A budget action resource.+--+-- /See:/ 'newAction' smart constructor.+data Action = Action'+  { -- | A system-generated universally unique identifier (UUID) for the action.+    actionId :: Prelude.Text,+    budgetName :: Prelude.Text,+    notificationType :: NotificationType,+    -- | The type of action. This defines the type of tasks that can be carried+    -- out by this action. This field also determines the format for+    -- definition.+    actionType :: ActionType,+    -- | The trigger threshold of the action.+    actionThreshold :: ActionThreshold,+    -- | Where you specify all of the type-specific parameters.+    definition :: Definition,+    -- | The role passed for action execution and reversion. Roles and actions+    -- must be in the same account.+    executionRoleArn :: Prelude.Text,+    -- | This specifies if the action needs manual or automatic approval.+    approvalModel :: ApprovalModel,+    -- | The status of the action.+    status :: ActionStatus,+    subscribers :: Prelude.NonEmpty Subscriber+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Action' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actionId', 'action_actionId' - A system-generated universally unique identifier (UUID) for the action.+--+-- 'budgetName', 'action_budgetName' - Undocumented member.+--+-- 'notificationType', 'action_notificationType' - Undocumented member.+--+-- 'actionType', 'action_actionType' - The type of action. This defines the type of tasks that can be carried+-- out by this action. This field also determines the format for+-- definition.+--+-- 'actionThreshold', 'action_actionThreshold' - The trigger threshold of the action.+--+-- 'definition', 'action_definition' - Where you specify all of the type-specific parameters.+--+-- 'executionRoleArn', 'action_executionRoleArn' - The role passed for action execution and reversion. Roles and actions+-- must be in the same account.+--+-- 'approvalModel', 'action_approvalModel' - This specifies if the action needs manual or automatic approval.+--+-- 'status', 'action_status' - The status of the action.+--+-- 'subscribers', 'action_subscribers' - Undocumented member.+newAction ::+  -- | 'actionId'+  Prelude.Text ->+  -- | 'budgetName'+  Prelude.Text ->+  -- | 'notificationType'+  NotificationType ->+  -- | 'actionType'+  ActionType ->+  -- | 'actionThreshold'+  ActionThreshold ->+  -- | 'definition'+  Definition ->+  -- | 'executionRoleArn'+  Prelude.Text ->+  -- | 'approvalModel'+  ApprovalModel ->+  -- | 'status'+  ActionStatus ->+  -- | 'subscribers'+  Prelude.NonEmpty Subscriber ->+  Action+newAction+  pActionId_+  pBudgetName_+  pNotificationType_+  pActionType_+  pActionThreshold_+  pDefinition_+  pExecutionRoleArn_+  pApprovalModel_+  pStatus_+  pSubscribers_ =+    Action'+      { actionId = pActionId_,+        budgetName = pBudgetName_,+        notificationType = pNotificationType_,+        actionType = pActionType_,+        actionThreshold = pActionThreshold_,+        definition = pDefinition_,+        executionRoleArn = pExecutionRoleArn_,+        approvalModel = pApprovalModel_,+        status = pStatus_,+        subscribers = Lens.coerced Lens.# pSubscribers_+      }++-- | A system-generated universally unique identifier (UUID) for the action.+action_actionId :: Lens.Lens' Action Prelude.Text+action_actionId = Lens.lens (\Action' {actionId} -> actionId) (\s@Action' {} a -> s {actionId = a} :: Action)++-- | Undocumented member.+action_budgetName :: Lens.Lens' Action Prelude.Text+action_budgetName = Lens.lens (\Action' {budgetName} -> budgetName) (\s@Action' {} a -> s {budgetName = a} :: Action)++-- | Undocumented member.+action_notificationType :: Lens.Lens' Action NotificationType+action_notificationType = Lens.lens (\Action' {notificationType} -> notificationType) (\s@Action' {} a -> s {notificationType = a} :: Action)++-- | The type of action. This defines the type of tasks that can be carried+-- out by this action. This field also determines the format for+-- definition.+action_actionType :: Lens.Lens' Action ActionType+action_actionType = Lens.lens (\Action' {actionType} -> actionType) (\s@Action' {} a -> s {actionType = a} :: Action)++-- | The trigger threshold of the action.+action_actionThreshold :: Lens.Lens' Action ActionThreshold+action_actionThreshold = Lens.lens (\Action' {actionThreshold} -> actionThreshold) (\s@Action' {} a -> s {actionThreshold = a} :: Action)++-- | Where you specify all of the type-specific parameters.+action_definition :: Lens.Lens' Action Definition+action_definition = Lens.lens (\Action' {definition} -> definition) (\s@Action' {} a -> s {definition = a} :: Action)++-- | The role passed for action execution and reversion. Roles and actions+-- must be in the same account.+action_executionRoleArn :: Lens.Lens' Action Prelude.Text+action_executionRoleArn = Lens.lens (\Action' {executionRoleArn} -> executionRoleArn) (\s@Action' {} a -> s {executionRoleArn = a} :: Action)++-- | This specifies if the action needs manual or automatic approval.+action_approvalModel :: Lens.Lens' Action ApprovalModel+action_approvalModel = Lens.lens (\Action' {approvalModel} -> approvalModel) (\s@Action' {} a -> s {approvalModel = a} :: Action)++-- | The status of the action.+action_status :: Lens.Lens' Action ActionStatus+action_status = Lens.lens (\Action' {status} -> status) (\s@Action' {} a -> s {status = a} :: Action)++-- | Undocumented member.+action_subscribers :: Lens.Lens' Action (Prelude.NonEmpty Subscriber)+action_subscribers = Lens.lens (\Action' {subscribers} -> subscribers) (\s@Action' {} a -> s {subscribers = a} :: Action) Prelude.. Lens.coerced++instance Data.FromJSON Action where+  parseJSON =+    Data.withObject+      "Action"+      ( \x ->+          Action'+            Prelude.<$> (x Data..: "ActionId")+            Prelude.<*> (x Data..: "BudgetName")+            Prelude.<*> (x Data..: "NotificationType")+            Prelude.<*> (x Data..: "ActionType")+            Prelude.<*> (x Data..: "ActionThreshold")+            Prelude.<*> (x Data..: "Definition")+            Prelude.<*> (x Data..: "ExecutionRoleArn")+            Prelude.<*> (x Data..: "ApprovalModel")+            Prelude.<*> (x Data..: "Status")+            Prelude.<*> (x Data..: "Subscribers")+      )++instance Prelude.Hashable Action where+  hashWithSalt _salt Action' {..} =+    _salt+      `Prelude.hashWithSalt` actionId+      `Prelude.hashWithSalt` budgetName+      `Prelude.hashWithSalt` notificationType+      `Prelude.hashWithSalt` actionType+      `Prelude.hashWithSalt` actionThreshold+      `Prelude.hashWithSalt` definition+      `Prelude.hashWithSalt` executionRoleArn+      `Prelude.hashWithSalt` approvalModel+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` subscribers++instance Prelude.NFData Action where+  rnf Action' {..} =+    Prelude.rnf actionId+      `Prelude.seq` Prelude.rnf budgetName+      `Prelude.seq` Prelude.rnf notificationType+      `Prelude.seq` Prelude.rnf actionType+      `Prelude.seq` Prelude.rnf actionThreshold+      `Prelude.seq` Prelude.rnf definition+      `Prelude.seq` Prelude.rnf executionRoleArn+      `Prelude.seq` Prelude.rnf approvalModel+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf subscribers
+ gen/Amazonka/Budgets/Types/ActionHistory.hs view
@@ -0,0 +1,126 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.ActionHistory+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.ActionHistory where++import Amazonka.Budgets.Types.ActionHistoryDetails+import Amazonka.Budgets.Types.ActionStatus+import Amazonka.Budgets.Types.EventType+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The historical records for a budget action.+--+-- /See:/ 'newActionHistory' smart constructor.+data ActionHistory = ActionHistory'+  { timestamp :: Data.POSIX,+    -- | The status of action at the time of the event.+    status :: ActionStatus,+    -- | This distinguishes between whether the events are triggered by the user+    -- or are generated by the system.+    eventType :: EventType,+    -- | The description of the details for the event.+    actionHistoryDetails :: ActionHistoryDetails+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ActionHistory' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'timestamp', 'actionHistory_timestamp' - Undocumented member.+--+-- 'status', 'actionHistory_status' - The status of action at the time of the event.+--+-- 'eventType', 'actionHistory_eventType' - This distinguishes between whether the events are triggered by the user+-- or are generated by the system.+--+-- 'actionHistoryDetails', 'actionHistory_actionHistoryDetails' - The description of the details for the event.+newActionHistory ::+  -- | 'timestamp'+  Prelude.UTCTime ->+  -- | 'status'+  ActionStatus ->+  -- | 'eventType'+  EventType ->+  -- | 'actionHistoryDetails'+  ActionHistoryDetails ->+  ActionHistory+newActionHistory+  pTimestamp_+  pStatus_+  pEventType_+  pActionHistoryDetails_ =+    ActionHistory'+      { timestamp =+          Data._Time Lens.# pTimestamp_,+        status = pStatus_,+        eventType = pEventType_,+        actionHistoryDetails = pActionHistoryDetails_+      }++-- | Undocumented member.+actionHistory_timestamp :: Lens.Lens' ActionHistory Prelude.UTCTime+actionHistory_timestamp = Lens.lens (\ActionHistory' {timestamp} -> timestamp) (\s@ActionHistory' {} a -> s {timestamp = a} :: ActionHistory) Prelude.. Data._Time++-- | The status of action at the time of the event.+actionHistory_status :: Lens.Lens' ActionHistory ActionStatus+actionHistory_status = Lens.lens (\ActionHistory' {status} -> status) (\s@ActionHistory' {} a -> s {status = a} :: ActionHistory)++-- | This distinguishes between whether the events are triggered by the user+-- or are generated by the system.+actionHistory_eventType :: Lens.Lens' ActionHistory EventType+actionHistory_eventType = Lens.lens (\ActionHistory' {eventType} -> eventType) (\s@ActionHistory' {} a -> s {eventType = a} :: ActionHistory)++-- | The description of the details for the event.+actionHistory_actionHistoryDetails :: Lens.Lens' ActionHistory ActionHistoryDetails+actionHistory_actionHistoryDetails = Lens.lens (\ActionHistory' {actionHistoryDetails} -> actionHistoryDetails) (\s@ActionHistory' {} a -> s {actionHistoryDetails = a} :: ActionHistory)++instance Data.FromJSON ActionHistory where+  parseJSON =+    Data.withObject+      "ActionHistory"+      ( \x ->+          ActionHistory'+            Prelude.<$> (x Data..: "Timestamp")+            Prelude.<*> (x Data..: "Status")+            Prelude.<*> (x Data..: "EventType")+            Prelude.<*> (x Data..: "ActionHistoryDetails")+      )++instance Prelude.Hashable ActionHistory where+  hashWithSalt _salt ActionHistory' {..} =+    _salt+      `Prelude.hashWithSalt` timestamp+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` eventType+      `Prelude.hashWithSalt` actionHistoryDetails++instance Prelude.NFData ActionHistory where+  rnf ActionHistory' {..} =+    Prelude.rnf timestamp+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf eventType+      `Prelude.seq` Prelude.rnf actionHistoryDetails
+ gen/Amazonka/Budgets/Types/ActionHistoryDetails.hs view
@@ -0,0 +1,88 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.ActionHistoryDetails+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.ActionHistoryDetails where++import Amazonka.Budgets.Types.Action+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The description of the details for the event.+--+-- /See:/ 'newActionHistoryDetails' smart constructor.+data ActionHistoryDetails = ActionHistoryDetails'+  { message :: Prelude.Text,+    -- | The budget action resource.+    action :: Action+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ActionHistoryDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'message', 'actionHistoryDetails_message' - Undocumented member.+--+-- 'action', 'actionHistoryDetails_action' - The budget action resource.+newActionHistoryDetails ::+  -- | 'message'+  Prelude.Text ->+  -- | 'action'+  Action ->+  ActionHistoryDetails+newActionHistoryDetails pMessage_ pAction_ =+  ActionHistoryDetails'+    { message = pMessage_,+      action = pAction_+    }++-- | Undocumented member.+actionHistoryDetails_message :: Lens.Lens' ActionHistoryDetails Prelude.Text+actionHistoryDetails_message = Lens.lens (\ActionHistoryDetails' {message} -> message) (\s@ActionHistoryDetails' {} a -> s {message = a} :: ActionHistoryDetails)++-- | The budget action resource.+actionHistoryDetails_action :: Lens.Lens' ActionHistoryDetails Action+actionHistoryDetails_action = Lens.lens (\ActionHistoryDetails' {action} -> action) (\s@ActionHistoryDetails' {} a -> s {action = a} :: ActionHistoryDetails)++instance Data.FromJSON ActionHistoryDetails where+  parseJSON =+    Data.withObject+      "ActionHistoryDetails"+      ( \x ->+          ActionHistoryDetails'+            Prelude.<$> (x Data..: "Message")+            Prelude.<*> (x Data..: "Action")+      )++instance Prelude.Hashable ActionHistoryDetails where+  hashWithSalt _salt ActionHistoryDetails' {..} =+    _salt+      `Prelude.hashWithSalt` message+      `Prelude.hashWithSalt` action++instance Prelude.NFData ActionHistoryDetails where+  rnf ActionHistoryDetails' {..} =+    Prelude.rnf message+      `Prelude.seq` Prelude.rnf action
+ gen/Amazonka/Budgets/Types/ActionStatus.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.ActionStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.ActionStatus+  ( ActionStatus+      ( ..,+        ActionStatus_EXECUTION_FAILURE,+        ActionStatus_EXECUTION_IN_PROGRESS,+        ActionStatus_EXECUTION_SUCCESS,+        ActionStatus_PENDING,+        ActionStatus_RESET_FAILURE,+        ActionStatus_RESET_IN_PROGRESS,+        ActionStatus_REVERSE_FAILURE,+        ActionStatus_REVERSE_IN_PROGRESS,+        ActionStatus_REVERSE_SUCCESS,+        ActionStatus_STANDBY+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ActionStatus = ActionStatus'+  { fromActionStatus ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ActionStatus_EXECUTION_FAILURE :: ActionStatus+pattern ActionStatus_EXECUTION_FAILURE = ActionStatus' "EXECUTION_FAILURE"++pattern ActionStatus_EXECUTION_IN_PROGRESS :: ActionStatus+pattern ActionStatus_EXECUTION_IN_PROGRESS = ActionStatus' "EXECUTION_IN_PROGRESS"++pattern ActionStatus_EXECUTION_SUCCESS :: ActionStatus+pattern ActionStatus_EXECUTION_SUCCESS = ActionStatus' "EXECUTION_SUCCESS"++pattern ActionStatus_PENDING :: ActionStatus+pattern ActionStatus_PENDING = ActionStatus' "PENDING"++pattern ActionStatus_RESET_FAILURE :: ActionStatus+pattern ActionStatus_RESET_FAILURE = ActionStatus' "RESET_FAILURE"++pattern ActionStatus_RESET_IN_PROGRESS :: ActionStatus+pattern ActionStatus_RESET_IN_PROGRESS = ActionStatus' "RESET_IN_PROGRESS"++pattern ActionStatus_REVERSE_FAILURE :: ActionStatus+pattern ActionStatus_REVERSE_FAILURE = ActionStatus' "REVERSE_FAILURE"++pattern ActionStatus_REVERSE_IN_PROGRESS :: ActionStatus+pattern ActionStatus_REVERSE_IN_PROGRESS = ActionStatus' "REVERSE_IN_PROGRESS"++pattern ActionStatus_REVERSE_SUCCESS :: ActionStatus+pattern ActionStatus_REVERSE_SUCCESS = ActionStatus' "REVERSE_SUCCESS"++pattern ActionStatus_STANDBY :: ActionStatus+pattern ActionStatus_STANDBY = ActionStatus' "STANDBY"++{-# COMPLETE+  ActionStatus_EXECUTION_FAILURE,+  ActionStatus_EXECUTION_IN_PROGRESS,+  ActionStatus_EXECUTION_SUCCESS,+  ActionStatus_PENDING,+  ActionStatus_RESET_FAILURE,+  ActionStatus_RESET_IN_PROGRESS,+  ActionStatus_REVERSE_FAILURE,+  ActionStatus_REVERSE_IN_PROGRESS,+  ActionStatus_REVERSE_SUCCESS,+  ActionStatus_STANDBY,+  ActionStatus'+  #-}
+ gen/Amazonka/Budgets/Types/ActionSubType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.ActionSubType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.ActionSubType+  ( ActionSubType+      ( ..,+        ActionSubType_STOP_EC2_INSTANCES,+        ActionSubType_STOP_RDS_INSTANCES+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ActionSubType = ActionSubType'+  { fromActionSubType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ActionSubType_STOP_EC2_INSTANCES :: ActionSubType+pattern ActionSubType_STOP_EC2_INSTANCES = ActionSubType' "STOP_EC2_INSTANCES"++pattern ActionSubType_STOP_RDS_INSTANCES :: ActionSubType+pattern ActionSubType_STOP_RDS_INSTANCES = ActionSubType' "STOP_RDS_INSTANCES"++{-# COMPLETE+  ActionSubType_STOP_EC2_INSTANCES,+  ActionSubType_STOP_RDS_INSTANCES,+  ActionSubType'+  #-}
+ gen/Amazonka/Budgets/Types/ActionThreshold.hs view
@@ -0,0 +1,103 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.ActionThreshold+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.ActionThreshold where++import Amazonka.Budgets.Types.ThresholdType+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The trigger threshold of the action.+--+-- /See:/ 'newActionThreshold' smart constructor.+data ActionThreshold = ActionThreshold'+  { actionThresholdValue :: Prelude.Double,+    actionThresholdType :: ThresholdType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ActionThreshold' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actionThresholdValue', 'actionThreshold_actionThresholdValue' - Undocumented member.+--+-- 'actionThresholdType', 'actionThreshold_actionThresholdType' - Undocumented member.+newActionThreshold ::+  -- | 'actionThresholdValue'+  Prelude.Double ->+  -- | 'actionThresholdType'+  ThresholdType ->+  ActionThreshold+newActionThreshold+  pActionThresholdValue_+  pActionThresholdType_ =+    ActionThreshold'+      { actionThresholdValue =+          pActionThresholdValue_,+        actionThresholdType = pActionThresholdType_+      }++-- | Undocumented member.+actionThreshold_actionThresholdValue :: Lens.Lens' ActionThreshold Prelude.Double+actionThreshold_actionThresholdValue = Lens.lens (\ActionThreshold' {actionThresholdValue} -> actionThresholdValue) (\s@ActionThreshold' {} a -> s {actionThresholdValue = a} :: ActionThreshold)++-- | Undocumented member.+actionThreshold_actionThresholdType :: Lens.Lens' ActionThreshold ThresholdType+actionThreshold_actionThresholdType = Lens.lens (\ActionThreshold' {actionThresholdType} -> actionThresholdType) (\s@ActionThreshold' {} a -> s {actionThresholdType = a} :: ActionThreshold)++instance Data.FromJSON ActionThreshold where+  parseJSON =+    Data.withObject+      "ActionThreshold"+      ( \x ->+          ActionThreshold'+            Prelude.<$> (x Data..: "ActionThresholdValue")+            Prelude.<*> (x Data..: "ActionThresholdType")+      )++instance Prelude.Hashable ActionThreshold where+  hashWithSalt _salt ActionThreshold' {..} =+    _salt+      `Prelude.hashWithSalt` actionThresholdValue+      `Prelude.hashWithSalt` actionThresholdType++instance Prelude.NFData ActionThreshold where+  rnf ActionThreshold' {..} =+    Prelude.rnf actionThresholdValue+      `Prelude.seq` Prelude.rnf actionThresholdType++instance Data.ToJSON ActionThreshold where+  toJSON ActionThreshold' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "ActionThresholdValue"+                  Data..= actionThresholdValue+              ),+            Prelude.Just+              ("ActionThresholdType" Data..= actionThresholdType)+          ]+      )
+ gen/Amazonka/Budgets/Types/ActionType.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.ActionType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.ActionType+  ( ActionType+      ( ..,+        ActionType_APPLY_IAM_POLICY,+        ActionType_APPLY_SCP_POLICY,+        ActionType_RUN_SSM_DOCUMENTS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ActionType = ActionType'+  { fromActionType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ActionType_APPLY_IAM_POLICY :: ActionType+pattern ActionType_APPLY_IAM_POLICY = ActionType' "APPLY_IAM_POLICY"++pattern ActionType_APPLY_SCP_POLICY :: ActionType+pattern ActionType_APPLY_SCP_POLICY = ActionType' "APPLY_SCP_POLICY"++pattern ActionType_RUN_SSM_DOCUMENTS :: ActionType+pattern ActionType_RUN_SSM_DOCUMENTS = ActionType' "RUN_SSM_DOCUMENTS"++{-# COMPLETE+  ActionType_APPLY_IAM_POLICY,+  ActionType_APPLY_SCP_POLICY,+  ActionType_RUN_SSM_DOCUMENTS,+  ActionType'+  #-}
+ gen/Amazonka/Budgets/Types/ApprovalModel.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.ApprovalModel+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.ApprovalModel+  ( ApprovalModel+      ( ..,+        ApprovalModel_AUTOMATIC,+        ApprovalModel_MANUAL+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ApprovalModel = ApprovalModel'+  { fromApprovalModel ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ApprovalModel_AUTOMATIC :: ApprovalModel+pattern ApprovalModel_AUTOMATIC = ApprovalModel' "AUTOMATIC"++pattern ApprovalModel_MANUAL :: ApprovalModel+pattern ApprovalModel_MANUAL = ApprovalModel' "MANUAL"++{-# COMPLETE+  ApprovalModel_AUTOMATIC,+  ApprovalModel_MANUAL,+  ApprovalModel'+  #-}
+ gen/Amazonka/Budgets/Types/AutoAdjustData.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.AutoAdjustData+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.AutoAdjustData where++import Amazonka.Budgets.Types.AutoAdjustType+import Amazonka.Budgets.Types.HistoricalOptions+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The parameters that determine the budget amount for an auto-adjusting+-- budget.+--+-- /See:/ 'newAutoAdjustData' smart constructor.+data AutoAdjustData = AutoAdjustData'+  { -- | The parameters that define or describe the historical data that your+    -- auto-adjusting budget is based on.+    historicalOptions :: Prelude.Maybe HistoricalOptions,+    -- | The last time that your budget was auto-adjusted.+    lastAutoAdjustTime :: Prelude.Maybe Data.POSIX,+    -- | The string that defines whether your budget auto-adjusts based on+    -- historical or forecasted data.+    autoAdjustType :: AutoAdjustType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AutoAdjustData' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'historicalOptions', 'autoAdjustData_historicalOptions' - The parameters that define or describe the historical data that your+-- auto-adjusting budget is based on.+--+-- 'lastAutoAdjustTime', 'autoAdjustData_lastAutoAdjustTime' - The last time that your budget was auto-adjusted.+--+-- 'autoAdjustType', 'autoAdjustData_autoAdjustType' - The string that defines whether your budget auto-adjusts based on+-- historical or forecasted data.+newAutoAdjustData ::+  -- | 'autoAdjustType'+  AutoAdjustType ->+  AutoAdjustData+newAutoAdjustData pAutoAdjustType_ =+  AutoAdjustData'+    { historicalOptions =+        Prelude.Nothing,+      lastAutoAdjustTime = Prelude.Nothing,+      autoAdjustType = pAutoAdjustType_+    }++-- | The parameters that define or describe the historical data that your+-- auto-adjusting budget is based on.+autoAdjustData_historicalOptions :: Lens.Lens' AutoAdjustData (Prelude.Maybe HistoricalOptions)+autoAdjustData_historicalOptions = Lens.lens (\AutoAdjustData' {historicalOptions} -> historicalOptions) (\s@AutoAdjustData' {} a -> s {historicalOptions = a} :: AutoAdjustData)++-- | The last time that your budget was auto-adjusted.+autoAdjustData_lastAutoAdjustTime :: Lens.Lens' AutoAdjustData (Prelude.Maybe Prelude.UTCTime)+autoAdjustData_lastAutoAdjustTime = Lens.lens (\AutoAdjustData' {lastAutoAdjustTime} -> lastAutoAdjustTime) (\s@AutoAdjustData' {} a -> s {lastAutoAdjustTime = a} :: AutoAdjustData) Prelude.. Lens.mapping Data._Time++-- | The string that defines whether your budget auto-adjusts based on+-- historical or forecasted data.+autoAdjustData_autoAdjustType :: Lens.Lens' AutoAdjustData AutoAdjustType+autoAdjustData_autoAdjustType = Lens.lens (\AutoAdjustData' {autoAdjustType} -> autoAdjustType) (\s@AutoAdjustData' {} a -> s {autoAdjustType = a} :: AutoAdjustData)++instance Data.FromJSON AutoAdjustData where+  parseJSON =+    Data.withObject+      "AutoAdjustData"+      ( \x ->+          AutoAdjustData'+            Prelude.<$> (x Data..:? "HistoricalOptions")+            Prelude.<*> (x Data..:? "LastAutoAdjustTime")+            Prelude.<*> (x Data..: "AutoAdjustType")+      )++instance Prelude.Hashable AutoAdjustData where+  hashWithSalt _salt AutoAdjustData' {..} =+    _salt+      `Prelude.hashWithSalt` historicalOptions+      `Prelude.hashWithSalt` lastAutoAdjustTime+      `Prelude.hashWithSalt` autoAdjustType++instance Prelude.NFData AutoAdjustData where+  rnf AutoAdjustData' {..} =+    Prelude.rnf historicalOptions+      `Prelude.seq` Prelude.rnf lastAutoAdjustTime+      `Prelude.seq` Prelude.rnf autoAdjustType++instance Data.ToJSON AutoAdjustData where+  toJSON AutoAdjustData' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("HistoricalOptions" Data..=)+              Prelude.<$> historicalOptions,+            ("LastAutoAdjustTime" Data..=)+              Prelude.<$> lastAutoAdjustTime,+            Prelude.Just+              ("AutoAdjustType" Data..= autoAdjustType)+          ]+      )
+ gen/Amazonka/Budgets/Types/AutoAdjustType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.AutoAdjustType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.AutoAdjustType+  ( AutoAdjustType+      ( ..,+        AutoAdjustType_FORECAST,+        AutoAdjustType_HISTORICAL+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AutoAdjustType = AutoAdjustType'+  { fromAutoAdjustType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern AutoAdjustType_FORECAST :: AutoAdjustType+pattern AutoAdjustType_FORECAST = AutoAdjustType' "FORECAST"++pattern AutoAdjustType_HISTORICAL :: AutoAdjustType+pattern AutoAdjustType_HISTORICAL = AutoAdjustType' "HISTORICAL"++{-# COMPLETE+  AutoAdjustType_FORECAST,+  AutoAdjustType_HISTORICAL,+  AutoAdjustType'+  #-}
+ gen/Amazonka/Budgets/Types/Budget.hs view
@@ -0,0 +1,473 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.Budget+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.Budget where++import Amazonka.Budgets.Types.AutoAdjustData+import Amazonka.Budgets.Types.BudgetType+import Amazonka.Budgets.Types.CalculatedSpend+import Amazonka.Budgets.Types.CostTypes+import Amazonka.Budgets.Types.Spend+import Amazonka.Budgets.Types.TimePeriod+import Amazonka.Budgets.Types.TimeUnit+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Represents the output of the @CreateBudget@ operation. The content+-- consists of the detailed metadata and data file information, and the+-- current status of the @budget@ object.+--+-- This is the Amazon Resource Name (ARN) pattern for a budget:+--+-- @arn:aws:budgets::AccountId:budget\/budgetName@+--+-- /See:/ 'newBudget' smart constructor.+data Budget = Budget'+  { -- | The parameters that determine the budget amount for an auto-adjusting+    -- budget.+    autoAdjustData :: Prelude.Maybe AutoAdjustData,+    -- | The total amount of cost, usage, RI utilization, RI coverage, Savings+    -- Plans utilization, or Savings Plans coverage that you want to track with+    -- your budget.+    --+    -- @BudgetLimit@ is required for cost or usage budgets, but optional for RI+    -- or Savings Plans utilization or coverage budgets. RI and Savings Plans+    -- utilization or coverage budgets default to @100@. This is the only valid+    -- value for RI or Savings Plans utilization or coverage budgets. You+    -- can\'t use @BudgetLimit@ with @PlannedBudgetLimits@ for @CreateBudget@+    -- and @UpdateBudget@ actions.+    budgetLimit :: Prelude.Maybe Spend,+    -- | The actual and forecasted cost or usage that the budget tracks.+    calculatedSpend :: Prelude.Maybe CalculatedSpend,+    -- | The cost filters, such as @Region@, @Service@, @member account@, @Tag@,+    -- or @Cost Category@, that are applied to a budget.+    --+    -- Amazon Web Services Budgets supports the following services as a+    -- @Service@ filter for RI budgets:+    --+    -- -   Amazon EC2+    --+    -- -   Amazon Redshift+    --+    -- -   Amazon Relational Database Service+    --+    -- -   Amazon ElastiCache+    --+    -- -   Amazon OpenSearch Service+    costFilters :: Prelude.Maybe (Prelude.HashMap Prelude.Text [Prelude.Text]),+    -- | The types of costs that are included in this @COST@ budget.+    --+    -- @USAGE@, @RI_UTILIZATION@, @RI_COVERAGE@, @SAVINGS_PLANS_UTILIZATION@,+    -- and @SAVINGS_PLANS_COVERAGE@ budgets do not have @CostTypes@.+    costTypes :: Prelude.Maybe CostTypes,+    -- | The last time that you updated this budget.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | A map containing multiple @BudgetLimit@, including current or future+    -- limits.+    --+    -- @PlannedBudgetLimits@ is available for cost or usage budget and supports+    -- both monthly and quarterly @TimeUnit@.+    --+    -- For monthly budgets, provide 12 months of @PlannedBudgetLimits@ values.+    -- This must start from the current month and include the next 11 months.+    -- The @key@ is the start of the month, @UTC@ in epoch seconds.+    --+    -- For quarterly budgets, provide four quarters of @PlannedBudgetLimits@+    -- value entries in standard calendar quarter increments. This must start+    -- from the current quarter and include the next three quarters. The @key@+    -- is the start of the quarter, @UTC@ in epoch seconds.+    --+    -- If the planned budget expires before 12 months for monthly or four+    -- quarters for quarterly, provide the @PlannedBudgetLimits@ values only+    -- for the remaining periods.+    --+    -- If the budget begins at a date in the future, provide+    -- @PlannedBudgetLimits@ values from the start date of the budget.+    --+    -- After all of the @BudgetLimit@ values in @PlannedBudgetLimits@ are used,+    -- the budget continues to use the last limit as the @BudgetLimit@. At that+    -- point, the planned budget provides the same experience as a fixed+    -- budget.+    --+    -- @DescribeBudget@ and @DescribeBudgets@ response along with+    -- @PlannedBudgetLimits@ also contain @BudgetLimit@ representing the+    -- current month or quarter limit present in @PlannedBudgetLimits@. This+    -- only applies to budgets that are created with @PlannedBudgetLimits@.+    -- Budgets that are created without @PlannedBudgetLimits@ only contain+    -- @BudgetLimit@. They don\'t contain @PlannedBudgetLimits@.+    plannedBudgetLimits :: Prelude.Maybe (Prelude.HashMap Prelude.Text Spend),+    -- | The period of time that\'s covered by a budget. You setthe start date+    -- and end date. The start date must come before the end date. The end date+    -- must come before @06\/15\/87 00:00 UTC@.+    --+    -- If you create your budget and don\'t specify a start date, Amazon Web+    -- Services defaults to the start of your chosen time period (DAILY,+    -- MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your+    -- budget on January 24, 2018, chose @DAILY@, and didn\'t set a start date,+    -- Amazon Web Services set your start date to @01\/24\/18 00:00 UTC@. If+    -- you chose @MONTHLY@, Amazon Web Services set your start date to+    -- @01\/01\/18 00:00 UTC@. If you didn\'t specify an end date, Amazon Web+    -- Services set your end date to @06\/15\/87 00:00 UTC@. The defaults are+    -- the same for the Billing and Cost Management console and the API.+    --+    -- You can change either date with the @UpdateBudget@ operation.+    --+    -- After the end date, Amazon Web Services deletes the budget and all the+    -- associated notifications and subscribers.+    timePeriod :: Prelude.Maybe TimePeriod,+    -- | The name of a budget. The name must be unique within an account. The @:@+    -- and @\\@ characters aren\'t allowed in @BudgetName@.+    budgetName :: Prelude.Text,+    -- | The length of time until a budget resets the actual and forecasted+    -- spend.+    timeUnit :: TimeUnit,+    -- | Specifies whether this budget tracks costs, usage, RI utilization, RI+    -- coverage, Savings Plans utilization, or Savings Plans coverage.+    budgetType :: BudgetType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Budget' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'autoAdjustData', 'budget_autoAdjustData' - The parameters that determine the budget amount for an auto-adjusting+-- budget.+--+-- 'budgetLimit', 'budget_budgetLimit' - The total amount of cost, usage, RI utilization, RI coverage, Savings+-- Plans utilization, or Savings Plans coverage that you want to track with+-- your budget.+--+-- @BudgetLimit@ is required for cost or usage budgets, but optional for RI+-- or Savings Plans utilization or coverage budgets. RI and Savings Plans+-- utilization or coverage budgets default to @100@. This is the only valid+-- value for RI or Savings Plans utilization or coverage budgets. You+-- can\'t use @BudgetLimit@ with @PlannedBudgetLimits@ for @CreateBudget@+-- and @UpdateBudget@ actions.+--+-- 'calculatedSpend', 'budget_calculatedSpend' - The actual and forecasted cost or usage that the budget tracks.+--+-- 'costFilters', 'budget_costFilters' - The cost filters, such as @Region@, @Service@, @member account@, @Tag@,+-- or @Cost Category@, that are applied to a budget.+--+-- Amazon Web Services Budgets supports the following services as a+-- @Service@ filter for RI budgets:+--+-- -   Amazon EC2+--+-- -   Amazon Redshift+--+-- -   Amazon Relational Database Service+--+-- -   Amazon ElastiCache+--+-- -   Amazon OpenSearch Service+--+-- 'costTypes', 'budget_costTypes' - The types of costs that are included in this @COST@ budget.+--+-- @USAGE@, @RI_UTILIZATION@, @RI_COVERAGE@, @SAVINGS_PLANS_UTILIZATION@,+-- and @SAVINGS_PLANS_COVERAGE@ budgets do not have @CostTypes@.+--+-- 'lastUpdatedTime', 'budget_lastUpdatedTime' - The last time that you updated this budget.+--+-- 'plannedBudgetLimits', 'budget_plannedBudgetLimits' - A map containing multiple @BudgetLimit@, including current or future+-- limits.+--+-- @PlannedBudgetLimits@ is available for cost or usage budget and supports+-- both monthly and quarterly @TimeUnit@.+--+-- For monthly budgets, provide 12 months of @PlannedBudgetLimits@ values.+-- This must start from the current month and include the next 11 months.+-- The @key@ is the start of the month, @UTC@ in epoch seconds.+--+-- For quarterly budgets, provide four quarters of @PlannedBudgetLimits@+-- value entries in standard calendar quarter increments. This must start+-- from the current quarter and include the next three quarters. The @key@+-- is the start of the quarter, @UTC@ in epoch seconds.+--+-- If the planned budget expires before 12 months for monthly or four+-- quarters for quarterly, provide the @PlannedBudgetLimits@ values only+-- for the remaining periods.+--+-- If the budget begins at a date in the future, provide+-- @PlannedBudgetLimits@ values from the start date of the budget.+--+-- After all of the @BudgetLimit@ values in @PlannedBudgetLimits@ are used,+-- the budget continues to use the last limit as the @BudgetLimit@. At that+-- point, the planned budget provides the same experience as a fixed+-- budget.+--+-- @DescribeBudget@ and @DescribeBudgets@ response along with+-- @PlannedBudgetLimits@ also contain @BudgetLimit@ representing the+-- current month or quarter limit present in @PlannedBudgetLimits@. This+-- only applies to budgets that are created with @PlannedBudgetLimits@.+-- Budgets that are created without @PlannedBudgetLimits@ only contain+-- @BudgetLimit@. They don\'t contain @PlannedBudgetLimits@.+--+-- 'timePeriod', 'budget_timePeriod' - The period of time that\'s covered by a budget. You setthe start date+-- and end date. The start date must come before the end date. The end date+-- must come before @06\/15\/87 00:00 UTC@.+--+-- If you create your budget and don\'t specify a start date, Amazon Web+-- Services defaults to the start of your chosen time period (DAILY,+-- MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your+-- budget on January 24, 2018, chose @DAILY@, and didn\'t set a start date,+-- Amazon Web Services set your start date to @01\/24\/18 00:00 UTC@. If+-- you chose @MONTHLY@, Amazon Web Services set your start date to+-- @01\/01\/18 00:00 UTC@. If you didn\'t specify an end date, Amazon Web+-- Services set your end date to @06\/15\/87 00:00 UTC@. The defaults are+-- the same for the Billing and Cost Management console and the API.+--+-- You can change either date with the @UpdateBudget@ operation.+--+-- After the end date, Amazon Web Services deletes the budget and all the+-- associated notifications and subscribers.+--+-- 'budgetName', 'budget_budgetName' - The name of a budget. The name must be unique within an account. The @:@+-- and @\\@ characters aren\'t allowed in @BudgetName@.+--+-- 'timeUnit', 'budget_timeUnit' - The length of time until a budget resets the actual and forecasted+-- spend.+--+-- 'budgetType', 'budget_budgetType' - Specifies whether this budget tracks costs, usage, RI utilization, RI+-- coverage, Savings Plans utilization, or Savings Plans coverage.+newBudget ::+  -- | 'budgetName'+  Prelude.Text ->+  -- | 'timeUnit'+  TimeUnit ->+  -- | 'budgetType'+  BudgetType ->+  Budget+newBudget pBudgetName_ pTimeUnit_ pBudgetType_ =+  Budget'+    { autoAdjustData = Prelude.Nothing,+      budgetLimit = Prelude.Nothing,+      calculatedSpend = Prelude.Nothing,+      costFilters = Prelude.Nothing,+      costTypes = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      plannedBudgetLimits = Prelude.Nothing,+      timePeriod = Prelude.Nothing,+      budgetName = pBudgetName_,+      timeUnit = pTimeUnit_,+      budgetType = pBudgetType_+    }++-- | The parameters that determine the budget amount for an auto-adjusting+-- budget.+budget_autoAdjustData :: Lens.Lens' Budget (Prelude.Maybe AutoAdjustData)+budget_autoAdjustData = Lens.lens (\Budget' {autoAdjustData} -> autoAdjustData) (\s@Budget' {} a -> s {autoAdjustData = a} :: Budget)++-- | The total amount of cost, usage, RI utilization, RI coverage, Savings+-- Plans utilization, or Savings Plans coverage that you want to track with+-- your budget.+--+-- @BudgetLimit@ is required for cost or usage budgets, but optional for RI+-- or Savings Plans utilization or coverage budgets. RI and Savings Plans+-- utilization or coverage budgets default to @100@. This is the only valid+-- value for RI or Savings Plans utilization or coverage budgets. You+-- can\'t use @BudgetLimit@ with @PlannedBudgetLimits@ for @CreateBudget@+-- and @UpdateBudget@ actions.+budget_budgetLimit :: Lens.Lens' Budget (Prelude.Maybe Spend)+budget_budgetLimit = Lens.lens (\Budget' {budgetLimit} -> budgetLimit) (\s@Budget' {} a -> s {budgetLimit = a} :: Budget)++-- | The actual and forecasted cost or usage that the budget tracks.+budget_calculatedSpend :: Lens.Lens' Budget (Prelude.Maybe CalculatedSpend)+budget_calculatedSpend = Lens.lens (\Budget' {calculatedSpend} -> calculatedSpend) (\s@Budget' {} a -> s {calculatedSpend = a} :: Budget)++-- | The cost filters, such as @Region@, @Service@, @member account@, @Tag@,+-- or @Cost Category@, that are applied to a budget.+--+-- Amazon Web Services Budgets supports the following services as a+-- @Service@ filter for RI budgets:+--+-- -   Amazon EC2+--+-- -   Amazon Redshift+--+-- -   Amazon Relational Database Service+--+-- -   Amazon ElastiCache+--+-- -   Amazon OpenSearch Service+budget_costFilters :: Lens.Lens' Budget (Prelude.Maybe (Prelude.HashMap Prelude.Text [Prelude.Text]))+budget_costFilters = Lens.lens (\Budget' {costFilters} -> costFilters) (\s@Budget' {} a -> s {costFilters = a} :: Budget) Prelude.. Lens.mapping Lens.coerced++-- | The types of costs that are included in this @COST@ budget.+--+-- @USAGE@, @RI_UTILIZATION@, @RI_COVERAGE@, @SAVINGS_PLANS_UTILIZATION@,+-- and @SAVINGS_PLANS_COVERAGE@ budgets do not have @CostTypes@.+budget_costTypes :: Lens.Lens' Budget (Prelude.Maybe CostTypes)+budget_costTypes = Lens.lens (\Budget' {costTypes} -> costTypes) (\s@Budget' {} a -> s {costTypes = a} :: Budget)++-- | The last time that you updated this budget.+budget_lastUpdatedTime :: Lens.Lens' Budget (Prelude.Maybe Prelude.UTCTime)+budget_lastUpdatedTime = Lens.lens (\Budget' {lastUpdatedTime} -> lastUpdatedTime) (\s@Budget' {} a -> s {lastUpdatedTime = a} :: Budget) Prelude.. Lens.mapping Data._Time++-- | A map containing multiple @BudgetLimit@, including current or future+-- limits.+--+-- @PlannedBudgetLimits@ is available for cost or usage budget and supports+-- both monthly and quarterly @TimeUnit@.+--+-- For monthly budgets, provide 12 months of @PlannedBudgetLimits@ values.+-- This must start from the current month and include the next 11 months.+-- The @key@ is the start of the month, @UTC@ in epoch seconds.+--+-- For quarterly budgets, provide four quarters of @PlannedBudgetLimits@+-- value entries in standard calendar quarter increments. This must start+-- from the current quarter and include the next three quarters. The @key@+-- is the start of the quarter, @UTC@ in epoch seconds.+--+-- If the planned budget expires before 12 months for monthly or four+-- quarters for quarterly, provide the @PlannedBudgetLimits@ values only+-- for the remaining periods.+--+-- If the budget begins at a date in the future, provide+-- @PlannedBudgetLimits@ values from the start date of the budget.+--+-- After all of the @BudgetLimit@ values in @PlannedBudgetLimits@ are used,+-- the budget continues to use the last limit as the @BudgetLimit@. At that+-- point, the planned budget provides the same experience as a fixed+-- budget.+--+-- @DescribeBudget@ and @DescribeBudgets@ response along with+-- @PlannedBudgetLimits@ also contain @BudgetLimit@ representing the+-- current month or quarter limit present in @PlannedBudgetLimits@. This+-- only applies to budgets that are created with @PlannedBudgetLimits@.+-- Budgets that are created without @PlannedBudgetLimits@ only contain+-- @BudgetLimit@. They don\'t contain @PlannedBudgetLimits@.+budget_plannedBudgetLimits :: Lens.Lens' Budget (Prelude.Maybe (Prelude.HashMap Prelude.Text Spend))+budget_plannedBudgetLimits = Lens.lens (\Budget' {plannedBudgetLimits} -> plannedBudgetLimits) (\s@Budget' {} a -> s {plannedBudgetLimits = a} :: Budget) Prelude.. Lens.mapping Lens.coerced++-- | The period of time that\'s covered by a budget. You setthe start date+-- and end date. The start date must come before the end date. The end date+-- must come before @06\/15\/87 00:00 UTC@.+--+-- If you create your budget and don\'t specify a start date, Amazon Web+-- Services defaults to the start of your chosen time period (DAILY,+-- MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your+-- budget on January 24, 2018, chose @DAILY@, and didn\'t set a start date,+-- Amazon Web Services set your start date to @01\/24\/18 00:00 UTC@. If+-- you chose @MONTHLY@, Amazon Web Services set your start date to+-- @01\/01\/18 00:00 UTC@. If you didn\'t specify an end date, Amazon Web+-- Services set your end date to @06\/15\/87 00:00 UTC@. The defaults are+-- the same for the Billing and Cost Management console and the API.+--+-- You can change either date with the @UpdateBudget@ operation.+--+-- After the end date, Amazon Web Services deletes the budget and all the+-- associated notifications and subscribers.+budget_timePeriod :: Lens.Lens' Budget (Prelude.Maybe TimePeriod)+budget_timePeriod = Lens.lens (\Budget' {timePeriod} -> timePeriod) (\s@Budget' {} a -> s {timePeriod = a} :: Budget)++-- | The name of a budget. The name must be unique within an account. The @:@+-- and @\\@ characters aren\'t allowed in @BudgetName@.+budget_budgetName :: Lens.Lens' Budget Prelude.Text+budget_budgetName = Lens.lens (\Budget' {budgetName} -> budgetName) (\s@Budget' {} a -> s {budgetName = a} :: Budget)++-- | The length of time until a budget resets the actual and forecasted+-- spend.+budget_timeUnit :: Lens.Lens' Budget TimeUnit+budget_timeUnit = Lens.lens (\Budget' {timeUnit} -> timeUnit) (\s@Budget' {} a -> s {timeUnit = a} :: Budget)++-- | Specifies whether this budget tracks costs, usage, RI utilization, RI+-- coverage, Savings Plans utilization, or Savings Plans coverage.+budget_budgetType :: Lens.Lens' Budget BudgetType+budget_budgetType = Lens.lens (\Budget' {budgetType} -> budgetType) (\s@Budget' {} a -> s {budgetType = a} :: Budget)++instance Data.FromJSON Budget where+  parseJSON =+    Data.withObject+      "Budget"+      ( \x ->+          Budget'+            Prelude.<$> (x Data..:? "AutoAdjustData")+            Prelude.<*> (x Data..:? "BudgetLimit")+            Prelude.<*> (x Data..:? "CalculatedSpend")+            Prelude.<*> (x Data..:? "CostFilters" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "CostTypes")+            Prelude.<*> (x Data..:? "LastUpdatedTime")+            Prelude.<*> ( x+                            Data..:? "PlannedBudgetLimits"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "TimePeriod")+            Prelude.<*> (x Data..: "BudgetName")+            Prelude.<*> (x Data..: "TimeUnit")+            Prelude.<*> (x Data..: "BudgetType")+      )++instance Prelude.Hashable Budget where+  hashWithSalt _salt Budget' {..} =+    _salt+      `Prelude.hashWithSalt` autoAdjustData+      `Prelude.hashWithSalt` budgetLimit+      `Prelude.hashWithSalt` calculatedSpend+      `Prelude.hashWithSalt` costFilters+      `Prelude.hashWithSalt` costTypes+      `Prelude.hashWithSalt` lastUpdatedTime+      `Prelude.hashWithSalt` plannedBudgetLimits+      `Prelude.hashWithSalt` timePeriod+      `Prelude.hashWithSalt` budgetName+      `Prelude.hashWithSalt` timeUnit+      `Prelude.hashWithSalt` budgetType++instance Prelude.NFData Budget where+  rnf Budget' {..} =+    Prelude.rnf autoAdjustData+      `Prelude.seq` Prelude.rnf budgetLimit+      `Prelude.seq` Prelude.rnf calculatedSpend+      `Prelude.seq` Prelude.rnf costFilters+      `Prelude.seq` Prelude.rnf costTypes+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf plannedBudgetLimits+      `Prelude.seq` Prelude.rnf timePeriod+      `Prelude.seq` Prelude.rnf budgetName+      `Prelude.seq` Prelude.rnf timeUnit+      `Prelude.seq` Prelude.rnf budgetType++instance Data.ToJSON Budget where+  toJSON Budget' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AutoAdjustData" Data..=)+              Prelude.<$> autoAdjustData,+            ("BudgetLimit" Data..=) Prelude.<$> budgetLimit,+            ("CalculatedSpend" Data..=)+              Prelude.<$> calculatedSpend,+            ("CostFilters" Data..=) Prelude.<$> costFilters,+            ("CostTypes" Data..=) Prelude.<$> costTypes,+            ("LastUpdatedTime" Data..=)+              Prelude.<$> lastUpdatedTime,+            ("PlannedBudgetLimits" Data..=)+              Prelude.<$> plannedBudgetLimits,+            ("TimePeriod" Data..=) Prelude.<$> timePeriod,+            Prelude.Just ("BudgetName" Data..= budgetName),+            Prelude.Just ("TimeUnit" Data..= timeUnit),+            Prelude.Just ("BudgetType" Data..= budgetType)+          ]+      )
+ gen/Amazonka/Budgets/Types/BudgetNotificationsForAccount.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.BudgetNotificationsForAccount+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.BudgetNotificationsForAccount where++import Amazonka.Budgets.Types.Notification+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The budget name and associated notifications for an account.+--+-- /See:/ 'newBudgetNotificationsForAccount' smart constructor.+data BudgetNotificationsForAccount = BudgetNotificationsForAccount'+  { budgetName :: Prelude.Maybe Prelude.Text,+    notifications :: Prelude.Maybe [Notification]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BudgetNotificationsForAccount' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'budgetName', 'budgetNotificationsForAccount_budgetName' - Undocumented member.+--+-- 'notifications', 'budgetNotificationsForAccount_notifications' - Undocumented member.+newBudgetNotificationsForAccount ::+  BudgetNotificationsForAccount+newBudgetNotificationsForAccount =+  BudgetNotificationsForAccount'+    { budgetName =+        Prelude.Nothing,+      notifications = Prelude.Nothing+    }++-- | Undocumented member.+budgetNotificationsForAccount_budgetName :: Lens.Lens' BudgetNotificationsForAccount (Prelude.Maybe Prelude.Text)+budgetNotificationsForAccount_budgetName = Lens.lens (\BudgetNotificationsForAccount' {budgetName} -> budgetName) (\s@BudgetNotificationsForAccount' {} a -> s {budgetName = a} :: BudgetNotificationsForAccount)++-- | Undocumented member.+budgetNotificationsForAccount_notifications :: Lens.Lens' BudgetNotificationsForAccount (Prelude.Maybe [Notification])+budgetNotificationsForAccount_notifications = Lens.lens (\BudgetNotificationsForAccount' {notifications} -> notifications) (\s@BudgetNotificationsForAccount' {} a -> s {notifications = a} :: BudgetNotificationsForAccount) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON BudgetNotificationsForAccount where+  parseJSON =+    Data.withObject+      "BudgetNotificationsForAccount"+      ( \x ->+          BudgetNotificationsForAccount'+            Prelude.<$> (x Data..:? "BudgetName")+            Prelude.<*> (x Data..:? "Notifications" Data..!= Prelude.mempty)+      )++instance+  Prelude.Hashable+    BudgetNotificationsForAccount+  where+  hashWithSalt _salt BudgetNotificationsForAccount' {..} =+    _salt+      `Prelude.hashWithSalt` budgetName+      `Prelude.hashWithSalt` notifications++instance Prelude.NFData BudgetNotificationsForAccount where+  rnf BudgetNotificationsForAccount' {..} =+    Prelude.rnf budgetName+      `Prelude.seq` Prelude.rnf notifications
+ gen/Amazonka/Budgets/Types/BudgetPerformanceHistory.hs view
@@ -0,0 +1,147 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.BudgetPerformanceHistory+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.BudgetPerformanceHistory where++import Amazonka.Budgets.Types.BudgetType+import Amazonka.Budgets.Types.BudgetedAndActualAmounts+import Amazonka.Budgets.Types.CostTypes+import Amazonka.Budgets.Types.TimeUnit+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A history of the state of a budget at the end of the budget\'s specified+-- time period.+--+-- /See:/ 'newBudgetPerformanceHistory' smart constructor.+data BudgetPerformanceHistory = BudgetPerformanceHistory'+  { budgetName :: Prelude.Maybe Prelude.Text,+    budgetType :: Prelude.Maybe BudgetType,+    -- | A list of amounts of cost or usage that you created budgets for, which+    -- are compared to your actual costs or usage.+    budgetedAndActualAmountsList :: Prelude.Maybe [BudgetedAndActualAmounts],+    -- | The history of the cost filters for a budget during the specified time+    -- period.+    costFilters :: Prelude.Maybe (Prelude.HashMap Prelude.Text [Prelude.Text]),+    -- | The history of the cost types for a budget during the specified time+    -- period.+    costTypes :: Prelude.Maybe CostTypes,+    timeUnit :: Prelude.Maybe TimeUnit+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BudgetPerformanceHistory' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'budgetName', 'budgetPerformanceHistory_budgetName' - Undocumented member.+--+-- 'budgetType', 'budgetPerformanceHistory_budgetType' - Undocumented member.+--+-- 'budgetedAndActualAmountsList', 'budgetPerformanceHistory_budgetedAndActualAmountsList' - A list of amounts of cost or usage that you created budgets for, which+-- are compared to your actual costs or usage.+--+-- 'costFilters', 'budgetPerformanceHistory_costFilters' - The history of the cost filters for a budget during the specified time+-- period.+--+-- 'costTypes', 'budgetPerformanceHistory_costTypes' - The history of the cost types for a budget during the specified time+-- period.+--+-- 'timeUnit', 'budgetPerformanceHistory_timeUnit' - Undocumented member.+newBudgetPerformanceHistory ::+  BudgetPerformanceHistory+newBudgetPerformanceHistory =+  BudgetPerformanceHistory'+    { budgetName =+        Prelude.Nothing,+      budgetType = Prelude.Nothing,+      budgetedAndActualAmountsList = Prelude.Nothing,+      costFilters = Prelude.Nothing,+      costTypes = Prelude.Nothing,+      timeUnit = Prelude.Nothing+    }++-- | Undocumented member.+budgetPerformanceHistory_budgetName :: Lens.Lens' BudgetPerformanceHistory (Prelude.Maybe Prelude.Text)+budgetPerformanceHistory_budgetName = Lens.lens (\BudgetPerformanceHistory' {budgetName} -> budgetName) (\s@BudgetPerformanceHistory' {} a -> s {budgetName = a} :: BudgetPerformanceHistory)++-- | Undocumented member.+budgetPerformanceHistory_budgetType :: Lens.Lens' BudgetPerformanceHistory (Prelude.Maybe BudgetType)+budgetPerformanceHistory_budgetType = Lens.lens (\BudgetPerformanceHistory' {budgetType} -> budgetType) (\s@BudgetPerformanceHistory' {} a -> s {budgetType = a} :: BudgetPerformanceHistory)++-- | A list of amounts of cost or usage that you created budgets for, which+-- are compared to your actual costs or usage.+budgetPerformanceHistory_budgetedAndActualAmountsList :: Lens.Lens' BudgetPerformanceHistory (Prelude.Maybe [BudgetedAndActualAmounts])+budgetPerformanceHistory_budgetedAndActualAmountsList = Lens.lens (\BudgetPerformanceHistory' {budgetedAndActualAmountsList} -> budgetedAndActualAmountsList) (\s@BudgetPerformanceHistory' {} a -> s {budgetedAndActualAmountsList = a} :: BudgetPerformanceHistory) Prelude.. Lens.mapping Lens.coerced++-- | The history of the cost filters for a budget during the specified time+-- period.+budgetPerformanceHistory_costFilters :: Lens.Lens' BudgetPerformanceHistory (Prelude.Maybe (Prelude.HashMap Prelude.Text [Prelude.Text]))+budgetPerformanceHistory_costFilters = Lens.lens (\BudgetPerformanceHistory' {costFilters} -> costFilters) (\s@BudgetPerformanceHistory' {} a -> s {costFilters = a} :: BudgetPerformanceHistory) Prelude.. Lens.mapping Lens.coerced++-- | The history of the cost types for a budget during the specified time+-- period.+budgetPerformanceHistory_costTypes :: Lens.Lens' BudgetPerformanceHistory (Prelude.Maybe CostTypes)+budgetPerformanceHistory_costTypes = Lens.lens (\BudgetPerformanceHistory' {costTypes} -> costTypes) (\s@BudgetPerformanceHistory' {} a -> s {costTypes = a} :: BudgetPerformanceHistory)++-- | Undocumented member.+budgetPerformanceHistory_timeUnit :: Lens.Lens' BudgetPerformanceHistory (Prelude.Maybe TimeUnit)+budgetPerformanceHistory_timeUnit = Lens.lens (\BudgetPerformanceHistory' {timeUnit} -> timeUnit) (\s@BudgetPerformanceHistory' {} a -> s {timeUnit = a} :: BudgetPerformanceHistory)++instance Data.FromJSON BudgetPerformanceHistory where+  parseJSON =+    Data.withObject+      "BudgetPerformanceHistory"+      ( \x ->+          BudgetPerformanceHistory'+            Prelude.<$> (x Data..:? "BudgetName")+            Prelude.<*> (x Data..:? "BudgetType")+            Prelude.<*> ( x+                            Data..:? "BudgetedAndActualAmountsList"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "CostFilters" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "CostTypes")+            Prelude.<*> (x Data..:? "TimeUnit")+      )++instance Prelude.Hashable BudgetPerformanceHistory where+  hashWithSalt _salt BudgetPerformanceHistory' {..} =+    _salt+      `Prelude.hashWithSalt` budgetName+      `Prelude.hashWithSalt` budgetType+      `Prelude.hashWithSalt` budgetedAndActualAmountsList+      `Prelude.hashWithSalt` costFilters+      `Prelude.hashWithSalt` costTypes+      `Prelude.hashWithSalt` timeUnit++instance Prelude.NFData BudgetPerformanceHistory where+  rnf BudgetPerformanceHistory' {..} =+    Prelude.rnf budgetName+      `Prelude.seq` Prelude.rnf budgetType+      `Prelude.seq` Prelude.rnf budgetedAndActualAmountsList+      `Prelude.seq` Prelude.rnf costFilters+      `Prelude.seq` Prelude.rnf costTypes+      `Prelude.seq` Prelude.rnf timeUnit
+ gen/Amazonka/Budgets/Types/BudgetType.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.BudgetType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.BudgetType+  ( BudgetType+      ( ..,+        BudgetType_COST,+        BudgetType_RI_COVERAGE,+        BudgetType_RI_UTILIZATION,+        BudgetType_SAVINGS_PLANS_COVERAGE,+        BudgetType_SAVINGS_PLANS_UTILIZATION,+        BudgetType_USAGE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The type of a budget. It must be one of the following types:+--+-- @COST@, @USAGE@, @RI_UTILIZATION@, @RI_COVERAGE@,+-- @SAVINGS_PLANS_UTILIZATION@, or @SAVINGS_PLANS_COVERAGE@.+newtype BudgetType = BudgetType'+  { fromBudgetType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern BudgetType_COST :: BudgetType+pattern BudgetType_COST = BudgetType' "COST"++pattern BudgetType_RI_COVERAGE :: BudgetType+pattern BudgetType_RI_COVERAGE = BudgetType' "RI_COVERAGE"++pattern BudgetType_RI_UTILIZATION :: BudgetType+pattern BudgetType_RI_UTILIZATION = BudgetType' "RI_UTILIZATION"++pattern BudgetType_SAVINGS_PLANS_COVERAGE :: BudgetType+pattern BudgetType_SAVINGS_PLANS_COVERAGE = BudgetType' "SAVINGS_PLANS_COVERAGE"++pattern BudgetType_SAVINGS_PLANS_UTILIZATION :: BudgetType+pattern BudgetType_SAVINGS_PLANS_UTILIZATION = BudgetType' "SAVINGS_PLANS_UTILIZATION"++pattern BudgetType_USAGE :: BudgetType+pattern BudgetType_USAGE = BudgetType' "USAGE"++{-# COMPLETE+  BudgetType_COST,+  BudgetType_RI_COVERAGE,+  BudgetType_RI_UTILIZATION,+  BudgetType_SAVINGS_PLANS_COVERAGE,+  BudgetType_SAVINGS_PLANS_UTILIZATION,+  BudgetType_USAGE,+  BudgetType'+  #-}
+ gen/Amazonka/Budgets/Types/BudgetedAndActualAmounts.hs view
@@ -0,0 +1,100 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.BudgetedAndActualAmounts+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.BudgetedAndActualAmounts where++import Amazonka.Budgets.Types.Spend+import Amazonka.Budgets.Types.TimePeriod+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The amount of cost or usage that you created the budget for, compared to+-- your actual costs or usage.+--+-- /See:/ 'newBudgetedAndActualAmounts' smart constructor.+data BudgetedAndActualAmounts = BudgetedAndActualAmounts'+  { -- | Your actual costs or usage for a budget period.+    actualAmount :: Prelude.Maybe Spend,+    -- | The amount of cost or usage that you created the budget for.+    budgetedAmount :: Prelude.Maybe Spend,+    -- | The time period that\'s covered by this budget comparison.+    timePeriod :: Prelude.Maybe TimePeriod+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BudgetedAndActualAmounts' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actualAmount', 'budgetedAndActualAmounts_actualAmount' - Your actual costs or usage for a budget period.+--+-- 'budgetedAmount', 'budgetedAndActualAmounts_budgetedAmount' - The amount of cost or usage that you created the budget for.+--+-- 'timePeriod', 'budgetedAndActualAmounts_timePeriod' - The time period that\'s covered by this budget comparison.+newBudgetedAndActualAmounts ::+  BudgetedAndActualAmounts+newBudgetedAndActualAmounts =+  BudgetedAndActualAmounts'+    { actualAmount =+        Prelude.Nothing,+      budgetedAmount = Prelude.Nothing,+      timePeriod = Prelude.Nothing+    }++-- | Your actual costs or usage for a budget period.+budgetedAndActualAmounts_actualAmount :: Lens.Lens' BudgetedAndActualAmounts (Prelude.Maybe Spend)+budgetedAndActualAmounts_actualAmount = Lens.lens (\BudgetedAndActualAmounts' {actualAmount} -> actualAmount) (\s@BudgetedAndActualAmounts' {} a -> s {actualAmount = a} :: BudgetedAndActualAmounts)++-- | The amount of cost or usage that you created the budget for.+budgetedAndActualAmounts_budgetedAmount :: Lens.Lens' BudgetedAndActualAmounts (Prelude.Maybe Spend)+budgetedAndActualAmounts_budgetedAmount = Lens.lens (\BudgetedAndActualAmounts' {budgetedAmount} -> budgetedAmount) (\s@BudgetedAndActualAmounts' {} a -> s {budgetedAmount = a} :: BudgetedAndActualAmounts)++-- | The time period that\'s covered by this budget comparison.+budgetedAndActualAmounts_timePeriod :: Lens.Lens' BudgetedAndActualAmounts (Prelude.Maybe TimePeriod)+budgetedAndActualAmounts_timePeriod = Lens.lens (\BudgetedAndActualAmounts' {timePeriod} -> timePeriod) (\s@BudgetedAndActualAmounts' {} a -> s {timePeriod = a} :: BudgetedAndActualAmounts)++instance Data.FromJSON BudgetedAndActualAmounts where+  parseJSON =+    Data.withObject+      "BudgetedAndActualAmounts"+      ( \x ->+          BudgetedAndActualAmounts'+            Prelude.<$> (x Data..:? "ActualAmount")+            Prelude.<*> (x Data..:? "BudgetedAmount")+            Prelude.<*> (x Data..:? "TimePeriod")+      )++instance Prelude.Hashable BudgetedAndActualAmounts where+  hashWithSalt _salt BudgetedAndActualAmounts' {..} =+    _salt+      `Prelude.hashWithSalt` actualAmount+      `Prelude.hashWithSalt` budgetedAmount+      `Prelude.hashWithSalt` timePeriod++instance Prelude.NFData BudgetedAndActualAmounts where+  rnf BudgetedAndActualAmounts' {..} =+    Prelude.rnf actualAmount+      `Prelude.seq` Prelude.rnf budgetedAmount+      `Prelude.seq` Prelude.rnf timePeriod
+ gen/Amazonka/Budgets/Types/CalculatedSpend.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.CalculatedSpend+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.CalculatedSpend where++import Amazonka.Budgets.Types.Spend+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The spend objects that are associated with this budget. The+-- @actualSpend@ tracks how much you\'ve used, cost, usage, RI units, or+-- Savings Plans units and the @forecastedSpend@ tracks how much that+-- you\'re predicted to spend based on your historical usage profile.+--+-- For example, if it\'s the 20th of the month and you have spent @50@+-- dollars on Amazon EC2, your @actualSpend@ is @50 USD@, and your+-- @forecastedSpend@ is @75 USD@.+--+-- /See:/ 'newCalculatedSpend' smart constructor.+data CalculatedSpend = CalculatedSpend'+  { -- | The amount of cost, usage, RI units, or Savings Plans units that you\'re+    -- forecasted to use.+    forecastedSpend :: Prelude.Maybe Spend,+    -- | The amount of cost, usage, RI units, or Savings Plans units that you+    -- used.+    actualSpend :: Spend+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CalculatedSpend' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'forecastedSpend', 'calculatedSpend_forecastedSpend' - The amount of cost, usage, RI units, or Savings Plans units that you\'re+-- forecasted to use.+--+-- 'actualSpend', 'calculatedSpend_actualSpend' - The amount of cost, usage, RI units, or Savings Plans units that you+-- used.+newCalculatedSpend ::+  -- | 'actualSpend'+  Spend ->+  CalculatedSpend+newCalculatedSpend pActualSpend_ =+  CalculatedSpend'+    { forecastedSpend = Prelude.Nothing,+      actualSpend = pActualSpend_+    }++-- | The amount of cost, usage, RI units, or Savings Plans units that you\'re+-- forecasted to use.+calculatedSpend_forecastedSpend :: Lens.Lens' CalculatedSpend (Prelude.Maybe Spend)+calculatedSpend_forecastedSpend = Lens.lens (\CalculatedSpend' {forecastedSpend} -> forecastedSpend) (\s@CalculatedSpend' {} a -> s {forecastedSpend = a} :: CalculatedSpend)++-- | The amount of cost, usage, RI units, or Savings Plans units that you+-- used.+calculatedSpend_actualSpend :: Lens.Lens' CalculatedSpend Spend+calculatedSpend_actualSpend = Lens.lens (\CalculatedSpend' {actualSpend} -> actualSpend) (\s@CalculatedSpend' {} a -> s {actualSpend = a} :: CalculatedSpend)++instance Data.FromJSON CalculatedSpend where+  parseJSON =+    Data.withObject+      "CalculatedSpend"+      ( \x ->+          CalculatedSpend'+            Prelude.<$> (x Data..:? "ForecastedSpend")+            Prelude.<*> (x Data..: "ActualSpend")+      )++instance Prelude.Hashable CalculatedSpend where+  hashWithSalt _salt CalculatedSpend' {..} =+    _salt+      `Prelude.hashWithSalt` forecastedSpend+      `Prelude.hashWithSalt` actualSpend++instance Prelude.NFData CalculatedSpend where+  rnf CalculatedSpend' {..} =+    Prelude.rnf forecastedSpend+      `Prelude.seq` Prelude.rnf actualSpend++instance Data.ToJSON CalculatedSpend where+  toJSON CalculatedSpend' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ForecastedSpend" Data..=)+              Prelude.<$> forecastedSpend,+            Prelude.Just ("ActualSpend" Data..= actualSpend)+          ]+      )
+ gen/Amazonka/Budgets/Types/ComparisonOperator.hs view
@@ -0,0 +1,80 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.ComparisonOperator+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.ComparisonOperator+  ( ComparisonOperator+      ( ..,+        ComparisonOperator_EQUAL_TO,+        ComparisonOperator_GREATER_THAN,+        ComparisonOperator_LESS_THAN+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The comparison operator of a notification. Currently, the service+-- supports the following operators:+--+-- @GREATER_THAN@, @LESS_THAN@, @EQUAL_TO@+newtype ComparisonOperator = ComparisonOperator'+  { fromComparisonOperator ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ComparisonOperator_EQUAL_TO :: ComparisonOperator+pattern ComparisonOperator_EQUAL_TO = ComparisonOperator' "EQUAL_TO"++pattern ComparisonOperator_GREATER_THAN :: ComparisonOperator+pattern ComparisonOperator_GREATER_THAN = ComparisonOperator' "GREATER_THAN"++pattern ComparisonOperator_LESS_THAN :: ComparisonOperator+pattern ComparisonOperator_LESS_THAN = ComparisonOperator' "LESS_THAN"++{-# COMPLETE+  ComparisonOperator_EQUAL_TO,+  ComparisonOperator_GREATER_THAN,+  ComparisonOperator_LESS_THAN,+  ComparisonOperator'+  #-}
+ gen/Amazonka/Budgets/Types/CostTypes.hs view
@@ -0,0 +1,289 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.CostTypes+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.CostTypes where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The types of cost that are included in a @COST@ budget, such as tax and+-- subscriptions.+--+-- @USAGE@, @RI_UTILIZATION@, @RI_COVERAGE@, @SAVINGS_PLANS_UTILIZATION@,+-- and @SAVINGS_PLANS_COVERAGE@ budgets don\'t have @CostTypes@.+--+-- /See:/ 'newCostTypes' smart constructor.+data CostTypes = CostTypes'+  { -- | Specifies whether a budget includes credits.+    --+    -- The default value is @true@.+    includeCredit :: Prelude.Maybe Prelude.Bool,+    -- | Specifies whether a budget includes discounts.+    --+    -- The default value is @true@.+    includeDiscount :: Prelude.Maybe Prelude.Bool,+    -- | Specifies whether a budget includes non-RI subscription costs.+    --+    -- The default value is @true@.+    includeOtherSubscription :: Prelude.Maybe Prelude.Bool,+    -- | Specifies whether a budget includes recurring fees such as monthly RI+    -- fees.+    --+    -- The default value is @true@.+    includeRecurring :: Prelude.Maybe Prelude.Bool,+    -- | Specifies whether a budget includes refunds.+    --+    -- The default value is @true@.+    includeRefund :: Prelude.Maybe Prelude.Bool,+    -- | Specifies whether a budget includes subscriptions.+    --+    -- The default value is @true@.+    includeSubscription :: Prelude.Maybe Prelude.Bool,+    -- | Specifies whether a budget includes support subscription fees.+    --+    -- The default value is @true@.+    includeSupport :: Prelude.Maybe Prelude.Bool,+    -- | Specifies whether a budget includes taxes.+    --+    -- The default value is @true@.+    includeTax :: Prelude.Maybe Prelude.Bool,+    -- | Specifies whether a budget includes upfront RI costs.+    --+    -- The default value is @true@.+    includeUpfront :: Prelude.Maybe Prelude.Bool,+    -- | Specifies whether a budget uses the amortized rate.+    --+    -- The default value is @false@.+    useAmortized :: Prelude.Maybe Prelude.Bool,+    -- | Specifies whether a budget uses a blended rate.+    --+    -- The default value is @false@.+    useBlended :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CostTypes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'includeCredit', 'costTypes_includeCredit' - Specifies whether a budget includes credits.+--+-- The default value is @true@.+--+-- 'includeDiscount', 'costTypes_includeDiscount' - Specifies whether a budget includes discounts.+--+-- The default value is @true@.+--+-- 'includeOtherSubscription', 'costTypes_includeOtherSubscription' - Specifies whether a budget includes non-RI subscription costs.+--+-- The default value is @true@.+--+-- 'includeRecurring', 'costTypes_includeRecurring' - Specifies whether a budget includes recurring fees such as monthly RI+-- fees.+--+-- The default value is @true@.+--+-- 'includeRefund', 'costTypes_includeRefund' - Specifies whether a budget includes refunds.+--+-- The default value is @true@.+--+-- 'includeSubscription', 'costTypes_includeSubscription' - Specifies whether a budget includes subscriptions.+--+-- The default value is @true@.+--+-- 'includeSupport', 'costTypes_includeSupport' - Specifies whether a budget includes support subscription fees.+--+-- The default value is @true@.+--+-- 'includeTax', 'costTypes_includeTax' - Specifies whether a budget includes taxes.+--+-- The default value is @true@.+--+-- 'includeUpfront', 'costTypes_includeUpfront' - Specifies whether a budget includes upfront RI costs.+--+-- The default value is @true@.+--+-- 'useAmortized', 'costTypes_useAmortized' - Specifies whether a budget uses the amortized rate.+--+-- The default value is @false@.+--+-- 'useBlended', 'costTypes_useBlended' - Specifies whether a budget uses a blended rate.+--+-- The default value is @false@.+newCostTypes ::+  CostTypes+newCostTypes =+  CostTypes'+    { includeCredit = Prelude.Nothing,+      includeDiscount = Prelude.Nothing,+      includeOtherSubscription = Prelude.Nothing,+      includeRecurring = Prelude.Nothing,+      includeRefund = Prelude.Nothing,+      includeSubscription = Prelude.Nothing,+      includeSupport = Prelude.Nothing,+      includeTax = Prelude.Nothing,+      includeUpfront = Prelude.Nothing,+      useAmortized = Prelude.Nothing,+      useBlended = Prelude.Nothing+    }++-- | Specifies whether a budget includes credits.+--+-- The default value is @true@.+costTypes_includeCredit :: Lens.Lens' CostTypes (Prelude.Maybe Prelude.Bool)+costTypes_includeCredit = Lens.lens (\CostTypes' {includeCredit} -> includeCredit) (\s@CostTypes' {} a -> s {includeCredit = a} :: CostTypes)++-- | Specifies whether a budget includes discounts.+--+-- The default value is @true@.+costTypes_includeDiscount :: Lens.Lens' CostTypes (Prelude.Maybe Prelude.Bool)+costTypes_includeDiscount = Lens.lens (\CostTypes' {includeDiscount} -> includeDiscount) (\s@CostTypes' {} a -> s {includeDiscount = a} :: CostTypes)++-- | Specifies whether a budget includes non-RI subscription costs.+--+-- The default value is @true@.+costTypes_includeOtherSubscription :: Lens.Lens' CostTypes (Prelude.Maybe Prelude.Bool)+costTypes_includeOtherSubscription = Lens.lens (\CostTypes' {includeOtherSubscription} -> includeOtherSubscription) (\s@CostTypes' {} a -> s {includeOtherSubscription = a} :: CostTypes)++-- | Specifies whether a budget includes recurring fees such as monthly RI+-- fees.+--+-- The default value is @true@.+costTypes_includeRecurring :: Lens.Lens' CostTypes (Prelude.Maybe Prelude.Bool)+costTypes_includeRecurring = Lens.lens (\CostTypes' {includeRecurring} -> includeRecurring) (\s@CostTypes' {} a -> s {includeRecurring = a} :: CostTypes)++-- | Specifies whether a budget includes refunds.+--+-- The default value is @true@.+costTypes_includeRefund :: Lens.Lens' CostTypes (Prelude.Maybe Prelude.Bool)+costTypes_includeRefund = Lens.lens (\CostTypes' {includeRefund} -> includeRefund) (\s@CostTypes' {} a -> s {includeRefund = a} :: CostTypes)++-- | Specifies whether a budget includes subscriptions.+--+-- The default value is @true@.+costTypes_includeSubscription :: Lens.Lens' CostTypes (Prelude.Maybe Prelude.Bool)+costTypes_includeSubscription = Lens.lens (\CostTypes' {includeSubscription} -> includeSubscription) (\s@CostTypes' {} a -> s {includeSubscription = a} :: CostTypes)++-- | Specifies whether a budget includes support subscription fees.+--+-- The default value is @true@.+costTypes_includeSupport :: Lens.Lens' CostTypes (Prelude.Maybe Prelude.Bool)+costTypes_includeSupport = Lens.lens (\CostTypes' {includeSupport} -> includeSupport) (\s@CostTypes' {} a -> s {includeSupport = a} :: CostTypes)++-- | Specifies whether a budget includes taxes.+--+-- The default value is @true@.+costTypes_includeTax :: Lens.Lens' CostTypes (Prelude.Maybe Prelude.Bool)+costTypes_includeTax = Lens.lens (\CostTypes' {includeTax} -> includeTax) (\s@CostTypes' {} a -> s {includeTax = a} :: CostTypes)++-- | Specifies whether a budget includes upfront RI costs.+--+-- The default value is @true@.+costTypes_includeUpfront :: Lens.Lens' CostTypes (Prelude.Maybe Prelude.Bool)+costTypes_includeUpfront = Lens.lens (\CostTypes' {includeUpfront} -> includeUpfront) (\s@CostTypes' {} a -> s {includeUpfront = a} :: CostTypes)++-- | Specifies whether a budget uses the amortized rate.+--+-- The default value is @false@.+costTypes_useAmortized :: Lens.Lens' CostTypes (Prelude.Maybe Prelude.Bool)+costTypes_useAmortized = Lens.lens (\CostTypes' {useAmortized} -> useAmortized) (\s@CostTypes' {} a -> s {useAmortized = a} :: CostTypes)++-- | Specifies whether a budget uses a blended rate.+--+-- The default value is @false@.+costTypes_useBlended :: Lens.Lens' CostTypes (Prelude.Maybe Prelude.Bool)+costTypes_useBlended = Lens.lens (\CostTypes' {useBlended} -> useBlended) (\s@CostTypes' {} a -> s {useBlended = a} :: CostTypes)++instance Data.FromJSON CostTypes where+  parseJSON =+    Data.withObject+      "CostTypes"+      ( \x ->+          CostTypes'+            Prelude.<$> (x Data..:? "IncludeCredit")+            Prelude.<*> (x Data..:? "IncludeDiscount")+            Prelude.<*> (x Data..:? "IncludeOtherSubscription")+            Prelude.<*> (x Data..:? "IncludeRecurring")+            Prelude.<*> (x Data..:? "IncludeRefund")+            Prelude.<*> (x Data..:? "IncludeSubscription")+            Prelude.<*> (x Data..:? "IncludeSupport")+            Prelude.<*> (x Data..:? "IncludeTax")+            Prelude.<*> (x Data..:? "IncludeUpfront")+            Prelude.<*> (x Data..:? "UseAmortized")+            Prelude.<*> (x Data..:? "UseBlended")+      )++instance Prelude.Hashable CostTypes where+  hashWithSalt _salt CostTypes' {..} =+    _salt+      `Prelude.hashWithSalt` includeCredit+      `Prelude.hashWithSalt` includeDiscount+      `Prelude.hashWithSalt` includeOtherSubscription+      `Prelude.hashWithSalt` includeRecurring+      `Prelude.hashWithSalt` includeRefund+      `Prelude.hashWithSalt` includeSubscription+      `Prelude.hashWithSalt` includeSupport+      `Prelude.hashWithSalt` includeTax+      `Prelude.hashWithSalt` includeUpfront+      `Prelude.hashWithSalt` useAmortized+      `Prelude.hashWithSalt` useBlended++instance Prelude.NFData CostTypes where+  rnf CostTypes' {..} =+    Prelude.rnf includeCredit+      `Prelude.seq` Prelude.rnf includeDiscount+      `Prelude.seq` Prelude.rnf includeOtherSubscription+      `Prelude.seq` Prelude.rnf includeRecurring+      `Prelude.seq` Prelude.rnf includeRefund+      `Prelude.seq` Prelude.rnf includeSubscription+      `Prelude.seq` Prelude.rnf includeSupport+      `Prelude.seq` Prelude.rnf includeTax+      `Prelude.seq` Prelude.rnf includeUpfront+      `Prelude.seq` Prelude.rnf useAmortized+      `Prelude.seq` Prelude.rnf useBlended++instance Data.ToJSON CostTypes where+  toJSON CostTypes' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("IncludeCredit" Data..=) Prelude.<$> includeCredit,+            ("IncludeDiscount" Data..=)+              Prelude.<$> includeDiscount,+            ("IncludeOtherSubscription" Data..=)+              Prelude.<$> includeOtherSubscription,+            ("IncludeRecurring" Data..=)+              Prelude.<$> includeRecurring,+            ("IncludeRefund" Data..=) Prelude.<$> includeRefund,+            ("IncludeSubscription" Data..=)+              Prelude.<$> includeSubscription,+            ("IncludeSupport" Data..=)+              Prelude.<$> includeSupport,+            ("IncludeTax" Data..=) Prelude.<$> includeTax,+            ("IncludeUpfront" Data..=)+              Prelude.<$> includeUpfront,+            ("UseAmortized" Data..=) Prelude.<$> useAmortized,+            ("UseBlended" Data..=) Prelude.<$> useBlended+          ]+      )
+ gen/Amazonka/Budgets/Types/Definition.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.Definition+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.Definition where++import Amazonka.Budgets.Types.IamActionDefinition+import Amazonka.Budgets.Types.ScpActionDefinition+import Amazonka.Budgets.Types.SsmActionDefinition+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specifies all of the type-specific parameters.+--+-- /See:/ 'newDefinition' smart constructor.+data Definition = Definition'+  { -- | The Identity and Access Management (IAM) action definition details.+    iamActionDefinition :: Prelude.Maybe IamActionDefinition,+    -- | The service control policies (SCPs) action definition details.+    scpActionDefinition :: Prelude.Maybe ScpActionDefinition,+    -- | The Amazon Web Services Systems Manager (SSM) action definition details.+    ssmActionDefinition :: Prelude.Maybe SsmActionDefinition+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Definition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'iamActionDefinition', 'definition_iamActionDefinition' - The Identity and Access Management (IAM) action definition details.+--+-- 'scpActionDefinition', 'definition_scpActionDefinition' - The service control policies (SCPs) action definition details.+--+-- 'ssmActionDefinition', 'definition_ssmActionDefinition' - The Amazon Web Services Systems Manager (SSM) action definition details.+newDefinition ::+  Definition+newDefinition =+  Definition'+    { iamActionDefinition = Prelude.Nothing,+      scpActionDefinition = Prelude.Nothing,+      ssmActionDefinition = Prelude.Nothing+    }++-- | The Identity and Access Management (IAM) action definition details.+definition_iamActionDefinition :: Lens.Lens' Definition (Prelude.Maybe IamActionDefinition)+definition_iamActionDefinition = Lens.lens (\Definition' {iamActionDefinition} -> iamActionDefinition) (\s@Definition' {} a -> s {iamActionDefinition = a} :: Definition)++-- | The service control policies (SCPs) action definition details.+definition_scpActionDefinition :: Lens.Lens' Definition (Prelude.Maybe ScpActionDefinition)+definition_scpActionDefinition = Lens.lens (\Definition' {scpActionDefinition} -> scpActionDefinition) (\s@Definition' {} a -> s {scpActionDefinition = a} :: Definition)++-- | The Amazon Web Services Systems Manager (SSM) action definition details.+definition_ssmActionDefinition :: Lens.Lens' Definition (Prelude.Maybe SsmActionDefinition)+definition_ssmActionDefinition = Lens.lens (\Definition' {ssmActionDefinition} -> ssmActionDefinition) (\s@Definition' {} a -> s {ssmActionDefinition = a} :: Definition)++instance Data.FromJSON Definition where+  parseJSON =+    Data.withObject+      "Definition"+      ( \x ->+          Definition'+            Prelude.<$> (x Data..:? "IamActionDefinition")+            Prelude.<*> (x Data..:? "ScpActionDefinition")+            Prelude.<*> (x Data..:? "SsmActionDefinition")+      )++instance Prelude.Hashable Definition where+  hashWithSalt _salt Definition' {..} =+    _salt+      `Prelude.hashWithSalt` iamActionDefinition+      `Prelude.hashWithSalt` scpActionDefinition+      `Prelude.hashWithSalt` ssmActionDefinition++instance Prelude.NFData Definition where+  rnf Definition' {..} =+    Prelude.rnf iamActionDefinition+      `Prelude.seq` Prelude.rnf scpActionDefinition+      `Prelude.seq` Prelude.rnf ssmActionDefinition++instance Data.ToJSON Definition where+  toJSON Definition' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("IamActionDefinition" Data..=)+              Prelude.<$> iamActionDefinition,+            ("ScpActionDefinition" Data..=)+              Prelude.<$> scpActionDefinition,+            ("SsmActionDefinition" Data..=)+              Prelude.<$> ssmActionDefinition+          ]+      )
+ gen/Amazonka/Budgets/Types/EventType.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.EventType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.EventType+  ( EventType+      ( ..,+        EventType_CREATE_ACTION,+        EventType_DELETE_ACTION,+        EventType_EXECUTE_ACTION,+        EventType_SYSTEM,+        EventType_UPDATE_ACTION+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EventType = EventType'+  { fromEventType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern EventType_CREATE_ACTION :: EventType+pattern EventType_CREATE_ACTION = EventType' "CREATE_ACTION"++pattern EventType_DELETE_ACTION :: EventType+pattern EventType_DELETE_ACTION = EventType' "DELETE_ACTION"++pattern EventType_EXECUTE_ACTION :: EventType+pattern EventType_EXECUTE_ACTION = EventType' "EXECUTE_ACTION"++pattern EventType_SYSTEM :: EventType+pattern EventType_SYSTEM = EventType' "SYSTEM"++pattern EventType_UPDATE_ACTION :: EventType+pattern EventType_UPDATE_ACTION = EventType' "UPDATE_ACTION"++{-# COMPLETE+  EventType_CREATE_ACTION,+  EventType_DELETE_ACTION,+  EventType_EXECUTE_ACTION,+  EventType_SYSTEM,+  EventType_UPDATE_ACTION,+  EventType'+  #-}
+ gen/Amazonka/Budgets/Types/ExecutionType.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.ExecutionType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.ExecutionType+  ( ExecutionType+      ( ..,+        ExecutionType_APPROVE_BUDGET_ACTION,+        ExecutionType_RESET_BUDGET_ACTION,+        ExecutionType_RETRY_BUDGET_ACTION,+        ExecutionType_REVERSE_BUDGET_ACTION+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ExecutionType = ExecutionType'+  { fromExecutionType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ExecutionType_APPROVE_BUDGET_ACTION :: ExecutionType+pattern ExecutionType_APPROVE_BUDGET_ACTION = ExecutionType' "APPROVE_BUDGET_ACTION"++pattern ExecutionType_RESET_BUDGET_ACTION :: ExecutionType+pattern ExecutionType_RESET_BUDGET_ACTION = ExecutionType' "RESET_BUDGET_ACTION"++pattern ExecutionType_RETRY_BUDGET_ACTION :: ExecutionType+pattern ExecutionType_RETRY_BUDGET_ACTION = ExecutionType' "RETRY_BUDGET_ACTION"++pattern ExecutionType_REVERSE_BUDGET_ACTION :: ExecutionType+pattern ExecutionType_REVERSE_BUDGET_ACTION = ExecutionType' "REVERSE_BUDGET_ACTION"++{-# COMPLETE+  ExecutionType_APPROVE_BUDGET_ACTION,+  ExecutionType_RESET_BUDGET_ACTION,+  ExecutionType_RETRY_BUDGET_ACTION,+  ExecutionType_REVERSE_BUDGET_ACTION,+  ExecutionType'+  #-}
+ gen/Amazonka/Budgets/Types/HistoricalOptions.hs view
@@ -0,0 +1,170 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.HistoricalOptions+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.HistoricalOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The parameters that define or describe the historical data that your+-- auto-adjusting budget is based on.+--+-- /See:/ 'newHistoricalOptions' smart constructor.+data HistoricalOptions = HistoricalOptions'+  { -- | The integer that describes how many budget periods in your+    -- @BudgetAdjustmentPeriod@ are included in the calculation of your current+    -- @BudgetLimit@. If the first budget period in your+    -- @BudgetAdjustmentPeriod@ has no cost data, then that budget period isn’t+    -- included in the average that determines your budget limit.+    --+    -- For example, if you set @BudgetAdjustmentPeriod@ as @4@ quarters, but+    -- your account had no cost data in the first quarter, then only the last+    -- three quarters are included in the calculation. In this scenario,+    -- @LookBackAvailablePeriods@ returns @3@.+    --+    -- You can’t set your own @LookBackAvailablePeriods@. The value is+    -- automatically calculated from the @BudgetAdjustmentPeriod@ and your+    -- historical cost data.+    lookBackAvailablePeriods :: Prelude.Maybe Prelude.Natural,+    -- | The number of budget periods included in the moving-average calculation+    -- that determines your auto-adjusted budget amount. The maximum value+    -- depends on the @TimeUnit@ granularity of the budget:+    --+    -- -   For the @DAILY@ granularity, the maximum value is @60@.+    --+    -- -   For the @MONTHLY@ granularity, the maximum value is @12@.+    --+    -- -   For the @QUARTERLY@ granularity, the maximum value is @4@.+    --+    -- -   For the @ANNUALLY@ granularity, the maximum value is @1@.+    budgetAdjustmentPeriod :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HistoricalOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'lookBackAvailablePeriods', 'historicalOptions_lookBackAvailablePeriods' - The integer that describes how many budget periods in your+-- @BudgetAdjustmentPeriod@ are included in the calculation of your current+-- @BudgetLimit@. If the first budget period in your+-- @BudgetAdjustmentPeriod@ has no cost data, then that budget period isn’t+-- included in the average that determines your budget limit.+--+-- For example, if you set @BudgetAdjustmentPeriod@ as @4@ quarters, but+-- your account had no cost data in the first quarter, then only the last+-- three quarters are included in the calculation. In this scenario,+-- @LookBackAvailablePeriods@ returns @3@.+--+-- You can’t set your own @LookBackAvailablePeriods@. The value is+-- automatically calculated from the @BudgetAdjustmentPeriod@ and your+-- historical cost data.+--+-- 'budgetAdjustmentPeriod', 'historicalOptions_budgetAdjustmentPeriod' - The number of budget periods included in the moving-average calculation+-- that determines your auto-adjusted budget amount. The maximum value+-- depends on the @TimeUnit@ granularity of the budget:+--+-- -   For the @DAILY@ granularity, the maximum value is @60@.+--+-- -   For the @MONTHLY@ granularity, the maximum value is @12@.+--+-- -   For the @QUARTERLY@ granularity, the maximum value is @4@.+--+-- -   For the @ANNUALLY@ granularity, the maximum value is @1@.+newHistoricalOptions ::+  -- | 'budgetAdjustmentPeriod'+  Prelude.Natural ->+  HistoricalOptions+newHistoricalOptions pBudgetAdjustmentPeriod_ =+  HistoricalOptions'+    { lookBackAvailablePeriods =+        Prelude.Nothing,+      budgetAdjustmentPeriod = pBudgetAdjustmentPeriod_+    }++-- | The integer that describes how many budget periods in your+-- @BudgetAdjustmentPeriod@ are included in the calculation of your current+-- @BudgetLimit@. If the first budget period in your+-- @BudgetAdjustmentPeriod@ has no cost data, then that budget period isn’t+-- included in the average that determines your budget limit.+--+-- For example, if you set @BudgetAdjustmentPeriod@ as @4@ quarters, but+-- your account had no cost data in the first quarter, then only the last+-- three quarters are included in the calculation. In this scenario,+-- @LookBackAvailablePeriods@ returns @3@.+--+-- You can’t set your own @LookBackAvailablePeriods@. The value is+-- automatically calculated from the @BudgetAdjustmentPeriod@ and your+-- historical cost data.+historicalOptions_lookBackAvailablePeriods :: Lens.Lens' HistoricalOptions (Prelude.Maybe Prelude.Natural)+historicalOptions_lookBackAvailablePeriods = Lens.lens (\HistoricalOptions' {lookBackAvailablePeriods} -> lookBackAvailablePeriods) (\s@HistoricalOptions' {} a -> s {lookBackAvailablePeriods = a} :: HistoricalOptions)++-- | The number of budget periods included in the moving-average calculation+-- that determines your auto-adjusted budget amount. The maximum value+-- depends on the @TimeUnit@ granularity of the budget:+--+-- -   For the @DAILY@ granularity, the maximum value is @60@.+--+-- -   For the @MONTHLY@ granularity, the maximum value is @12@.+--+-- -   For the @QUARTERLY@ granularity, the maximum value is @4@.+--+-- -   For the @ANNUALLY@ granularity, the maximum value is @1@.+historicalOptions_budgetAdjustmentPeriod :: Lens.Lens' HistoricalOptions Prelude.Natural+historicalOptions_budgetAdjustmentPeriod = Lens.lens (\HistoricalOptions' {budgetAdjustmentPeriod} -> budgetAdjustmentPeriod) (\s@HistoricalOptions' {} a -> s {budgetAdjustmentPeriod = a} :: HistoricalOptions)++instance Data.FromJSON HistoricalOptions where+  parseJSON =+    Data.withObject+      "HistoricalOptions"+      ( \x ->+          HistoricalOptions'+            Prelude.<$> (x Data..:? "LookBackAvailablePeriods")+            Prelude.<*> (x Data..: "BudgetAdjustmentPeriod")+      )++instance Prelude.Hashable HistoricalOptions where+  hashWithSalt _salt HistoricalOptions' {..} =+    _salt+      `Prelude.hashWithSalt` lookBackAvailablePeriods+      `Prelude.hashWithSalt` budgetAdjustmentPeriod++instance Prelude.NFData HistoricalOptions where+  rnf HistoricalOptions' {..} =+    Prelude.rnf lookBackAvailablePeriods+      `Prelude.seq` Prelude.rnf budgetAdjustmentPeriod++instance Data.ToJSON HistoricalOptions where+  toJSON HistoricalOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("LookBackAvailablePeriods" Data..=)+              Prelude.<$> lookBackAvailablePeriods,+            Prelude.Just+              ( "BudgetAdjustmentPeriod"+                  Data..= budgetAdjustmentPeriod+              )+          ]+      )
+ gen/Amazonka/Budgets/Types/IamActionDefinition.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.IamActionDefinition+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.IamActionDefinition where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The Identity and Access Management (IAM) action definition details.+--+-- /See:/ 'newIamActionDefinition' smart constructor.+data IamActionDefinition = IamActionDefinition'+  { -- | A list of groups to be attached. There must be at least one group.+    groups :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    -- | A list of roles to be attached. There must be at least one role.+    roles :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    -- | A list of users to be attached. There must be at least one user.+    users :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    -- | The Amazon Resource Name (ARN) of the policy to be attached.+    policyArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IamActionDefinition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'groups', 'iamActionDefinition_groups' - A list of groups to be attached. There must be at least one group.+--+-- 'roles', 'iamActionDefinition_roles' - A list of roles to be attached. There must be at least one role.+--+-- 'users', 'iamActionDefinition_users' - A list of users to be attached. There must be at least one user.+--+-- 'policyArn', 'iamActionDefinition_policyArn' - The Amazon Resource Name (ARN) of the policy to be attached.+newIamActionDefinition ::+  -- | 'policyArn'+  Prelude.Text ->+  IamActionDefinition+newIamActionDefinition pPolicyArn_ =+  IamActionDefinition'+    { groups = Prelude.Nothing,+      roles = Prelude.Nothing,+      users = Prelude.Nothing,+      policyArn = pPolicyArn_+    }++-- | A list of groups to be attached. There must be at least one group.+iamActionDefinition_groups :: Lens.Lens' IamActionDefinition (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+iamActionDefinition_groups = Lens.lens (\IamActionDefinition' {groups} -> groups) (\s@IamActionDefinition' {} a -> s {groups = a} :: IamActionDefinition) Prelude.. Lens.mapping Lens.coerced++-- | A list of roles to be attached. There must be at least one role.+iamActionDefinition_roles :: Lens.Lens' IamActionDefinition (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+iamActionDefinition_roles = Lens.lens (\IamActionDefinition' {roles} -> roles) (\s@IamActionDefinition' {} a -> s {roles = a} :: IamActionDefinition) Prelude.. Lens.mapping Lens.coerced++-- | A list of users to be attached. There must be at least one user.+iamActionDefinition_users :: Lens.Lens' IamActionDefinition (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+iamActionDefinition_users = Lens.lens (\IamActionDefinition' {users} -> users) (\s@IamActionDefinition' {} a -> s {users = a} :: IamActionDefinition) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the policy to be attached.+iamActionDefinition_policyArn :: Lens.Lens' IamActionDefinition Prelude.Text+iamActionDefinition_policyArn = Lens.lens (\IamActionDefinition' {policyArn} -> policyArn) (\s@IamActionDefinition' {} a -> s {policyArn = a} :: IamActionDefinition)++instance Data.FromJSON IamActionDefinition where+  parseJSON =+    Data.withObject+      "IamActionDefinition"+      ( \x ->+          IamActionDefinition'+            Prelude.<$> (x Data..:? "Groups")+            Prelude.<*> (x Data..:? "Roles")+            Prelude.<*> (x Data..:? "Users")+            Prelude.<*> (x Data..: "PolicyArn")+      )++instance Prelude.Hashable IamActionDefinition where+  hashWithSalt _salt IamActionDefinition' {..} =+    _salt+      `Prelude.hashWithSalt` groups+      `Prelude.hashWithSalt` roles+      `Prelude.hashWithSalt` users+      `Prelude.hashWithSalt` policyArn++instance Prelude.NFData IamActionDefinition where+  rnf IamActionDefinition' {..} =+    Prelude.rnf groups+      `Prelude.seq` Prelude.rnf roles+      `Prelude.seq` Prelude.rnf users+      `Prelude.seq` Prelude.rnf policyArn++instance Data.ToJSON IamActionDefinition where+  toJSON IamActionDefinition' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Groups" Data..=) Prelude.<$> groups,+            ("Roles" Data..=) Prelude.<$> roles,+            ("Users" Data..=) Prelude.<$> users,+            Prelude.Just ("PolicyArn" Data..= policyArn)+          ]+      )
+ gen/Amazonka/Budgets/Types/Notification.hs view
@@ -0,0 +1,207 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.Notification+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.Notification where++import Amazonka.Budgets.Types.ComparisonOperator+import Amazonka.Budgets.Types.NotificationState+import Amazonka.Budgets.Types.NotificationType+import Amazonka.Budgets.Types.ThresholdType+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A notification that\'s associated with a budget. A budget can have up to+-- ten notifications.+--+-- Each notification must have at least one subscriber. A notification can+-- have one SNS subscriber and up to 10 email subscribers, for a total of+-- 11 subscribers.+--+-- For example, if you have a budget for 200 dollars and you want to be+-- notified when you go over 160 dollars, create a notification with the+-- following parameters:+--+-- -   A notificationType of @ACTUAL@+--+-- -   A @thresholdType@ of @PERCENTAGE@+--+-- -   A @comparisonOperator@ of @GREATER_THAN@+--+-- -   A notification @threshold@ of @80@+--+-- /See:/ 'newNotification' smart constructor.+data Notification = Notification'+  { -- | Specifies whether this notification is in alarm. If a budget+    -- notification is in the @ALARM@ state, you passed the set threshold for+    -- the budget.+    notificationState :: Prelude.Maybe NotificationState,+    -- | The type of threshold for a notification. For @ABSOLUTE_VALUE@+    -- thresholds, Amazon Web Services notifies you when you go over or are+    -- forecasted to go over your total cost threshold. For @PERCENTAGE@+    -- thresholds, Amazon Web Services notifies you when you go over or are+    -- forecasted to go over a certain percentage of your forecasted spend. For+    -- example, if you have a budget for 200 dollars and you have a+    -- @PERCENTAGE@ threshold of 80%, Amazon Web Services notifies you when you+    -- go over 160 dollars.+    thresholdType :: Prelude.Maybe ThresholdType,+    -- | Specifies whether the notification is for how much you have spent+    -- (@ACTUAL@) or for how much that you\'re forecasted to spend+    -- (@FORECASTED@).+    notificationType :: NotificationType,+    -- | The comparison that\'s used for this notification.+    comparisonOperator :: ComparisonOperator,+    -- | The threshold that\'s associated with a notification. Thresholds are+    -- always a percentage, and many customers find value being alerted between+    -- 50% - 200% of the budgeted amount. The maximum limit for your threshold+    -- is 1,000,000% above the budgeted amount.+    threshold :: Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Notification' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'notificationState', 'notification_notificationState' - Specifies whether this notification is in alarm. If a budget+-- notification is in the @ALARM@ state, you passed the set threshold for+-- the budget.+--+-- 'thresholdType', 'notification_thresholdType' - The type of threshold for a notification. For @ABSOLUTE_VALUE@+-- thresholds, Amazon Web Services notifies you when you go over or are+-- forecasted to go over your total cost threshold. For @PERCENTAGE@+-- thresholds, Amazon Web Services notifies you when you go over or are+-- forecasted to go over a certain percentage of your forecasted spend. For+-- example, if you have a budget for 200 dollars and you have a+-- @PERCENTAGE@ threshold of 80%, Amazon Web Services notifies you when you+-- go over 160 dollars.+--+-- 'notificationType', 'notification_notificationType' - Specifies whether the notification is for how much you have spent+-- (@ACTUAL@) or for how much that you\'re forecasted to spend+-- (@FORECASTED@).+--+-- 'comparisonOperator', 'notification_comparisonOperator' - The comparison that\'s used for this notification.+--+-- 'threshold', 'notification_threshold' - The threshold that\'s associated with a notification. Thresholds are+-- always a percentage, and many customers find value being alerted between+-- 50% - 200% of the budgeted amount. The maximum limit for your threshold+-- is 1,000,000% above the budgeted amount.+newNotification ::+  -- | 'notificationType'+  NotificationType ->+  -- | 'comparisonOperator'+  ComparisonOperator ->+  -- | 'threshold'+  Prelude.Double ->+  Notification+newNotification+  pNotificationType_+  pComparisonOperator_+  pThreshold_ =+    Notification'+      { notificationState = Prelude.Nothing,+        thresholdType = Prelude.Nothing,+        notificationType = pNotificationType_,+        comparisonOperator = pComparisonOperator_,+        threshold = pThreshold_+      }++-- | Specifies whether this notification is in alarm. If a budget+-- notification is in the @ALARM@ state, you passed the set threshold for+-- the budget.+notification_notificationState :: Lens.Lens' Notification (Prelude.Maybe NotificationState)+notification_notificationState = Lens.lens (\Notification' {notificationState} -> notificationState) (\s@Notification' {} a -> s {notificationState = a} :: Notification)++-- | The type of threshold for a notification. For @ABSOLUTE_VALUE@+-- thresholds, Amazon Web Services notifies you when you go over or are+-- forecasted to go over your total cost threshold. For @PERCENTAGE@+-- thresholds, Amazon Web Services notifies you when you go over or are+-- forecasted to go over a certain percentage of your forecasted spend. For+-- example, if you have a budget for 200 dollars and you have a+-- @PERCENTAGE@ threshold of 80%, Amazon Web Services notifies you when you+-- go over 160 dollars.+notification_thresholdType :: Lens.Lens' Notification (Prelude.Maybe ThresholdType)+notification_thresholdType = Lens.lens (\Notification' {thresholdType} -> thresholdType) (\s@Notification' {} a -> s {thresholdType = a} :: Notification)++-- | Specifies whether the notification is for how much you have spent+-- (@ACTUAL@) or for how much that you\'re forecasted to spend+-- (@FORECASTED@).+notification_notificationType :: Lens.Lens' Notification NotificationType+notification_notificationType = Lens.lens (\Notification' {notificationType} -> notificationType) (\s@Notification' {} a -> s {notificationType = a} :: Notification)++-- | The comparison that\'s used for this notification.+notification_comparisonOperator :: Lens.Lens' Notification ComparisonOperator+notification_comparisonOperator = Lens.lens (\Notification' {comparisonOperator} -> comparisonOperator) (\s@Notification' {} a -> s {comparisonOperator = a} :: Notification)++-- | The threshold that\'s associated with a notification. Thresholds are+-- always a percentage, and many customers find value being alerted between+-- 50% - 200% of the budgeted amount. The maximum limit for your threshold+-- is 1,000,000% above the budgeted amount.+notification_threshold :: Lens.Lens' Notification Prelude.Double+notification_threshold = Lens.lens (\Notification' {threshold} -> threshold) (\s@Notification' {} a -> s {threshold = a} :: Notification)++instance Data.FromJSON Notification where+  parseJSON =+    Data.withObject+      "Notification"+      ( \x ->+          Notification'+            Prelude.<$> (x Data..:? "NotificationState")+            Prelude.<*> (x Data..:? "ThresholdType")+            Prelude.<*> (x Data..: "NotificationType")+            Prelude.<*> (x Data..: "ComparisonOperator")+            Prelude.<*> (x Data..: "Threshold")+      )++instance Prelude.Hashable Notification where+  hashWithSalt _salt Notification' {..} =+    _salt+      `Prelude.hashWithSalt` notificationState+      `Prelude.hashWithSalt` thresholdType+      `Prelude.hashWithSalt` notificationType+      `Prelude.hashWithSalt` comparisonOperator+      `Prelude.hashWithSalt` threshold++instance Prelude.NFData Notification where+  rnf Notification' {..} =+    Prelude.rnf notificationState+      `Prelude.seq` Prelude.rnf thresholdType+      `Prelude.seq` Prelude.rnf notificationType+      `Prelude.seq` Prelude.rnf comparisonOperator+      `Prelude.seq` Prelude.rnf threshold++instance Data.ToJSON Notification where+  toJSON Notification' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("NotificationState" Data..=)+              Prelude.<$> notificationState,+            ("ThresholdType" Data..=) Prelude.<$> thresholdType,+            Prelude.Just+              ("NotificationType" Data..= notificationType),+            Prelude.Just+              ("ComparisonOperator" Data..= comparisonOperator),+            Prelude.Just ("Threshold" Data..= threshold)+          ]+      )
+ gen/Amazonka/Budgets/Types/NotificationState.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.NotificationState+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.NotificationState+  ( NotificationState+      ( ..,+        NotificationState_ALARM,+        NotificationState_OK+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NotificationState = NotificationState'+  { fromNotificationState ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern NotificationState_ALARM :: NotificationState+pattern NotificationState_ALARM = NotificationState' "ALARM"++pattern NotificationState_OK :: NotificationState+pattern NotificationState_OK = NotificationState' "OK"++{-# COMPLETE+  NotificationState_ALARM,+  NotificationState_OK,+  NotificationState'+  #-}
+ gen/Amazonka/Budgets/Types/NotificationType.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.NotificationType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.NotificationType+  ( NotificationType+      ( ..,+        NotificationType_ACTUAL,+        NotificationType_FORECASTED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The type of a notification. It must be ACTUAL or FORECASTED.+newtype NotificationType = NotificationType'+  { fromNotificationType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern NotificationType_ACTUAL :: NotificationType+pattern NotificationType_ACTUAL = NotificationType' "ACTUAL"++pattern NotificationType_FORECASTED :: NotificationType+pattern NotificationType_FORECASTED = NotificationType' "FORECASTED"++{-# COMPLETE+  NotificationType_ACTUAL,+  NotificationType_FORECASTED,+  NotificationType'+  #-}
+ gen/Amazonka/Budgets/Types/NotificationWithSubscribers.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.NotificationWithSubscribers+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.NotificationWithSubscribers where++import Amazonka.Budgets.Types.Notification+import Amazonka.Budgets.Types.Subscriber+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A notification with subscribers. A notification can have one SNS+-- subscriber and up to 10 email subscribers, for a total of 11+-- subscribers.+--+-- /See:/ 'newNotificationWithSubscribers' smart constructor.+data NotificationWithSubscribers = NotificationWithSubscribers'+  { -- | The notification that\'s associated with a budget.+    notification :: Notification,+    -- | A list of subscribers who are subscribed to this notification.+    subscribers :: Prelude.NonEmpty Subscriber+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NotificationWithSubscribers' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'notification', 'notificationWithSubscribers_notification' - The notification that\'s associated with a budget.+--+-- 'subscribers', 'notificationWithSubscribers_subscribers' - A list of subscribers who are subscribed to this notification.+newNotificationWithSubscribers ::+  -- | 'notification'+  Notification ->+  -- | 'subscribers'+  Prelude.NonEmpty Subscriber ->+  NotificationWithSubscribers+newNotificationWithSubscribers+  pNotification_+  pSubscribers_ =+    NotificationWithSubscribers'+      { notification =+          pNotification_,+        subscribers =+          Lens.coerced Lens.# pSubscribers_+      }++-- | The notification that\'s associated with a budget.+notificationWithSubscribers_notification :: Lens.Lens' NotificationWithSubscribers Notification+notificationWithSubscribers_notification = Lens.lens (\NotificationWithSubscribers' {notification} -> notification) (\s@NotificationWithSubscribers' {} a -> s {notification = a} :: NotificationWithSubscribers)++-- | A list of subscribers who are subscribed to this notification.+notificationWithSubscribers_subscribers :: Lens.Lens' NotificationWithSubscribers (Prelude.NonEmpty Subscriber)+notificationWithSubscribers_subscribers = Lens.lens (\NotificationWithSubscribers' {subscribers} -> subscribers) (\s@NotificationWithSubscribers' {} a -> s {subscribers = a} :: NotificationWithSubscribers) Prelude.. Lens.coerced++instance Prelude.Hashable NotificationWithSubscribers where+  hashWithSalt _salt NotificationWithSubscribers' {..} =+    _salt+      `Prelude.hashWithSalt` notification+      `Prelude.hashWithSalt` subscribers++instance Prelude.NFData NotificationWithSubscribers where+  rnf NotificationWithSubscribers' {..} =+    Prelude.rnf notification+      `Prelude.seq` Prelude.rnf subscribers++instance Data.ToJSON NotificationWithSubscribers where+  toJSON NotificationWithSubscribers' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Notification" Data..= notification),+            Prelude.Just ("Subscribers" Data..= subscribers)+          ]+      )
+ gen/Amazonka/Budgets/Types/ScpActionDefinition.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.ScpActionDefinition+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.ScpActionDefinition where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The service control policies (SCP) action definition details.+--+-- /See:/ 'newScpActionDefinition' smart constructor.+data ScpActionDefinition = ScpActionDefinition'+  { -- | The policy ID attached.+    policyId :: Prelude.Text,+    -- | A list of target IDs.+    targetIds :: Prelude.NonEmpty Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ScpActionDefinition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'policyId', 'scpActionDefinition_policyId' - The policy ID attached.+--+-- 'targetIds', 'scpActionDefinition_targetIds' - A list of target IDs.+newScpActionDefinition ::+  -- | 'policyId'+  Prelude.Text ->+  -- | 'targetIds'+  Prelude.NonEmpty Prelude.Text ->+  ScpActionDefinition+newScpActionDefinition pPolicyId_ pTargetIds_ =+  ScpActionDefinition'+    { policyId = pPolicyId_,+      targetIds = Lens.coerced Lens.# pTargetIds_+    }++-- | The policy ID attached.+scpActionDefinition_policyId :: Lens.Lens' ScpActionDefinition Prelude.Text+scpActionDefinition_policyId = Lens.lens (\ScpActionDefinition' {policyId} -> policyId) (\s@ScpActionDefinition' {} a -> s {policyId = a} :: ScpActionDefinition)++-- | A list of target IDs.+scpActionDefinition_targetIds :: Lens.Lens' ScpActionDefinition (Prelude.NonEmpty Prelude.Text)+scpActionDefinition_targetIds = Lens.lens (\ScpActionDefinition' {targetIds} -> targetIds) (\s@ScpActionDefinition' {} a -> s {targetIds = a} :: ScpActionDefinition) Prelude.. Lens.coerced++instance Data.FromJSON ScpActionDefinition where+  parseJSON =+    Data.withObject+      "ScpActionDefinition"+      ( \x ->+          ScpActionDefinition'+            Prelude.<$> (x Data..: "PolicyId")+            Prelude.<*> (x Data..: "TargetIds")+      )++instance Prelude.Hashable ScpActionDefinition where+  hashWithSalt _salt ScpActionDefinition' {..} =+    _salt+      `Prelude.hashWithSalt` policyId+      `Prelude.hashWithSalt` targetIds++instance Prelude.NFData ScpActionDefinition where+  rnf ScpActionDefinition' {..} =+    Prelude.rnf policyId+      `Prelude.seq` Prelude.rnf targetIds++instance Data.ToJSON ScpActionDefinition where+  toJSON ScpActionDefinition' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("PolicyId" Data..= policyId),+            Prelude.Just ("TargetIds" Data..= targetIds)+          ]+      )
+ gen/Amazonka/Budgets/Types/Spend.hs view
@@ -0,0 +1,106 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.Spend+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.Spend where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The amount of cost or usage that\'s measured for a budget.+--+-- For example, a @Spend@ for @3 GB@ of S3 usage has the following+-- parameters:+--+-- -   An @Amount@ of @3@+--+-- -   A @unit@ of @GB@+--+-- /See:/ 'newSpend' smart constructor.+data Spend = Spend'+  { -- | The cost or usage amount that\'s associated with a budget forecast,+    -- actual spend, or budget threshold.+    amount :: Prelude.Text,+    -- | The unit of measurement that\'s used for the budget forecast, actual+    -- spend, or budget threshold, such as USD or GBP.+    unit :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Spend' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'amount', 'spend_amount' - The cost or usage amount that\'s associated with a budget forecast,+-- actual spend, or budget threshold.+--+-- 'unit', 'spend_unit' - The unit of measurement that\'s used for the budget forecast, actual+-- spend, or budget threshold, such as USD or GBP.+newSpend ::+  -- | 'amount'+  Prelude.Text ->+  -- | 'unit'+  Prelude.Text ->+  Spend+newSpend pAmount_ pUnit_ =+  Spend' {amount = pAmount_, unit = pUnit_}++-- | The cost or usage amount that\'s associated with a budget forecast,+-- actual spend, or budget threshold.+spend_amount :: Lens.Lens' Spend Prelude.Text+spend_amount = Lens.lens (\Spend' {amount} -> amount) (\s@Spend' {} a -> s {amount = a} :: Spend)++-- | The unit of measurement that\'s used for the budget forecast, actual+-- spend, or budget threshold, such as USD or GBP.+spend_unit :: Lens.Lens' Spend Prelude.Text+spend_unit = Lens.lens (\Spend' {unit} -> unit) (\s@Spend' {} a -> s {unit = a} :: Spend)++instance Data.FromJSON Spend where+  parseJSON =+    Data.withObject+      "Spend"+      ( \x ->+          Spend'+            Prelude.<$> (x Data..: "Amount")+            Prelude.<*> (x Data..: "Unit")+      )++instance Prelude.Hashable Spend where+  hashWithSalt _salt Spend' {..} =+    _salt+      `Prelude.hashWithSalt` amount+      `Prelude.hashWithSalt` unit++instance Prelude.NFData Spend where+  rnf Spend' {..} =+    Prelude.rnf amount `Prelude.seq` Prelude.rnf unit++instance Data.ToJSON Spend where+  toJSON Spend' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Amount" Data..= amount),+            Prelude.Just ("Unit" Data..= unit)+          ]+      )
+ gen/Amazonka/Budgets/Types/SsmActionDefinition.hs view
@@ -0,0 +1,118 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.SsmActionDefinition+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.SsmActionDefinition where++import Amazonka.Budgets.Types.ActionSubType+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The Amazon Web Services Systems Manager (SSM) action definition details.+--+-- /See:/ 'newSsmActionDefinition' smart constructor.+data SsmActionDefinition = SsmActionDefinition'+  { -- | The action subType.+    actionSubType :: ActionSubType,+    -- | The Region to run the SSM document.+    region :: Prelude.Text,+    -- | The EC2 and RDS instance IDs.+    instanceIds :: Prelude.NonEmpty Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SsmActionDefinition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actionSubType', 'ssmActionDefinition_actionSubType' - The action subType.+--+-- 'region', 'ssmActionDefinition_region' - The Region to run the SSM document.+--+-- 'instanceIds', 'ssmActionDefinition_instanceIds' - The EC2 and RDS instance IDs.+newSsmActionDefinition ::+  -- | 'actionSubType'+  ActionSubType ->+  -- | 'region'+  Prelude.Text ->+  -- | 'instanceIds'+  Prelude.NonEmpty Prelude.Text ->+  SsmActionDefinition+newSsmActionDefinition+  pActionSubType_+  pRegion_+  pInstanceIds_ =+    SsmActionDefinition'+      { actionSubType =+          pActionSubType_,+        region = pRegion_,+        instanceIds = Lens.coerced Lens.# pInstanceIds_+      }++-- | The action subType.+ssmActionDefinition_actionSubType :: Lens.Lens' SsmActionDefinition ActionSubType+ssmActionDefinition_actionSubType = Lens.lens (\SsmActionDefinition' {actionSubType} -> actionSubType) (\s@SsmActionDefinition' {} a -> s {actionSubType = a} :: SsmActionDefinition)++-- | The Region to run the SSM document.+ssmActionDefinition_region :: Lens.Lens' SsmActionDefinition Prelude.Text+ssmActionDefinition_region = Lens.lens (\SsmActionDefinition' {region} -> region) (\s@SsmActionDefinition' {} a -> s {region = a} :: SsmActionDefinition)++-- | The EC2 and RDS instance IDs.+ssmActionDefinition_instanceIds :: Lens.Lens' SsmActionDefinition (Prelude.NonEmpty Prelude.Text)+ssmActionDefinition_instanceIds = Lens.lens (\SsmActionDefinition' {instanceIds} -> instanceIds) (\s@SsmActionDefinition' {} a -> s {instanceIds = a} :: SsmActionDefinition) Prelude.. Lens.coerced++instance Data.FromJSON SsmActionDefinition where+  parseJSON =+    Data.withObject+      "SsmActionDefinition"+      ( \x ->+          SsmActionDefinition'+            Prelude.<$> (x Data..: "ActionSubType")+            Prelude.<*> (x Data..: "Region")+            Prelude.<*> (x Data..: "InstanceIds")+      )++instance Prelude.Hashable SsmActionDefinition where+  hashWithSalt _salt SsmActionDefinition' {..} =+    _salt+      `Prelude.hashWithSalt` actionSubType+      `Prelude.hashWithSalt` region+      `Prelude.hashWithSalt` instanceIds++instance Prelude.NFData SsmActionDefinition where+  rnf SsmActionDefinition' {..} =+    Prelude.rnf actionSubType+      `Prelude.seq` Prelude.rnf region+      `Prelude.seq` Prelude.rnf instanceIds++instance Data.ToJSON SsmActionDefinition where+  toJSON SsmActionDefinition' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("ActionSubType" Data..= actionSubType),+            Prelude.Just ("Region" Data..= region),+            Prelude.Just ("InstanceIds" Data..= instanceIds)+          ]+      )
+ gen/Amazonka/Budgets/Types/Subscriber.hs view
@@ -0,0 +1,118 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.Subscriber+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.Subscriber where++import Amazonka.Budgets.Types.SubscriptionType+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The subscriber to a budget notification. The subscriber consists of a+-- subscription type and either an Amazon SNS topic or an email address.+--+-- For example, an email subscriber has the following parameters:+--+-- -   A @subscriptionType@ of @EMAIL@+--+-- -   An @address@ of @example\@example.com@+--+-- /See:/ 'newSubscriber' smart constructor.+data Subscriber = Subscriber'+  { -- | The type of notification that Amazon Web Services sends to a subscriber.+    subscriptionType :: SubscriptionType,+    -- | The address that Amazon Web Services sends budget notifications to,+    -- either an SNS topic or an email.+    --+    -- When you create a subscriber, the value of @Address@ can\'t contain line+    -- breaks.+    address :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Subscriber' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'subscriptionType', 'subscriber_subscriptionType' - The type of notification that Amazon Web Services sends to a subscriber.+--+-- 'address', 'subscriber_address' - The address that Amazon Web Services sends budget notifications to,+-- either an SNS topic or an email.+--+-- When you create a subscriber, the value of @Address@ can\'t contain line+-- breaks.+newSubscriber ::+  -- | 'subscriptionType'+  SubscriptionType ->+  -- | 'address'+  Prelude.Text ->+  Subscriber+newSubscriber pSubscriptionType_ pAddress_ =+  Subscriber'+    { subscriptionType = pSubscriptionType_,+      address = Data._Sensitive Lens.# pAddress_+    }++-- | The type of notification that Amazon Web Services sends to a subscriber.+subscriber_subscriptionType :: Lens.Lens' Subscriber SubscriptionType+subscriber_subscriptionType = Lens.lens (\Subscriber' {subscriptionType} -> subscriptionType) (\s@Subscriber' {} a -> s {subscriptionType = a} :: Subscriber)++-- | The address that Amazon Web Services sends budget notifications to,+-- either an SNS topic or an email.+--+-- When you create a subscriber, the value of @Address@ can\'t contain line+-- breaks.+subscriber_address :: Lens.Lens' Subscriber Prelude.Text+subscriber_address = Lens.lens (\Subscriber' {address} -> address) (\s@Subscriber' {} a -> s {address = a} :: Subscriber) Prelude.. Data._Sensitive++instance Data.FromJSON Subscriber where+  parseJSON =+    Data.withObject+      "Subscriber"+      ( \x ->+          Subscriber'+            Prelude.<$> (x Data..: "SubscriptionType")+            Prelude.<*> (x Data..: "Address")+      )++instance Prelude.Hashable Subscriber where+  hashWithSalt _salt Subscriber' {..} =+    _salt+      `Prelude.hashWithSalt` subscriptionType+      `Prelude.hashWithSalt` address++instance Prelude.NFData Subscriber where+  rnf Subscriber' {..} =+    Prelude.rnf subscriptionType+      `Prelude.seq` Prelude.rnf address++instance Data.ToJSON Subscriber where+  toJSON Subscriber' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("SubscriptionType" Data..= subscriptionType),+            Prelude.Just ("Address" Data..= address)+          ]+      )
+ gen/Amazonka/Budgets/Types/SubscriptionType.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.SubscriptionType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.SubscriptionType+  ( SubscriptionType+      ( ..,+        SubscriptionType_EMAIL,+        SubscriptionType_SNS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The subscription type of the subscriber. It can be SMS or EMAIL.+newtype SubscriptionType = SubscriptionType'+  { fromSubscriptionType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern SubscriptionType_EMAIL :: SubscriptionType+pattern SubscriptionType_EMAIL = SubscriptionType' "EMAIL"++pattern SubscriptionType_SNS :: SubscriptionType+pattern SubscriptionType_SNS = SubscriptionType' "SNS"++{-# COMPLETE+  SubscriptionType_EMAIL,+  SubscriptionType_SNS,+  SubscriptionType'+  #-}
+ gen/Amazonka/Budgets/Types/ThresholdType.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.ThresholdType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.ThresholdType+  ( ThresholdType+      ( ..,+        ThresholdType_ABSOLUTE_VALUE,+        ThresholdType_PERCENTAGE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The type of threshold for a notification.+newtype ThresholdType = ThresholdType'+  { fromThresholdType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ThresholdType_ABSOLUTE_VALUE :: ThresholdType+pattern ThresholdType_ABSOLUTE_VALUE = ThresholdType' "ABSOLUTE_VALUE"++pattern ThresholdType_PERCENTAGE :: ThresholdType+pattern ThresholdType_PERCENTAGE = ThresholdType' "PERCENTAGE"++{-# COMPLETE+  ThresholdType_ABSOLUTE_VALUE,+  ThresholdType_PERCENTAGE,+  ThresholdType'+  #-}
+ gen/Amazonka/Budgets/Types/TimePeriod.hs view
@@ -0,0 +1,139 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.TimePeriod+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.TimePeriod where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The period of time that\'s covered by a budget. The period has a start+-- date and an end date. The start date must come before the end date.+-- There are no restrictions on the end date.+--+-- /See:/ 'newTimePeriod' smart constructor.+data TimePeriod = TimePeriod'+  { -- | The end date for a budget. If you didn\'t specify an end date, Amazon+    -- Web Services set your end date to @06\/15\/87 00:00 UTC@. The defaults+    -- are the same for the Billing and Cost Management console and the API.+    --+    -- After the end date, Amazon Web Services deletes the budget and all the+    -- associated notifications and subscribers. You can change your end date+    -- with the @UpdateBudget@ operation.+    end :: Prelude.Maybe Data.POSIX,+    -- | The start date for a budget. If you created your budget and didn\'t+    -- specify a start date, Amazon Web Services defaults to the start of your+    -- chosen time period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). For+    -- example, if you created your budget on January 24, 2018, chose @DAILY@,+    -- and didn\'t set a start date, Amazon Web Services set your start date to+    -- @01\/24\/18 00:00 UTC@. If you chose @MONTHLY@, Amazon Web Services set+    -- your start date to @01\/01\/18 00:00 UTC@. The defaults are the same for+    -- the Billing and Cost Management console and the API.+    --+    -- You can change your start date with the @UpdateBudget@ operation.+    start :: Prelude.Maybe Data.POSIX+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TimePeriod' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'end', 'timePeriod_end' - The end date for a budget. If you didn\'t specify an end date, Amazon+-- Web Services set your end date to @06\/15\/87 00:00 UTC@. The defaults+-- are the same for the Billing and Cost Management console and the API.+--+-- After the end date, Amazon Web Services deletes the budget and all the+-- associated notifications and subscribers. You can change your end date+-- with the @UpdateBudget@ operation.+--+-- 'start', 'timePeriod_start' - The start date for a budget. If you created your budget and didn\'t+-- specify a start date, Amazon Web Services defaults to the start of your+-- chosen time period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). For+-- example, if you created your budget on January 24, 2018, chose @DAILY@,+-- and didn\'t set a start date, Amazon Web Services set your start date to+-- @01\/24\/18 00:00 UTC@. If you chose @MONTHLY@, Amazon Web Services set+-- your start date to @01\/01\/18 00:00 UTC@. The defaults are the same for+-- the Billing and Cost Management console and the API.+--+-- You can change your start date with the @UpdateBudget@ operation.+newTimePeriod ::+  TimePeriod+newTimePeriod =+  TimePeriod'+    { end = Prelude.Nothing,+      start = Prelude.Nothing+    }++-- | The end date for a budget. If you didn\'t specify an end date, Amazon+-- Web Services set your end date to @06\/15\/87 00:00 UTC@. The defaults+-- are the same for the Billing and Cost Management console and the API.+--+-- After the end date, Amazon Web Services deletes the budget and all the+-- associated notifications and subscribers. You can change your end date+-- with the @UpdateBudget@ operation.+timePeriod_end :: Lens.Lens' TimePeriod (Prelude.Maybe Prelude.UTCTime)+timePeriod_end = Lens.lens (\TimePeriod' {end} -> end) (\s@TimePeriod' {} a -> s {end = a} :: TimePeriod) Prelude.. Lens.mapping Data._Time++-- | The start date for a budget. If you created your budget and didn\'t+-- specify a start date, Amazon Web Services defaults to the start of your+-- chosen time period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). For+-- example, if you created your budget on January 24, 2018, chose @DAILY@,+-- and didn\'t set a start date, Amazon Web Services set your start date to+-- @01\/24\/18 00:00 UTC@. If you chose @MONTHLY@, Amazon Web Services set+-- your start date to @01\/01\/18 00:00 UTC@. The defaults are the same for+-- the Billing and Cost Management console and the API.+--+-- You can change your start date with the @UpdateBudget@ operation.+timePeriod_start :: Lens.Lens' TimePeriod (Prelude.Maybe Prelude.UTCTime)+timePeriod_start = Lens.lens (\TimePeriod' {start} -> start) (\s@TimePeriod' {} a -> s {start = a} :: TimePeriod) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON TimePeriod where+  parseJSON =+    Data.withObject+      "TimePeriod"+      ( \x ->+          TimePeriod'+            Prelude.<$> (x Data..:? "End")+            Prelude.<*> (x Data..:? "Start")+      )++instance Prelude.Hashable TimePeriod where+  hashWithSalt _salt TimePeriod' {..} =+    _salt+      `Prelude.hashWithSalt` end+      `Prelude.hashWithSalt` start++instance Prelude.NFData TimePeriod where+  rnf TimePeriod' {..} =+    Prelude.rnf end `Prelude.seq` Prelude.rnf start++instance Data.ToJSON TimePeriod where+  toJSON TimePeriod' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("End" Data..=) Prelude.<$> end,+            ("Start" Data..=) Prelude.<$> start+          ]+      )
+ gen/Amazonka/Budgets/Types/TimeUnit.hs view
@@ -0,0 +1,82 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Types.TimeUnit+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Types.TimeUnit+  ( TimeUnit+      ( ..,+        TimeUnit_ANNUALLY,+        TimeUnit_DAILY,+        TimeUnit_MONTHLY,+        TimeUnit_QUARTERLY+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The time unit of the budget, such as MONTHLY or QUARTERLY.+newtype TimeUnit = TimeUnit'+  { fromTimeUnit ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern TimeUnit_ANNUALLY :: TimeUnit+pattern TimeUnit_ANNUALLY = TimeUnit' "ANNUALLY"++pattern TimeUnit_DAILY :: TimeUnit+pattern TimeUnit_DAILY = TimeUnit' "DAILY"++pattern TimeUnit_MONTHLY :: TimeUnit+pattern TimeUnit_MONTHLY = TimeUnit' "MONTHLY"++pattern TimeUnit_QUARTERLY :: TimeUnit+pattern TimeUnit_QUARTERLY = TimeUnit' "QUARTERLY"++{-# COMPLETE+  TimeUnit_ANNUALLY,+  TimeUnit_DAILY,+  TimeUnit_MONTHLY,+  TimeUnit_QUARTERLY,+  TimeUnit'+  #-}
+ gen/Amazonka/Budgets/UpdateBudget.hs view
@@ -0,0 +1,188 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.UpdateBudget+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a budget. You can change every part of a budget except for the+-- @budgetName@ and the @calculatedSpend@. When you modify a budget, the+-- @calculatedSpend@ drops to zero until Amazon Web Services has new usage+-- data to use for forecasting.+--+-- Only one of @BudgetLimit@ or @PlannedBudgetLimits@ can be present in the+-- syntax at one time. Use the syntax that matches your case. The Request+-- Syntax section shows the @BudgetLimit@ syntax. For+-- @PlannedBudgetLimits@, see the+-- <https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_UpdateBudget.html#API_UpdateBudget_Examples Examples>+-- section.+module Amazonka.Budgets.UpdateBudget+  ( -- * Creating a Request+    UpdateBudget (..),+    newUpdateBudget,++    -- * Request Lenses+    updateBudget_accountId,+    updateBudget_newBudget,++    -- * Destructuring the Response+    UpdateBudgetResponse (..),+    newUpdateBudgetResponse,++    -- * Response Lenses+    updateBudgetResponse_httpStatus,+  )+where++import Amazonka.Budgets.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Request of UpdateBudget+--+-- /See:/ 'newUpdateBudget' smart constructor.+data UpdateBudget = UpdateBudget'+  { -- | The @accountId@ that is associated with the budget that you want to+    -- update.+    accountId :: Prelude.Text,+    -- | The budget that you want to update your budget to.+    newBudget' :: Budget+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateBudget' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountId', 'updateBudget_accountId' - The @accountId@ that is associated with the budget that you want to+-- update.+--+-- 'newBudget'', 'updateBudget_newBudget' - The budget that you want to update your budget to.+newUpdateBudget ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'newBudget''+  Budget ->+  UpdateBudget+newUpdateBudget pAccountId_ pNewBudget_ =+  UpdateBudget'+    { accountId = pAccountId_,+      newBudget' = pNewBudget_+    }++-- | The @accountId@ that is associated with the budget that you want to+-- update.+updateBudget_accountId :: Lens.Lens' UpdateBudget Prelude.Text+updateBudget_accountId = Lens.lens (\UpdateBudget' {accountId} -> accountId) (\s@UpdateBudget' {} a -> s {accountId = a} :: UpdateBudget)++-- | The budget that you want to update your budget to.+updateBudget_newBudget :: Lens.Lens' UpdateBudget Budget+updateBudget_newBudget = Lens.lens (\UpdateBudget' {newBudget'} -> newBudget') (\s@UpdateBudget' {} a -> s {newBudget' = a} :: UpdateBudget)++instance Core.AWSRequest UpdateBudget where+  type AWSResponse UpdateBudget = UpdateBudgetResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UpdateBudgetResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateBudget where+  hashWithSalt _salt UpdateBudget' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` newBudget'++instance Prelude.NFData UpdateBudget where+  rnf UpdateBudget' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf newBudget'++instance Data.ToHeaders UpdateBudget where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSBudgetServiceGateway.UpdateBudget" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateBudget where+  toJSON UpdateBudget' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("AccountId" Data..= accountId),+            Prelude.Just ("NewBudget" Data..= newBudget')+          ]+      )++instance Data.ToPath UpdateBudget where+  toPath = Prelude.const "/"++instance Data.ToQuery UpdateBudget where+  toQuery = Prelude.const Prelude.mempty++-- | Response of UpdateBudget+--+-- /See:/ 'newUpdateBudgetResponse' smart constructor.+data UpdateBudgetResponse = UpdateBudgetResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateBudgetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'updateBudgetResponse_httpStatus' - The response's http status code.+newUpdateBudgetResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateBudgetResponse+newUpdateBudgetResponse pHttpStatus_ =+  UpdateBudgetResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+updateBudgetResponse_httpStatus :: Lens.Lens' UpdateBudgetResponse Prelude.Int+updateBudgetResponse_httpStatus = Lens.lens (\UpdateBudgetResponse' {httpStatus} -> httpStatus) (\s@UpdateBudgetResponse' {} a -> s {httpStatus = a} :: UpdateBudgetResponse)++instance Prelude.NFData UpdateBudgetResponse where+  rnf UpdateBudgetResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Budgets/UpdateBudgetAction.hs view
@@ -0,0 +1,332 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.UpdateBudgetAction+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a budget action.+module Amazonka.Budgets.UpdateBudgetAction+  ( -- * Creating a Request+    UpdateBudgetAction (..),+    newUpdateBudgetAction,++    -- * Request Lenses+    updateBudgetAction_actionThreshold,+    updateBudgetAction_approvalModel,+    updateBudgetAction_definition,+    updateBudgetAction_executionRoleArn,+    updateBudgetAction_notificationType,+    updateBudgetAction_subscribers,+    updateBudgetAction_accountId,+    updateBudgetAction_budgetName,+    updateBudgetAction_actionId,++    -- * Destructuring the Response+    UpdateBudgetActionResponse (..),+    newUpdateBudgetActionResponse,++    -- * Response Lenses+    updateBudgetActionResponse_httpStatus,+    updateBudgetActionResponse_accountId,+    updateBudgetActionResponse_budgetName,+    updateBudgetActionResponse_oldAction,+    updateBudgetActionResponse_newAction,+  )+where++import Amazonka.Budgets.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateBudgetAction' smart constructor.+data UpdateBudgetAction = UpdateBudgetAction'+  { actionThreshold :: Prelude.Maybe ActionThreshold,+    -- | This specifies if the action needs manual or automatic approval.+    approvalModel :: Prelude.Maybe ApprovalModel,+    definition :: Prelude.Maybe Definition,+    -- | The role passed for action execution and reversion. Roles and actions+    -- must be in the same account.+    executionRoleArn :: Prelude.Maybe Prelude.Text,+    notificationType :: Prelude.Maybe NotificationType,+    subscribers :: Prelude.Maybe (Prelude.NonEmpty Subscriber),+    accountId :: Prelude.Text,+    budgetName :: Prelude.Text,+    -- | A system-generated universally unique identifier (UUID) for the action.+    actionId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateBudgetAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actionThreshold', 'updateBudgetAction_actionThreshold' - Undocumented member.+--+-- 'approvalModel', 'updateBudgetAction_approvalModel' - This specifies if the action needs manual or automatic approval.+--+-- 'definition', 'updateBudgetAction_definition' - Undocumented member.+--+-- 'executionRoleArn', 'updateBudgetAction_executionRoleArn' - The role passed for action execution and reversion. Roles and actions+-- must be in the same account.+--+-- 'notificationType', 'updateBudgetAction_notificationType' - Undocumented member.+--+-- 'subscribers', 'updateBudgetAction_subscribers' - Undocumented member.+--+-- 'accountId', 'updateBudgetAction_accountId' - Undocumented member.+--+-- 'budgetName', 'updateBudgetAction_budgetName' - Undocumented member.+--+-- 'actionId', 'updateBudgetAction_actionId' - A system-generated universally unique identifier (UUID) for the action.+newUpdateBudgetAction ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'budgetName'+  Prelude.Text ->+  -- | 'actionId'+  Prelude.Text ->+  UpdateBudgetAction+newUpdateBudgetAction+  pAccountId_+  pBudgetName_+  pActionId_ =+    UpdateBudgetAction'+      { actionThreshold =+          Prelude.Nothing,+        approvalModel = Prelude.Nothing,+        definition = Prelude.Nothing,+        executionRoleArn = Prelude.Nothing,+        notificationType = Prelude.Nothing,+        subscribers = Prelude.Nothing,+        accountId = pAccountId_,+        budgetName = pBudgetName_,+        actionId = pActionId_+      }++-- | Undocumented member.+updateBudgetAction_actionThreshold :: Lens.Lens' UpdateBudgetAction (Prelude.Maybe ActionThreshold)+updateBudgetAction_actionThreshold = Lens.lens (\UpdateBudgetAction' {actionThreshold} -> actionThreshold) (\s@UpdateBudgetAction' {} a -> s {actionThreshold = a} :: UpdateBudgetAction)++-- | This specifies if the action needs manual or automatic approval.+updateBudgetAction_approvalModel :: Lens.Lens' UpdateBudgetAction (Prelude.Maybe ApprovalModel)+updateBudgetAction_approvalModel = Lens.lens (\UpdateBudgetAction' {approvalModel} -> approvalModel) (\s@UpdateBudgetAction' {} a -> s {approvalModel = a} :: UpdateBudgetAction)++-- | Undocumented member.+updateBudgetAction_definition :: Lens.Lens' UpdateBudgetAction (Prelude.Maybe Definition)+updateBudgetAction_definition = Lens.lens (\UpdateBudgetAction' {definition} -> definition) (\s@UpdateBudgetAction' {} a -> s {definition = a} :: UpdateBudgetAction)++-- | The role passed for action execution and reversion. Roles and actions+-- must be in the same account.+updateBudgetAction_executionRoleArn :: Lens.Lens' UpdateBudgetAction (Prelude.Maybe Prelude.Text)+updateBudgetAction_executionRoleArn = Lens.lens (\UpdateBudgetAction' {executionRoleArn} -> executionRoleArn) (\s@UpdateBudgetAction' {} a -> s {executionRoleArn = a} :: UpdateBudgetAction)++-- | Undocumented member.+updateBudgetAction_notificationType :: Lens.Lens' UpdateBudgetAction (Prelude.Maybe NotificationType)+updateBudgetAction_notificationType = Lens.lens (\UpdateBudgetAction' {notificationType} -> notificationType) (\s@UpdateBudgetAction' {} a -> s {notificationType = a} :: UpdateBudgetAction)++-- | Undocumented member.+updateBudgetAction_subscribers :: Lens.Lens' UpdateBudgetAction (Prelude.Maybe (Prelude.NonEmpty Subscriber))+updateBudgetAction_subscribers = Lens.lens (\UpdateBudgetAction' {subscribers} -> subscribers) (\s@UpdateBudgetAction' {} a -> s {subscribers = a} :: UpdateBudgetAction) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+updateBudgetAction_accountId :: Lens.Lens' UpdateBudgetAction Prelude.Text+updateBudgetAction_accountId = Lens.lens (\UpdateBudgetAction' {accountId} -> accountId) (\s@UpdateBudgetAction' {} a -> s {accountId = a} :: UpdateBudgetAction)++-- | Undocumented member.+updateBudgetAction_budgetName :: Lens.Lens' UpdateBudgetAction Prelude.Text+updateBudgetAction_budgetName = Lens.lens (\UpdateBudgetAction' {budgetName} -> budgetName) (\s@UpdateBudgetAction' {} a -> s {budgetName = a} :: UpdateBudgetAction)++-- | A system-generated universally unique identifier (UUID) for the action.+updateBudgetAction_actionId :: Lens.Lens' UpdateBudgetAction Prelude.Text+updateBudgetAction_actionId = Lens.lens (\UpdateBudgetAction' {actionId} -> actionId) (\s@UpdateBudgetAction' {} a -> s {actionId = a} :: UpdateBudgetAction)++instance Core.AWSRequest UpdateBudgetAction where+  type+    AWSResponse UpdateBudgetAction =+      UpdateBudgetActionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateBudgetActionResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "AccountId")+            Prelude.<*> (x Data..:> "BudgetName")+            Prelude.<*> (x Data..:> "OldAction")+            Prelude.<*> (x Data..:> "NewAction")+      )++instance Prelude.Hashable UpdateBudgetAction where+  hashWithSalt _salt UpdateBudgetAction' {..} =+    _salt+      `Prelude.hashWithSalt` actionThreshold+      `Prelude.hashWithSalt` approvalModel+      `Prelude.hashWithSalt` definition+      `Prelude.hashWithSalt` executionRoleArn+      `Prelude.hashWithSalt` notificationType+      `Prelude.hashWithSalt` subscribers+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` budgetName+      `Prelude.hashWithSalt` actionId++instance Prelude.NFData UpdateBudgetAction where+  rnf UpdateBudgetAction' {..} =+    Prelude.rnf actionThreshold+      `Prelude.seq` Prelude.rnf approvalModel+      `Prelude.seq` Prelude.rnf definition+      `Prelude.seq` Prelude.rnf executionRoleArn+      `Prelude.seq` Prelude.rnf notificationType+      `Prelude.seq` Prelude.rnf subscribers+      `Prelude.seq` Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf budgetName+      `Prelude.seq` Prelude.rnf actionId++instance Data.ToHeaders UpdateBudgetAction where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSBudgetServiceGateway.UpdateBudgetAction" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateBudgetAction where+  toJSON UpdateBudgetAction' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ActionThreshold" Data..=)+              Prelude.<$> actionThreshold,+            ("ApprovalModel" Data..=) Prelude.<$> approvalModel,+            ("Definition" Data..=) Prelude.<$> definition,+            ("ExecutionRoleArn" Data..=)+              Prelude.<$> executionRoleArn,+            ("NotificationType" Data..=)+              Prelude.<$> notificationType,+            ("Subscribers" Data..=) Prelude.<$> subscribers,+            Prelude.Just ("AccountId" Data..= accountId),+            Prelude.Just ("BudgetName" Data..= budgetName),+            Prelude.Just ("ActionId" Data..= actionId)+          ]+      )++instance Data.ToPath UpdateBudgetAction where+  toPath = Prelude.const "/"++instance Data.ToQuery UpdateBudgetAction where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateBudgetActionResponse' smart constructor.+data UpdateBudgetActionResponse = UpdateBudgetActionResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    accountId :: Prelude.Text,+    budgetName :: Prelude.Text,+    -- | The previous action resource information.+    oldAction :: Action,+    -- | The updated action resource information.+    newAction' :: Action+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateBudgetActionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'updateBudgetActionResponse_httpStatus' - The response's http status code.+--+-- 'accountId', 'updateBudgetActionResponse_accountId' - Undocumented member.+--+-- 'budgetName', 'updateBudgetActionResponse_budgetName' - Undocumented member.+--+-- 'oldAction', 'updateBudgetActionResponse_oldAction' - The previous action resource information.+--+-- 'newAction'', 'updateBudgetActionResponse_newAction' - The updated action resource information.+newUpdateBudgetActionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'accountId'+  Prelude.Text ->+  -- | 'budgetName'+  Prelude.Text ->+  -- | 'oldAction'+  Action ->+  -- | 'newAction''+  Action ->+  UpdateBudgetActionResponse+newUpdateBudgetActionResponse+  pHttpStatus_+  pAccountId_+  pBudgetName_+  pOldAction_+  pNewAction_ =+    UpdateBudgetActionResponse'+      { httpStatus =+          pHttpStatus_,+        accountId = pAccountId_,+        budgetName = pBudgetName_,+        oldAction = pOldAction_,+        newAction' = pNewAction_+      }++-- | The response's http status code.+updateBudgetActionResponse_httpStatus :: Lens.Lens' UpdateBudgetActionResponse Prelude.Int+updateBudgetActionResponse_httpStatus = Lens.lens (\UpdateBudgetActionResponse' {httpStatus} -> httpStatus) (\s@UpdateBudgetActionResponse' {} a -> s {httpStatus = a} :: UpdateBudgetActionResponse)++-- | Undocumented member.+updateBudgetActionResponse_accountId :: Lens.Lens' UpdateBudgetActionResponse Prelude.Text+updateBudgetActionResponse_accountId = Lens.lens (\UpdateBudgetActionResponse' {accountId} -> accountId) (\s@UpdateBudgetActionResponse' {} a -> s {accountId = a} :: UpdateBudgetActionResponse)++-- | Undocumented member.+updateBudgetActionResponse_budgetName :: Lens.Lens' UpdateBudgetActionResponse Prelude.Text+updateBudgetActionResponse_budgetName = Lens.lens (\UpdateBudgetActionResponse' {budgetName} -> budgetName) (\s@UpdateBudgetActionResponse' {} a -> s {budgetName = a} :: UpdateBudgetActionResponse)++-- | The previous action resource information.+updateBudgetActionResponse_oldAction :: Lens.Lens' UpdateBudgetActionResponse Action+updateBudgetActionResponse_oldAction = Lens.lens (\UpdateBudgetActionResponse' {oldAction} -> oldAction) (\s@UpdateBudgetActionResponse' {} a -> s {oldAction = a} :: UpdateBudgetActionResponse)++-- | The updated action resource information.+updateBudgetActionResponse_newAction :: Lens.Lens' UpdateBudgetActionResponse Action+updateBudgetActionResponse_newAction = Lens.lens (\UpdateBudgetActionResponse' {newAction'} -> newAction') (\s@UpdateBudgetActionResponse' {} a -> s {newAction' = a} :: UpdateBudgetActionResponse)++instance Prelude.NFData UpdateBudgetActionResponse where+  rnf UpdateBudgetActionResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf budgetName+      `Prelude.seq` Prelude.rnf oldAction+      `Prelude.seq` Prelude.rnf newAction'
+ gen/Amazonka/Budgets/UpdateNotification.hs view
@@ -0,0 +1,219 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.UpdateNotification+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a notification.+module Amazonka.Budgets.UpdateNotification+  ( -- * Creating a Request+    UpdateNotification (..),+    newUpdateNotification,++    -- * Request Lenses+    updateNotification_accountId,+    updateNotification_budgetName,+    updateNotification_oldNotification,+    updateNotification_newNotification,++    -- * Destructuring the Response+    UpdateNotificationResponse (..),+    newUpdateNotificationResponse,++    -- * Response Lenses+    updateNotificationResponse_httpStatus,+  )+where++import Amazonka.Budgets.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Request of UpdateNotification+--+-- /See:/ 'newUpdateNotification' smart constructor.+data UpdateNotification = UpdateNotification'+  { -- | The @accountId@ that is associated with the budget whose notification+    -- you want to update.+    accountId :: Prelude.Text,+    -- | The name of the budget whose notification you want to update.+    budgetName :: Prelude.Text,+    -- | The previous notification that is associated with a budget.+    oldNotification :: Notification,+    -- | The updated notification to be associated with a budget.+    newNotification' :: Notification+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateNotification' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountId', 'updateNotification_accountId' - The @accountId@ that is associated with the budget whose notification+-- you want to update.+--+-- 'budgetName', 'updateNotification_budgetName' - The name of the budget whose notification you want to update.+--+-- 'oldNotification', 'updateNotification_oldNotification' - The previous notification that is associated with a budget.+--+-- 'newNotification'', 'updateNotification_newNotification' - The updated notification to be associated with a budget.+newUpdateNotification ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'budgetName'+  Prelude.Text ->+  -- | 'oldNotification'+  Notification ->+  -- | 'newNotification''+  Notification ->+  UpdateNotification+newUpdateNotification+  pAccountId_+  pBudgetName_+  pOldNotification_+  pNewNotification_ =+    UpdateNotification'+      { accountId = pAccountId_,+        budgetName = pBudgetName_,+        oldNotification = pOldNotification_,+        newNotification' = pNewNotification_+      }++-- | The @accountId@ that is associated with the budget whose notification+-- you want to update.+updateNotification_accountId :: Lens.Lens' UpdateNotification Prelude.Text+updateNotification_accountId = Lens.lens (\UpdateNotification' {accountId} -> accountId) (\s@UpdateNotification' {} a -> s {accountId = a} :: UpdateNotification)++-- | The name of the budget whose notification you want to update.+updateNotification_budgetName :: Lens.Lens' UpdateNotification Prelude.Text+updateNotification_budgetName = Lens.lens (\UpdateNotification' {budgetName} -> budgetName) (\s@UpdateNotification' {} a -> s {budgetName = a} :: UpdateNotification)++-- | The previous notification that is associated with a budget.+updateNotification_oldNotification :: Lens.Lens' UpdateNotification Notification+updateNotification_oldNotification = Lens.lens (\UpdateNotification' {oldNotification} -> oldNotification) (\s@UpdateNotification' {} a -> s {oldNotification = a} :: UpdateNotification)++-- | The updated notification to be associated with a budget.+updateNotification_newNotification :: Lens.Lens' UpdateNotification Notification+updateNotification_newNotification = Lens.lens (\UpdateNotification' {newNotification'} -> newNotification') (\s@UpdateNotification' {} a -> s {newNotification' = a} :: UpdateNotification)++instance Core.AWSRequest UpdateNotification where+  type+    AWSResponse UpdateNotification =+      UpdateNotificationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UpdateNotificationResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateNotification where+  hashWithSalt _salt UpdateNotification' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` budgetName+      `Prelude.hashWithSalt` oldNotification+      `Prelude.hashWithSalt` newNotification'++instance Prelude.NFData UpdateNotification where+  rnf UpdateNotification' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf budgetName+      `Prelude.seq` Prelude.rnf oldNotification+      `Prelude.seq` Prelude.rnf newNotification'++instance Data.ToHeaders UpdateNotification where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSBudgetServiceGateway.UpdateNotification" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateNotification where+  toJSON UpdateNotification' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("AccountId" Data..= accountId),+            Prelude.Just ("BudgetName" Data..= budgetName),+            Prelude.Just+              ("OldNotification" Data..= oldNotification),+            Prelude.Just+              ("NewNotification" Data..= newNotification')+          ]+      )++instance Data.ToPath UpdateNotification where+  toPath = Prelude.const "/"++instance Data.ToQuery UpdateNotification where+  toQuery = Prelude.const Prelude.mempty++-- | Response of UpdateNotification+--+-- /See:/ 'newUpdateNotificationResponse' smart constructor.+data UpdateNotificationResponse = UpdateNotificationResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateNotificationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'updateNotificationResponse_httpStatus' - The response's http status code.+newUpdateNotificationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateNotificationResponse+newUpdateNotificationResponse pHttpStatus_ =+  UpdateNotificationResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+updateNotificationResponse_httpStatus :: Lens.Lens' UpdateNotificationResponse Prelude.Int+updateNotificationResponse_httpStatus = Lens.lens (\UpdateNotificationResponse' {httpStatus} -> httpStatus) (\s@UpdateNotificationResponse' {} a -> s {httpStatus = a} :: UpdateNotificationResponse)++instance Prelude.NFData UpdateNotificationResponse where+  rnf UpdateNotificationResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Budgets/UpdateSubscriber.hs view
@@ -0,0 +1,234 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.UpdateSubscriber+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a subscriber.+module Amazonka.Budgets.UpdateSubscriber+  ( -- * Creating a Request+    UpdateSubscriber (..),+    newUpdateSubscriber,++    -- * Request Lenses+    updateSubscriber_accountId,+    updateSubscriber_budgetName,+    updateSubscriber_notification,+    updateSubscriber_oldSubscriber,+    updateSubscriber_newSubscriber,++    -- * Destructuring the Response+    UpdateSubscriberResponse (..),+    newUpdateSubscriberResponse,++    -- * Response Lenses+    updateSubscriberResponse_httpStatus,+  )+where++import Amazonka.Budgets.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Request of UpdateSubscriber+--+-- /See:/ 'newUpdateSubscriber' smart constructor.+data UpdateSubscriber = UpdateSubscriber'+  { -- | The @accountId@ that is associated with the budget whose subscriber you+    -- want to update.+    accountId :: Prelude.Text,+    -- | The name of the budget whose subscriber you want to update.+    budgetName :: Prelude.Text,+    -- | The notification whose subscriber you want to update.+    notification :: Notification,+    -- | The previous subscriber that is associated with a budget notification.+    oldSubscriber :: Subscriber,+    -- | The updated subscriber that is associated with a budget notification.+    newSubscriber' :: Subscriber+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSubscriber' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountId', 'updateSubscriber_accountId' - The @accountId@ that is associated with the budget whose subscriber you+-- want to update.+--+-- 'budgetName', 'updateSubscriber_budgetName' - The name of the budget whose subscriber you want to update.+--+-- 'notification', 'updateSubscriber_notification' - The notification whose subscriber you want to update.+--+-- 'oldSubscriber', 'updateSubscriber_oldSubscriber' - The previous subscriber that is associated with a budget notification.+--+-- 'newSubscriber'', 'updateSubscriber_newSubscriber' - The updated subscriber that is associated with a budget notification.+newUpdateSubscriber ::+  -- | 'accountId'+  Prelude.Text ->+  -- | 'budgetName'+  Prelude.Text ->+  -- | 'notification'+  Notification ->+  -- | 'oldSubscriber'+  Subscriber ->+  -- | 'newSubscriber''+  Subscriber ->+  UpdateSubscriber+newUpdateSubscriber+  pAccountId_+  pBudgetName_+  pNotification_+  pOldSubscriber_+  pNewSubscriber_ =+    UpdateSubscriber'+      { accountId = pAccountId_,+        budgetName = pBudgetName_,+        notification = pNotification_,+        oldSubscriber = pOldSubscriber_,+        newSubscriber' = pNewSubscriber_+      }++-- | The @accountId@ that is associated with the budget whose subscriber you+-- want to update.+updateSubscriber_accountId :: Lens.Lens' UpdateSubscriber Prelude.Text+updateSubscriber_accountId = Lens.lens (\UpdateSubscriber' {accountId} -> accountId) (\s@UpdateSubscriber' {} a -> s {accountId = a} :: UpdateSubscriber)++-- | The name of the budget whose subscriber you want to update.+updateSubscriber_budgetName :: Lens.Lens' UpdateSubscriber Prelude.Text+updateSubscriber_budgetName = Lens.lens (\UpdateSubscriber' {budgetName} -> budgetName) (\s@UpdateSubscriber' {} a -> s {budgetName = a} :: UpdateSubscriber)++-- | The notification whose subscriber you want to update.+updateSubscriber_notification :: Lens.Lens' UpdateSubscriber Notification+updateSubscriber_notification = Lens.lens (\UpdateSubscriber' {notification} -> notification) (\s@UpdateSubscriber' {} a -> s {notification = a} :: UpdateSubscriber)++-- | The previous subscriber that is associated with a budget notification.+updateSubscriber_oldSubscriber :: Lens.Lens' UpdateSubscriber Subscriber+updateSubscriber_oldSubscriber = Lens.lens (\UpdateSubscriber' {oldSubscriber} -> oldSubscriber) (\s@UpdateSubscriber' {} a -> s {oldSubscriber = a} :: UpdateSubscriber)++-- | The updated subscriber that is associated with a budget notification.+updateSubscriber_newSubscriber :: Lens.Lens' UpdateSubscriber Subscriber+updateSubscriber_newSubscriber = Lens.lens (\UpdateSubscriber' {newSubscriber'} -> newSubscriber') (\s@UpdateSubscriber' {} a -> s {newSubscriber' = a} :: UpdateSubscriber)++instance Core.AWSRequest UpdateSubscriber where+  type+    AWSResponse UpdateSubscriber =+      UpdateSubscriberResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UpdateSubscriberResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateSubscriber where+  hashWithSalt _salt UpdateSubscriber' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` budgetName+      `Prelude.hashWithSalt` notification+      `Prelude.hashWithSalt` oldSubscriber+      `Prelude.hashWithSalt` newSubscriber'++instance Prelude.NFData UpdateSubscriber where+  rnf UpdateSubscriber' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf budgetName+      `Prelude.seq` Prelude.rnf notification+      `Prelude.seq` Prelude.rnf oldSubscriber+      `Prelude.seq` Prelude.rnf newSubscriber'++instance Data.ToHeaders UpdateSubscriber where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "AWSBudgetServiceGateway.UpdateSubscriber" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateSubscriber where+  toJSON UpdateSubscriber' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("AccountId" Data..= accountId),+            Prelude.Just ("BudgetName" Data..= budgetName),+            Prelude.Just ("Notification" Data..= notification),+            Prelude.Just ("OldSubscriber" Data..= oldSubscriber),+            Prelude.Just+              ("NewSubscriber" Data..= newSubscriber')+          ]+      )++instance Data.ToPath UpdateSubscriber where+  toPath = Prelude.const "/"++instance Data.ToQuery UpdateSubscriber where+  toQuery = Prelude.const Prelude.mempty++-- | Response of UpdateSubscriber+--+-- /See:/ 'newUpdateSubscriberResponse' smart constructor.+data UpdateSubscriberResponse = UpdateSubscriberResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSubscriberResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'updateSubscriberResponse_httpStatus' - The response's http status code.+newUpdateSubscriberResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateSubscriberResponse+newUpdateSubscriberResponse pHttpStatus_ =+  UpdateSubscriberResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+updateSubscriberResponse_httpStatus :: Lens.Lens' UpdateSubscriberResponse Prelude.Int+updateSubscriberResponse_httpStatus = Lens.lens (\UpdateSubscriberResponse' {httpStatus} -> httpStatus) (\s@UpdateSubscriberResponse' {} a -> s {httpStatus = a} :: UpdateSubscriberResponse)++instance Prelude.NFData UpdateSubscriberResponse where+  rnf UpdateSubscriberResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Budgets/Waiters.hs view
@@ -0,0 +1,24 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Budgets.Waiters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Budgets.Waiters where++import Amazonka.Budgets.Lens+import Amazonka.Budgets.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude
− gen/Network/AWS/Budgets.hs
@@ -1,241 +0,0 @@-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}-{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.Budgets--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Budgets enable you to plan your service usage, service costs, and your RI utilization. You can also track how close your plan is to your budgeted amount or to the free tier limits. Budgets provide you with a quick way to see your usage-to-date and current estimated charges from AWS and to see how much your predicted usage accrues in charges by the end of the month. Budgets also compare current estimates and charges to the amount that you indicated you want to use or spend and lets you see how much of your budget has been used. AWS updates your budget status several times a day. Budgets track your unblended costs, subscriptions, and refunds. You can create the following types of budgets:---------     * Cost budgets allow you to say how much you want to spend on a service.------     * Usage budgets allow you to say how many hours you want to use for one or more services.------     * RI utilization budgets allow you to define a utilization threshold and receive alerts when RIs are tracking below that threshold.------------ You can create up to 20,000 budgets per AWS master account. Your first two budgets are free of charge. Each additional budget costs $0.02 per day. You can set up optional notifications that warn you if you exceed, or are forecasted to exceed, your budgeted amount. You can have notifications sent to an Amazon SNS topic, to an email address, or to both. For more information, see <https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/budgets-sns-policy.html Creating an Amazon SNS Topic for Budget Notifications> . AWS Free Tier usage alerts via AWS Budgets are provided for you, and do not count toward your budget limits.------ Service Endpoint------ The AWS Budgets API provides the following endpoint:------     * https://budgets.amazonaws.com------------ For information about costs associated with the AWS Budgets API, see <https://aws.amazon.com/aws-cost-management/pricing/ AWS Cost Management Pricing> .----module Network.AWS.Budgets-    (-    -- * Service Configuration-      budgets--    -- * Errors-    -- $errors--    -- ** InvalidParameterException-    , _InvalidParameterException--    -- ** InternalErrorException-    , _InternalErrorException--    -- ** ExpiredNextTokenException-    , _ExpiredNextTokenException--    -- ** NotFoundException-    , _NotFoundException--    -- ** InvalidNextTokenException-    , _InvalidNextTokenException--    -- ** DuplicateRecordException-    , _DuplicateRecordException--    -- ** CreationLimitExceededException-    , _CreationLimitExceededException--    -- * Waiters-    -- $waiters--    -- * Operations-    -- $operations--    -- ** DescribeSubscribersForNotification-    , module Network.AWS.Budgets.DescribeSubscribersForNotification--    -- ** DescribeNotificationsForBudget-    , module Network.AWS.Budgets.DescribeNotificationsForBudget--    -- ** DescribeBudgets-    , module Network.AWS.Budgets.DescribeBudgets--    -- ** CreateSubscriber-    , module Network.AWS.Budgets.CreateSubscriber--    -- ** UpdateBudget-    , module Network.AWS.Budgets.UpdateBudget--    -- ** DeleteBudget-    , module Network.AWS.Budgets.DeleteBudget--    -- ** DeleteNotification-    , module Network.AWS.Budgets.DeleteNotification--    -- ** UpdateNotification-    , module Network.AWS.Budgets.UpdateNotification--    -- ** DescribeBudget-    , module Network.AWS.Budgets.DescribeBudget--    -- ** UpdateSubscriber-    , module Network.AWS.Budgets.UpdateSubscriber--    -- ** DeleteSubscriber-    , module Network.AWS.Budgets.DeleteSubscriber--    -- ** CreateBudget-    , module Network.AWS.Budgets.CreateBudget--    -- ** CreateNotification-    , module Network.AWS.Budgets.CreateNotification--    -- * Types--    -- ** BudgetType-    , BudgetType (..)--    -- ** ComparisonOperator-    , ComparisonOperator (..)--    -- ** NotificationType-    , NotificationType (..)--    -- ** SubscriptionType-    , SubscriptionType (..)--    -- ** ThresholdType-    , ThresholdType (..)--    -- ** TimeUnit-    , TimeUnit (..)--    -- ** Budget-    , Budget-    , budget-    , bCalculatedSpend-    , bBudgetLimit-    , bTimePeriod-    , bCostTypes-    , bCostFilters-    , bBudgetName-    , bTimeUnit-    , bBudgetType--    -- ** CalculatedSpend-    , CalculatedSpend-    , calculatedSpend-    , csForecastedSpend-    , csActualSpend--    -- ** CostTypes-    , CostTypes-    , costTypes-    , ctUseAmortized-    , ctIncludeRecurring-    , ctUseBlended-    , ctIncludeSupport-    , ctIncludeDiscount-    , ctIncludeSubscription-    , ctIncludeRefund-    , ctIncludeUpfront-    , ctIncludeOtherSubscription-    , ctIncludeTax-    , ctIncludeCredit--    -- ** Notification-    , Notification-    , notification-    , nThresholdType-    , nNotificationType-    , nComparisonOperator-    , nThreshold--    -- ** NotificationWithSubscribers-    , NotificationWithSubscribers-    , notificationWithSubscribers-    , nwsNotification-    , nwsSubscribers--    -- ** Spend-    , Spend-    , spend-    , sAmount-    , sUnit--    -- ** Subscriber-    , Subscriber-    , subscriber-    , sSubscriptionType-    , sAddress--    -- ** TimePeriod-    , TimePeriod-    , timePeriod-    , tpStart-    , tpEnd-    ) where--import Network.AWS.Budgets.CreateBudget-import Network.AWS.Budgets.CreateNotification-import Network.AWS.Budgets.CreateSubscriber-import Network.AWS.Budgets.DeleteBudget-import Network.AWS.Budgets.DeleteNotification-import Network.AWS.Budgets.DeleteSubscriber-import Network.AWS.Budgets.DescribeBudget-import Network.AWS.Budgets.DescribeBudgets-import Network.AWS.Budgets.DescribeNotificationsForBudget-import Network.AWS.Budgets.DescribeSubscribersForNotification-import Network.AWS.Budgets.Types-import Network.AWS.Budgets.UpdateBudget-import Network.AWS.Budgets.UpdateNotification-import Network.AWS.Budgets.UpdateSubscriber-import Network.AWS.Budgets.Waiters--{- $errors-Error matchers are designed for use with the functions provided by-<http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.-This allows catching (and rethrowing) service specific errors returned-by 'Budgets'.--}--{- $operations-Some AWS operations return results that are incomplete and require subsequent-requests in order to obtain the entire result set. The process of sending-subsequent requests to continue where a previous request left off is called-pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to-1000 objects at a time, and you must send subsequent requests with the-appropriate Marker in order to retrieve the next page of results.--Operations that have an 'AWSPager' instance can transparently perform subsequent-requests, correctly setting Markers and other request facets to iterate through-the entire result set of a truncated API operation. Operations which support-this have an additional note in the documentation.--Many operations have the ability to filter results on the server side. See the-individual operation parameters for details.--}--{- $waiters-Waiters poll by repeatedly sending a request until some remote success condition-configured by the 'Wait' specification is fulfilled. The 'Wait' specification-determines how many attempts should be made, in addition to delay and retry strategies.--}
− gen/Network/AWS/Budgets/CreateBudget.hs
@@ -1,156 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.Budgets.CreateBudget--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Creates a budget and, if included, notifications and subscribers.-------module Network.AWS.Budgets.CreateBudget-    (-    -- * Creating a Request-      createBudget-    , CreateBudget-    -- * Request Lenses-    , cbNotificationsWithSubscribers-    , cbAccountId-    , cbBudget--    -- * Destructuring the Response-    , createBudgetResponse-    , CreateBudgetResponse-    -- * Response Lenses-    , cbrsResponseStatus-    ) where--import Network.AWS.Budgets.Types-import Network.AWS.Budgets.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response---- | Request of CreateBudget------------ /See:/ 'createBudget' smart constructor.-data CreateBudget = CreateBudget'-  { _cbNotificationsWithSubscribers :: !(Maybe [NotificationWithSubscribers])-  , _cbAccountId                    :: !Text-  , _cbBudget                       :: !Budget-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateBudget' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cbNotificationsWithSubscribers' - A notification that you want to associate with a budget. A budget can have up to five notifications, and each notification can have one SNS subscriber and up to ten email subscribers. If you include notifications and subscribers in your @CreateBudget@ call, AWS creates the notifications and subscribers for you.------ * 'cbAccountId' - The @accountId@ that is associated with the budget.------ * 'cbBudget' - The budget object that you want to create.-createBudget-    :: Text -- ^ 'cbAccountId'-    -> Budget -- ^ 'cbBudget'-    -> CreateBudget-createBudget pAccountId_ pBudget_ =-  CreateBudget'-    { _cbNotificationsWithSubscribers = Nothing-    , _cbAccountId = pAccountId_-    , _cbBudget = pBudget_-    }----- | A notification that you want to associate with a budget. A budget can have up to five notifications, and each notification can have one SNS subscriber and up to ten email subscribers. If you include notifications and subscribers in your @CreateBudget@ call, AWS creates the notifications and subscribers for you.-cbNotificationsWithSubscribers :: Lens' CreateBudget [NotificationWithSubscribers]-cbNotificationsWithSubscribers = lens _cbNotificationsWithSubscribers (\ s a -> s{_cbNotificationsWithSubscribers = a}) . _Default . _Coerce---- | The @accountId@ that is associated with the budget.-cbAccountId :: Lens' CreateBudget Text-cbAccountId = lens _cbAccountId (\ s a -> s{_cbAccountId = a})---- | The budget object that you want to create.-cbBudget :: Lens' CreateBudget Budget-cbBudget = lens _cbBudget (\ s a -> s{_cbBudget = a})--instance AWSRequest CreateBudget where-        type Rs CreateBudget = CreateBudgetResponse-        request = postJSON budgets-        response-          = receiveEmpty-              (\ s h x ->-                 CreateBudgetResponse' <$> (pure (fromEnum s)))--instance Hashable CreateBudget where--instance NFData CreateBudget where--instance ToHeaders CreateBudget where-        toHeaders-          = const-              (mconcat-                 ["X-Amz-Target" =#-                    ("AWSBudgetServiceGateway.CreateBudget" ::-                       ByteString),-                  "Content-Type" =#-                    ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON CreateBudget where-        toJSON CreateBudget'{..}-          = object-              (catMaybes-                 [("NotificationsWithSubscribers" .=) <$>-                    _cbNotificationsWithSubscribers,-                  Just ("AccountId" .= _cbAccountId),-                  Just ("Budget" .= _cbBudget)])--instance ToPath CreateBudget where-        toPath = const "/"--instance ToQuery CreateBudget where-        toQuery = const mempty---- | Response of CreateBudget------------ /See:/ 'createBudgetResponse' smart constructor.-newtype CreateBudgetResponse = CreateBudgetResponse'-  { _cbrsResponseStatus :: Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateBudgetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cbrsResponseStatus' - -- | The response status code.-createBudgetResponse-    :: Int -- ^ 'cbrsResponseStatus'-    -> CreateBudgetResponse-createBudgetResponse pResponseStatus_ =-  CreateBudgetResponse' {_cbrsResponseStatus = pResponseStatus_}----- | -- | The response status code.-cbrsResponseStatus :: Lens' CreateBudgetResponse Int-cbrsResponseStatus = lens _cbrsResponseStatus (\ s a -> s{_cbrsResponseStatus = a})--instance NFData CreateBudgetResponse where
− gen/Network/AWS/Budgets/CreateNotification.hs
@@ -1,168 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.Budgets.CreateNotification--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Creates a notification. You must create the budget before you create the associated notification.-------module Network.AWS.Budgets.CreateNotification-    (-    -- * Creating a Request-      createNotification-    , CreateNotification-    -- * Request Lenses-    , cnAccountId-    , cnBudgetName-    , cnNotification-    , cnSubscribers--    -- * Destructuring the Response-    , createNotificationResponse-    , CreateNotificationResponse-    -- * Response Lenses-    , cnrsResponseStatus-    ) where--import Network.AWS.Budgets.Types-import Network.AWS.Budgets.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response---- | Request of CreateNotification------------ /See:/ 'createNotification' smart constructor.-data CreateNotification = CreateNotification'-  { _cnAccountId    :: !Text-  , _cnBudgetName   :: !Text-  , _cnNotification :: !Notification-  , _cnSubscribers  :: !(List1 Subscriber)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateNotification' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cnAccountId' - The @accountId@ that is associated with the budget that you want to create a notification for.------ * 'cnBudgetName' - The name of the budget that you want AWS to notified you about. Budget names must be unique within an account.------ * 'cnNotification' - The notification that you want to create.------ * 'cnSubscribers' - A list of subscribers that you want to associate with the notification. Each notification can have one SNS subscriber and up to ten email subscribers.-createNotification-    :: Text -- ^ 'cnAccountId'-    -> Text -- ^ 'cnBudgetName'-    -> Notification -- ^ 'cnNotification'-    -> NonEmpty Subscriber -- ^ 'cnSubscribers'-    -> CreateNotification-createNotification pAccountId_ pBudgetName_ pNotification_ pSubscribers_ =-  CreateNotification'-    { _cnAccountId = pAccountId_-    , _cnBudgetName = pBudgetName_-    , _cnNotification = pNotification_-    , _cnSubscribers = _List1 # pSubscribers_-    }----- | The @accountId@ that is associated with the budget that you want to create a notification for.-cnAccountId :: Lens' CreateNotification Text-cnAccountId = lens _cnAccountId (\ s a -> s{_cnAccountId = a})---- | The name of the budget that you want AWS to notified you about. Budget names must be unique within an account.-cnBudgetName :: Lens' CreateNotification Text-cnBudgetName = lens _cnBudgetName (\ s a -> s{_cnBudgetName = a})---- | The notification that you want to create.-cnNotification :: Lens' CreateNotification Notification-cnNotification = lens _cnNotification (\ s a -> s{_cnNotification = a})---- | A list of subscribers that you want to associate with the notification. Each notification can have one SNS subscriber and up to ten email subscribers.-cnSubscribers :: Lens' CreateNotification (NonEmpty Subscriber)-cnSubscribers = lens _cnSubscribers (\ s a -> s{_cnSubscribers = a}) . _List1--instance AWSRequest CreateNotification where-        type Rs CreateNotification =-             CreateNotificationResponse-        request = postJSON budgets-        response-          = receiveEmpty-              (\ s h x ->-                 CreateNotificationResponse' <$> (pure (fromEnum s)))--instance Hashable CreateNotification where--instance NFData CreateNotification where--instance ToHeaders CreateNotification where-        toHeaders-          = const-              (mconcat-                 ["X-Amz-Target" =#-                    ("AWSBudgetServiceGateway.CreateNotification" ::-                       ByteString),-                  "Content-Type" =#-                    ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON CreateNotification where-        toJSON CreateNotification'{..}-          = object-              (catMaybes-                 [Just ("AccountId" .= _cnAccountId),-                  Just ("BudgetName" .= _cnBudgetName),-                  Just ("Notification" .= _cnNotification),-                  Just ("Subscribers" .= _cnSubscribers)])--instance ToPath CreateNotification where-        toPath = const "/"--instance ToQuery CreateNotification where-        toQuery = const mempty---- | Response of CreateNotification------------ /See:/ 'createNotificationResponse' smart constructor.-newtype CreateNotificationResponse = CreateNotificationResponse'-  { _cnrsResponseStatus :: Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateNotificationResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cnrsResponseStatus' - -- | The response status code.-createNotificationResponse-    :: Int -- ^ 'cnrsResponseStatus'-    -> CreateNotificationResponse-createNotificationResponse pResponseStatus_ =-  CreateNotificationResponse' {_cnrsResponseStatus = pResponseStatus_}----- | -- | The response status code.-cnrsResponseStatus :: Lens' CreateNotificationResponse Int-cnrsResponseStatus = lens _cnrsResponseStatus (\ s a -> s{_cnrsResponseStatus = a})--instance NFData CreateNotificationResponse where
− gen/Network/AWS/Budgets/CreateSubscriber.hs
@@ -1,167 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.Budgets.CreateSubscriber--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Creates a subscriber. You must create the associated budget and notification before you create the subscriber.-------module Network.AWS.Budgets.CreateSubscriber-    (-    -- * Creating a Request-      createSubscriber-    , CreateSubscriber-    -- * Request Lenses-    , csAccountId-    , csBudgetName-    , csNotification-    , csSubscriber--    -- * Destructuring the Response-    , createSubscriberResponse-    , CreateSubscriberResponse-    -- * Response Lenses-    , csrsResponseStatus-    ) where--import Network.AWS.Budgets.Types-import Network.AWS.Budgets.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response---- | Request of CreateSubscriber------------ /See:/ 'createSubscriber' smart constructor.-data CreateSubscriber = CreateSubscriber'-  { _csAccountId    :: !Text-  , _csBudgetName   :: !Text-  , _csNotification :: !Notification-  , _csSubscriber   :: !Subscriber-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateSubscriber' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'csAccountId' - The @accountId@ associated with the budget that you want to create a subscriber for.------ * 'csBudgetName' - The name of the budget that you want to subscribe to. Budget names must be unique within an account.------ * 'csNotification' - The notification that you want to create a subscriber for.------ * 'csSubscriber' - The subscriber that you want to associate with a budget notification.-createSubscriber-    :: Text -- ^ 'csAccountId'-    -> Text -- ^ 'csBudgetName'-    -> Notification -- ^ 'csNotification'-    -> Subscriber -- ^ 'csSubscriber'-    -> CreateSubscriber-createSubscriber pAccountId_ pBudgetName_ pNotification_ pSubscriber_ =-  CreateSubscriber'-    { _csAccountId = pAccountId_-    , _csBudgetName = pBudgetName_-    , _csNotification = pNotification_-    , _csSubscriber = pSubscriber_-    }----- | The @accountId@ associated with the budget that you want to create a subscriber for.-csAccountId :: Lens' CreateSubscriber Text-csAccountId = lens _csAccountId (\ s a -> s{_csAccountId = a})---- | The name of the budget that you want to subscribe to. Budget names must be unique within an account.-csBudgetName :: Lens' CreateSubscriber Text-csBudgetName = lens _csBudgetName (\ s a -> s{_csBudgetName = a})---- | The notification that you want to create a subscriber for.-csNotification :: Lens' CreateSubscriber Notification-csNotification = lens _csNotification (\ s a -> s{_csNotification = a})---- | The subscriber that you want to associate with a budget notification.-csSubscriber :: Lens' CreateSubscriber Subscriber-csSubscriber = lens _csSubscriber (\ s a -> s{_csSubscriber = a})--instance AWSRequest CreateSubscriber where-        type Rs CreateSubscriber = CreateSubscriberResponse-        request = postJSON budgets-        response-          = receiveEmpty-              (\ s h x ->-                 CreateSubscriberResponse' <$> (pure (fromEnum s)))--instance Hashable CreateSubscriber where--instance NFData CreateSubscriber where--instance ToHeaders CreateSubscriber where-        toHeaders-          = const-              (mconcat-                 ["X-Amz-Target" =#-                    ("AWSBudgetServiceGateway.CreateSubscriber" ::-                       ByteString),-                  "Content-Type" =#-                    ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON CreateSubscriber where-        toJSON CreateSubscriber'{..}-          = object-              (catMaybes-                 [Just ("AccountId" .= _csAccountId),-                  Just ("BudgetName" .= _csBudgetName),-                  Just ("Notification" .= _csNotification),-                  Just ("Subscriber" .= _csSubscriber)])--instance ToPath CreateSubscriber where-        toPath = const "/"--instance ToQuery CreateSubscriber where-        toQuery = const mempty---- | Response of CreateSubscriber------------ /See:/ 'createSubscriberResponse' smart constructor.-newtype CreateSubscriberResponse = CreateSubscriberResponse'-  { _csrsResponseStatus :: Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateSubscriberResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'csrsResponseStatus' - -- | The response status code.-createSubscriberResponse-    :: Int -- ^ 'csrsResponseStatus'-    -> CreateSubscriberResponse-createSubscriberResponse pResponseStatus_ =-  CreateSubscriberResponse' {_csrsResponseStatus = pResponseStatus_}----- | -- | The response status code.-csrsResponseStatus :: Lens' CreateSubscriberResponse Int-csrsResponseStatus = lens _csrsResponseStatus (\ s a -> s{_csrsResponseStatus = a})--instance NFData CreateSubscriberResponse where
− gen/Network/AWS/Budgets/DeleteBudget.hs
@@ -1,144 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.Budgets.DeleteBudget--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Deletes a budget. You can delete your budget at any time.--------- __Deleting a budget also deletes the notifications and subscribers associated with that budget.__----module Network.AWS.Budgets.DeleteBudget-    (-    -- * Creating a Request-      deleteBudget-    , DeleteBudget-    -- * Request Lenses-    , dAccountId-    , dBudgetName--    -- * Destructuring the Response-    , deleteBudgetResponse-    , DeleteBudgetResponse-    -- * Response Lenses-    , drsResponseStatus-    ) where--import Network.AWS.Budgets.Types-import Network.AWS.Budgets.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response---- | Request of DeleteBudget------------ /See:/ 'deleteBudget' smart constructor.-data DeleteBudget = DeleteBudget'-  { _dAccountId  :: !Text-  , _dBudgetName :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteBudget' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dAccountId' - The @accountId@ that is associated with the budget that you want to delete.------ * 'dBudgetName' - The name of the budget that you want to delete.-deleteBudget-    :: Text -- ^ 'dAccountId'-    -> Text -- ^ 'dBudgetName'-    -> DeleteBudget-deleteBudget pAccountId_ pBudgetName_ =-  DeleteBudget' {_dAccountId = pAccountId_, _dBudgetName = pBudgetName_}----- | The @accountId@ that is associated with the budget that you want to delete.-dAccountId :: Lens' DeleteBudget Text-dAccountId = lens _dAccountId (\ s a -> s{_dAccountId = a})---- | The name of the budget that you want to delete.-dBudgetName :: Lens' DeleteBudget Text-dBudgetName = lens _dBudgetName (\ s a -> s{_dBudgetName = a})--instance AWSRequest DeleteBudget where-        type Rs DeleteBudget = DeleteBudgetResponse-        request = postJSON budgets-        response-          = receiveEmpty-              (\ s h x ->-                 DeleteBudgetResponse' <$> (pure (fromEnum s)))--instance Hashable DeleteBudget where--instance NFData DeleteBudget where--instance ToHeaders DeleteBudget where-        toHeaders-          = const-              (mconcat-                 ["X-Amz-Target" =#-                    ("AWSBudgetServiceGateway.DeleteBudget" ::-                       ByteString),-                  "Content-Type" =#-                    ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON DeleteBudget where-        toJSON DeleteBudget'{..}-          = object-              (catMaybes-                 [Just ("AccountId" .= _dAccountId),-                  Just ("BudgetName" .= _dBudgetName)])--instance ToPath DeleteBudget where-        toPath = const "/"--instance ToQuery DeleteBudget where-        toQuery = const mempty---- | Response of DeleteBudget------------ /See:/ 'deleteBudgetResponse' smart constructor.-newtype DeleteBudgetResponse = DeleteBudgetResponse'-  { _drsResponseStatus :: Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteBudgetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'drsResponseStatus' - -- | The response status code.-deleteBudgetResponse-    :: Int -- ^ 'drsResponseStatus'-    -> DeleteBudgetResponse-deleteBudgetResponse pResponseStatus_ =-  DeleteBudgetResponse' {_drsResponseStatus = pResponseStatus_}----- | -- | The response status code.-drsResponseStatus :: Lens' DeleteBudgetResponse Int-drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a})--instance NFData DeleteBudgetResponse where
− gen/Network/AWS/Budgets/DeleteNotification.hs
@@ -1,159 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.Budgets.DeleteNotification--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Deletes a notification.--------- __Deleting a notification also deletes the subscribers associated with the notification.__----module Network.AWS.Budgets.DeleteNotification-    (-    -- * Creating a Request-      deleteNotification-    , DeleteNotification-    -- * Request Lenses-    , dnAccountId-    , dnBudgetName-    , dnNotification--    -- * Destructuring the Response-    , deleteNotificationResponse-    , DeleteNotificationResponse-    -- * Response Lenses-    , dnrsResponseStatus-    ) where--import Network.AWS.Budgets.Types-import Network.AWS.Budgets.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response---- | Request of DeleteNotification------------ /See:/ 'deleteNotification' smart constructor.-data DeleteNotification = DeleteNotification'-  { _dnAccountId    :: !Text-  , _dnBudgetName   :: !Text-  , _dnNotification :: !Notification-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteNotification' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dnAccountId' - The @accountId@ that is associated with the budget whose notification you want to delete.------ * 'dnBudgetName' - The name of the budget whose notification you want to delete.------ * 'dnNotification' - The notification that you want to delete.-deleteNotification-    :: Text -- ^ 'dnAccountId'-    -> Text -- ^ 'dnBudgetName'-    -> Notification -- ^ 'dnNotification'-    -> DeleteNotification-deleteNotification pAccountId_ pBudgetName_ pNotification_ =-  DeleteNotification'-    { _dnAccountId = pAccountId_-    , _dnBudgetName = pBudgetName_-    , _dnNotification = pNotification_-    }----- | The @accountId@ that is associated with the budget whose notification you want to delete.-dnAccountId :: Lens' DeleteNotification Text-dnAccountId = lens _dnAccountId (\ s a -> s{_dnAccountId = a})---- | The name of the budget whose notification you want to delete.-dnBudgetName :: Lens' DeleteNotification Text-dnBudgetName = lens _dnBudgetName (\ s a -> s{_dnBudgetName = a})---- | The notification that you want to delete.-dnNotification :: Lens' DeleteNotification Notification-dnNotification = lens _dnNotification (\ s a -> s{_dnNotification = a})--instance AWSRequest DeleteNotification where-        type Rs DeleteNotification =-             DeleteNotificationResponse-        request = postJSON budgets-        response-          = receiveEmpty-              (\ s h x ->-                 DeleteNotificationResponse' <$> (pure (fromEnum s)))--instance Hashable DeleteNotification where--instance NFData DeleteNotification where--instance ToHeaders DeleteNotification where-        toHeaders-          = const-              (mconcat-                 ["X-Amz-Target" =#-                    ("AWSBudgetServiceGateway.DeleteNotification" ::-                       ByteString),-                  "Content-Type" =#-                    ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON DeleteNotification where-        toJSON DeleteNotification'{..}-          = object-              (catMaybes-                 [Just ("AccountId" .= _dnAccountId),-                  Just ("BudgetName" .= _dnBudgetName),-                  Just ("Notification" .= _dnNotification)])--instance ToPath DeleteNotification where-        toPath = const "/"--instance ToQuery DeleteNotification where-        toQuery = const mempty---- | Response of DeleteNotification------------ /See:/ 'deleteNotificationResponse' smart constructor.-newtype DeleteNotificationResponse = DeleteNotificationResponse'-  { _dnrsResponseStatus :: Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteNotificationResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dnrsResponseStatus' - -- | The response status code.-deleteNotificationResponse-    :: Int -- ^ 'dnrsResponseStatus'-    -> DeleteNotificationResponse-deleteNotificationResponse pResponseStatus_ =-  DeleteNotificationResponse' {_dnrsResponseStatus = pResponseStatus_}----- | -- | The response status code.-dnrsResponseStatus :: Lens' DeleteNotificationResponse Int-dnrsResponseStatus = lens _dnrsResponseStatus (\ s a -> s{_dnrsResponseStatus = a})--instance NFData DeleteNotificationResponse where
− gen/Network/AWS/Budgets/DeleteSubscriber.hs
@@ -1,169 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.Budgets.DeleteSubscriber--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Deletes a subscriber.--------- __Deleting the last subscriber to a notification also deletes the notification.__----module Network.AWS.Budgets.DeleteSubscriber-    (-    -- * Creating a Request-      deleteSubscriber-    , DeleteSubscriber-    -- * Request Lenses-    , dsAccountId-    , dsBudgetName-    , dsNotification-    , dsSubscriber--    -- * Destructuring the Response-    , deleteSubscriberResponse-    , DeleteSubscriberResponse-    -- * Response Lenses-    , dsrsResponseStatus-    ) where--import Network.AWS.Budgets.Types-import Network.AWS.Budgets.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response---- | Request of DeleteSubscriber------------ /See:/ 'deleteSubscriber' smart constructor.-data DeleteSubscriber = DeleteSubscriber'-  { _dsAccountId    :: !Text-  , _dsBudgetName   :: !Text-  , _dsNotification :: !Notification-  , _dsSubscriber   :: !Subscriber-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteSubscriber' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dsAccountId' - The @accountId@ that is associated with the budget whose subscriber you want to delete.------ * 'dsBudgetName' - The name of the budget whose subscriber you want to delete.------ * 'dsNotification' - The notification whose subscriber you want to delete.------ * 'dsSubscriber' - The subscriber that you want to delete.-deleteSubscriber-    :: Text -- ^ 'dsAccountId'-    -> Text -- ^ 'dsBudgetName'-    -> Notification -- ^ 'dsNotification'-    -> Subscriber -- ^ 'dsSubscriber'-    -> DeleteSubscriber-deleteSubscriber pAccountId_ pBudgetName_ pNotification_ pSubscriber_ =-  DeleteSubscriber'-    { _dsAccountId = pAccountId_-    , _dsBudgetName = pBudgetName_-    , _dsNotification = pNotification_-    , _dsSubscriber = pSubscriber_-    }----- | The @accountId@ that is associated with the budget whose subscriber you want to delete.-dsAccountId :: Lens' DeleteSubscriber Text-dsAccountId = lens _dsAccountId (\ s a -> s{_dsAccountId = a})---- | The name of the budget whose subscriber you want to delete.-dsBudgetName :: Lens' DeleteSubscriber Text-dsBudgetName = lens _dsBudgetName (\ s a -> s{_dsBudgetName = a})---- | The notification whose subscriber you want to delete.-dsNotification :: Lens' DeleteSubscriber Notification-dsNotification = lens _dsNotification (\ s a -> s{_dsNotification = a})---- | The subscriber that you want to delete.-dsSubscriber :: Lens' DeleteSubscriber Subscriber-dsSubscriber = lens _dsSubscriber (\ s a -> s{_dsSubscriber = a})--instance AWSRequest DeleteSubscriber where-        type Rs DeleteSubscriber = DeleteSubscriberResponse-        request = postJSON budgets-        response-          = receiveEmpty-              (\ s h x ->-                 DeleteSubscriberResponse' <$> (pure (fromEnum s)))--instance Hashable DeleteSubscriber where--instance NFData DeleteSubscriber where--instance ToHeaders DeleteSubscriber where-        toHeaders-          = const-              (mconcat-                 ["X-Amz-Target" =#-                    ("AWSBudgetServiceGateway.DeleteSubscriber" ::-                       ByteString),-                  "Content-Type" =#-                    ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON DeleteSubscriber where-        toJSON DeleteSubscriber'{..}-          = object-              (catMaybes-                 [Just ("AccountId" .= _dsAccountId),-                  Just ("BudgetName" .= _dsBudgetName),-                  Just ("Notification" .= _dsNotification),-                  Just ("Subscriber" .= _dsSubscriber)])--instance ToPath DeleteSubscriber where-        toPath = const "/"--instance ToQuery DeleteSubscriber where-        toQuery = const mempty---- | Response of DeleteSubscriber------------ /See:/ 'deleteSubscriberResponse' smart constructor.-newtype DeleteSubscriberResponse = DeleteSubscriberResponse'-  { _dsrsResponseStatus :: Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteSubscriberResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dsrsResponseStatus' - -- | The response status code.-deleteSubscriberResponse-    :: Int -- ^ 'dsrsResponseStatus'-    -> DeleteSubscriberResponse-deleteSubscriberResponse pResponseStatus_ =-  DeleteSubscriberResponse' {_dsrsResponseStatus = pResponseStatus_}----- | -- | The response status code.-dsrsResponseStatus :: Lens' DeleteSubscriberResponse Int-dsrsResponseStatus = lens _dsrsResponseStatus (\ s a -> s{_dsrsResponseStatus = a})--instance NFData DeleteSubscriberResponse where
− gen/Network/AWS/Budgets/DescribeBudget.hs
@@ -1,152 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.Budgets.DescribeBudget--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Describes a budget.-------module Network.AWS.Budgets.DescribeBudget-    (-    -- * Creating a Request-      describeBudget-    , DescribeBudget-    -- * Request Lenses-    , desAccountId-    , desBudgetName--    -- * Destructuring the Response-    , describeBudgetResponse-    , DescribeBudgetResponse-    -- * Response Lenses-    , desrsBudget-    , desrsResponseStatus-    ) where--import Network.AWS.Budgets.Types-import Network.AWS.Budgets.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response---- | Request of DescribeBudget------------ /See:/ 'describeBudget' smart constructor.-data DescribeBudget = DescribeBudget'-  { _desAccountId  :: !Text-  , _desBudgetName :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DescribeBudget' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'desAccountId' - The @accountId@ that is associated with the budget that you want a description of.------ * 'desBudgetName' - The name of the budget that you want a description of.-describeBudget-    :: Text -- ^ 'desAccountId'-    -> Text -- ^ 'desBudgetName'-    -> DescribeBudget-describeBudget pAccountId_ pBudgetName_ =-  DescribeBudget' {_desAccountId = pAccountId_, _desBudgetName = pBudgetName_}----- | The @accountId@ that is associated with the budget that you want a description of.-desAccountId :: Lens' DescribeBudget Text-desAccountId = lens _desAccountId (\ s a -> s{_desAccountId = a})---- | The name of the budget that you want a description of.-desBudgetName :: Lens' DescribeBudget Text-desBudgetName = lens _desBudgetName (\ s a -> s{_desBudgetName = a})--instance AWSRequest DescribeBudget where-        type Rs DescribeBudget = DescribeBudgetResponse-        request = postJSON budgets-        response-          = receiveJSON-              (\ s h x ->-                 DescribeBudgetResponse' <$>-                   (x .?> "Budget") <*> (pure (fromEnum s)))--instance Hashable DescribeBudget where--instance NFData DescribeBudget where--instance ToHeaders DescribeBudget where-        toHeaders-          = const-              (mconcat-                 ["X-Amz-Target" =#-                    ("AWSBudgetServiceGateway.DescribeBudget" ::-                       ByteString),-                  "Content-Type" =#-                    ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON DescribeBudget where-        toJSON DescribeBudget'{..}-          = object-              (catMaybes-                 [Just ("AccountId" .= _desAccountId),-                  Just ("BudgetName" .= _desBudgetName)])--instance ToPath DescribeBudget where-        toPath = const "/"--instance ToQuery DescribeBudget where-        toQuery = const mempty---- | Response of DescribeBudget------------ /See:/ 'describeBudgetResponse' smart constructor.-data DescribeBudgetResponse = DescribeBudgetResponse'-  { _desrsBudget         :: !(Maybe Budget)-  , _desrsResponseStatus :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DescribeBudgetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'desrsBudget' - The description of the budget.------ * 'desrsResponseStatus' - -- | The response status code.-describeBudgetResponse-    :: Int -- ^ 'desrsResponseStatus'-    -> DescribeBudgetResponse-describeBudgetResponse pResponseStatus_ =-  DescribeBudgetResponse'-    {_desrsBudget = Nothing, _desrsResponseStatus = pResponseStatus_}----- | The description of the budget.-desrsBudget :: Lens' DescribeBudgetResponse (Maybe Budget)-desrsBudget = lens _desrsBudget (\ s a -> s{_desrsBudget = a})---- | -- | The response status code.-desrsResponseStatus :: Lens' DescribeBudgetResponse Int-desrsResponseStatus = lens _desrsResponseStatus (\ s a -> s{_desrsResponseStatus = a})--instance NFData DescribeBudgetResponse where
− gen/Network/AWS/Budgets/DescribeBudgets.hs
@@ -1,176 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.Budgets.DescribeBudgets--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Lists the budgets associated with an account.-------module Network.AWS.Budgets.DescribeBudgets-    (-    -- * Creating a Request-      describeBudgets-    , DescribeBudgets-    -- * Request Lenses-    , dbNextToken-    , dbMaxResults-    , dbAccountId--    -- * Destructuring the Response-    , describeBudgetsResponse-    , DescribeBudgetsResponse-    -- * Response Lenses-    , dbrsNextToken-    , dbrsBudgets-    , dbrsResponseStatus-    ) where--import Network.AWS.Budgets.Types-import Network.AWS.Budgets.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response---- | Request of DescribeBudgets------------ /See:/ 'describeBudgets' smart constructor.-data DescribeBudgets = DescribeBudgets'-  { _dbNextToken  :: !(Maybe Text)-  , _dbMaxResults :: !(Maybe Nat)-  , _dbAccountId  :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DescribeBudgets' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dbNextToken' - The pagination token that indicates the next set of results to retrieve.------ * 'dbMaxResults' - Optional integer. Specifies the maximum number of results to return in response.------ * 'dbAccountId' - The @accountId@ that is associated with the budgets that you want descriptions of.-describeBudgets-    :: Text -- ^ 'dbAccountId'-    -> DescribeBudgets-describeBudgets pAccountId_ =-  DescribeBudgets'-    { _dbNextToken = Nothing-    , _dbMaxResults = Nothing-    , _dbAccountId = pAccountId_-    }----- | The pagination token that indicates the next set of results to retrieve.-dbNextToken :: Lens' DescribeBudgets (Maybe Text)-dbNextToken = lens _dbNextToken (\ s a -> s{_dbNextToken = a})---- | Optional integer. Specifies the maximum number of results to return in response.-dbMaxResults :: Lens' DescribeBudgets (Maybe Natural)-dbMaxResults = lens _dbMaxResults (\ s a -> s{_dbMaxResults = a}) . mapping _Nat---- | The @accountId@ that is associated with the budgets that you want descriptions of.-dbAccountId :: Lens' DescribeBudgets Text-dbAccountId = lens _dbAccountId (\ s a -> s{_dbAccountId = a})--instance AWSRequest DescribeBudgets where-        type Rs DescribeBudgets = DescribeBudgetsResponse-        request = postJSON budgets-        response-          = receiveJSON-              (\ s h x ->-                 DescribeBudgetsResponse' <$>-                   (x .?> "NextToken") <*> (x .?> "Budgets" .!@ mempty)-                     <*> (pure (fromEnum s)))--instance Hashable DescribeBudgets where--instance NFData DescribeBudgets where--instance ToHeaders DescribeBudgets where-        toHeaders-          = const-              (mconcat-                 ["X-Amz-Target" =#-                    ("AWSBudgetServiceGateway.DescribeBudgets" ::-                       ByteString),-                  "Content-Type" =#-                    ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON DescribeBudgets where-        toJSON DescribeBudgets'{..}-          = object-              (catMaybes-                 [("NextToken" .=) <$> _dbNextToken,-                  ("MaxResults" .=) <$> _dbMaxResults,-                  Just ("AccountId" .= _dbAccountId)])--instance ToPath DescribeBudgets where-        toPath = const "/"--instance ToQuery DescribeBudgets where-        toQuery = const mempty---- | Response of DescribeBudgets------------ /See:/ 'describeBudgetsResponse' smart constructor.-data DescribeBudgetsResponse = DescribeBudgetsResponse'-  { _dbrsNextToken      :: !(Maybe Text)-  , _dbrsBudgets        :: !(Maybe [Budget])-  , _dbrsResponseStatus :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DescribeBudgetsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dbrsNextToken' - The pagination token that indicates the next set of results that you can retrieve.------ * 'dbrsBudgets' - A list of budgets.------ * 'dbrsResponseStatus' - -- | The response status code.-describeBudgetsResponse-    :: Int -- ^ 'dbrsResponseStatus'-    -> DescribeBudgetsResponse-describeBudgetsResponse pResponseStatus_ =-  DescribeBudgetsResponse'-    { _dbrsNextToken = Nothing-    , _dbrsBudgets = Nothing-    , _dbrsResponseStatus = pResponseStatus_-    }----- | The pagination token that indicates the next set of results that you can retrieve.-dbrsNextToken :: Lens' DescribeBudgetsResponse (Maybe Text)-dbrsNextToken = lens _dbrsNextToken (\ s a -> s{_dbrsNextToken = a})---- | A list of budgets.-dbrsBudgets :: Lens' DescribeBudgetsResponse [Budget]-dbrsBudgets = lens _dbrsBudgets (\ s a -> s{_dbrsBudgets = a}) . _Default . _Coerce---- | -- | The response status code.-dbrsResponseStatus :: Lens' DescribeBudgetsResponse Int-dbrsResponseStatus = lens _dbrsResponseStatus (\ s a -> s{_dbrsResponseStatus = a})--instance NFData DescribeBudgetsResponse where
− gen/Network/AWS/Budgets/DescribeNotificationsForBudget.hs
@@ -1,194 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.Budgets.DescribeNotificationsForBudget--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Lists the notifications associated with a budget.-------module Network.AWS.Budgets.DescribeNotificationsForBudget-    (-    -- * Creating a Request-      describeNotificationsForBudget-    , DescribeNotificationsForBudget-    -- * Request Lenses-    , dnfbNextToken-    , dnfbMaxResults-    , dnfbAccountId-    , dnfbBudgetName--    -- * Destructuring the Response-    , describeNotificationsForBudgetResponse-    , DescribeNotificationsForBudgetResponse-    -- * Response Lenses-    , dnfbrsNextToken-    , dnfbrsNotifications-    , dnfbrsResponseStatus-    ) where--import Network.AWS.Budgets.Types-import Network.AWS.Budgets.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response---- | Request of DescribeNotificationsForBudget------------ /See:/ 'describeNotificationsForBudget' smart constructor.-data DescribeNotificationsForBudget = DescribeNotificationsForBudget'-  { _dnfbNextToken  :: !(Maybe Text)-  , _dnfbMaxResults :: !(Maybe Nat)-  , _dnfbAccountId  :: !Text-  , _dnfbBudgetName :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DescribeNotificationsForBudget' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dnfbNextToken' - The pagination token that indicates the next set of results to retrieve.------ * 'dnfbMaxResults' - Optional integer. Specifies the maximum number of results to return in response.------ * 'dnfbAccountId' - The @accountId@ that is associated with the budget whose notifications you want descriptions of.------ * 'dnfbBudgetName' - The name of the budget whose notifications you want descriptions of.-describeNotificationsForBudget-    :: Text -- ^ 'dnfbAccountId'-    -> Text -- ^ 'dnfbBudgetName'-    -> DescribeNotificationsForBudget-describeNotificationsForBudget pAccountId_ pBudgetName_ =-  DescribeNotificationsForBudget'-    { _dnfbNextToken = Nothing-    , _dnfbMaxResults = Nothing-    , _dnfbAccountId = pAccountId_-    , _dnfbBudgetName = pBudgetName_-    }----- | The pagination token that indicates the next set of results to retrieve.-dnfbNextToken :: Lens' DescribeNotificationsForBudget (Maybe Text)-dnfbNextToken = lens _dnfbNextToken (\ s a -> s{_dnfbNextToken = a})---- | Optional integer. Specifies the maximum number of results to return in response.-dnfbMaxResults :: Lens' DescribeNotificationsForBudget (Maybe Natural)-dnfbMaxResults = lens _dnfbMaxResults (\ s a -> s{_dnfbMaxResults = a}) . mapping _Nat---- | The @accountId@ that is associated with the budget whose notifications you want descriptions of.-dnfbAccountId :: Lens' DescribeNotificationsForBudget Text-dnfbAccountId = lens _dnfbAccountId (\ s a -> s{_dnfbAccountId = a})---- | The name of the budget whose notifications you want descriptions of.-dnfbBudgetName :: Lens' DescribeNotificationsForBudget Text-dnfbBudgetName = lens _dnfbBudgetName (\ s a -> s{_dnfbBudgetName = a})--instance AWSRequest DescribeNotificationsForBudget-         where-        type Rs DescribeNotificationsForBudget =-             DescribeNotificationsForBudgetResponse-        request = postJSON budgets-        response-          = receiveJSON-              (\ s h x ->-                 DescribeNotificationsForBudgetResponse' <$>-                   (x .?> "NextToken") <*>-                     (x .?> "Notifications" .!@ mempty)-                     <*> (pure (fromEnum s)))--instance Hashable DescribeNotificationsForBudget-         where--instance NFData DescribeNotificationsForBudget where--instance ToHeaders DescribeNotificationsForBudget-         where-        toHeaders-          = const-              (mconcat-                 ["X-Amz-Target" =#-                    ("AWSBudgetServiceGateway.DescribeNotificationsForBudget"-                       :: ByteString),-                  "Content-Type" =#-                    ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON DescribeNotificationsForBudget where-        toJSON DescribeNotificationsForBudget'{..}-          = object-              (catMaybes-                 [("NextToken" .=) <$> _dnfbNextToken,-                  ("MaxResults" .=) <$> _dnfbMaxResults,-                  Just ("AccountId" .= _dnfbAccountId),-                  Just ("BudgetName" .= _dnfbBudgetName)])--instance ToPath DescribeNotificationsForBudget where-        toPath = const "/"--instance ToQuery DescribeNotificationsForBudget where-        toQuery = const mempty---- | Response of GetNotificationsForBudget------------ /See:/ 'describeNotificationsForBudgetResponse' smart constructor.-data DescribeNotificationsForBudgetResponse = DescribeNotificationsForBudgetResponse'-  { _dnfbrsNextToken      :: !(Maybe Text)-  , _dnfbrsNotifications  :: !(Maybe [Notification])-  , _dnfbrsResponseStatus :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DescribeNotificationsForBudgetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dnfbrsNextToken' - The pagination token that indicates the next set of results that you can retrieve.------ * 'dnfbrsNotifications' - A list of notifications associated with a budget.------ * 'dnfbrsResponseStatus' - -- | The response status code.-describeNotificationsForBudgetResponse-    :: Int -- ^ 'dnfbrsResponseStatus'-    -> DescribeNotificationsForBudgetResponse-describeNotificationsForBudgetResponse pResponseStatus_ =-  DescribeNotificationsForBudgetResponse'-    { _dnfbrsNextToken = Nothing-    , _dnfbrsNotifications = Nothing-    , _dnfbrsResponseStatus = pResponseStatus_-    }----- | The pagination token that indicates the next set of results that you can retrieve.-dnfbrsNextToken :: Lens' DescribeNotificationsForBudgetResponse (Maybe Text)-dnfbrsNextToken = lens _dnfbrsNextToken (\ s a -> s{_dnfbrsNextToken = a})---- | A list of notifications associated with a budget.-dnfbrsNotifications :: Lens' DescribeNotificationsForBudgetResponse [Notification]-dnfbrsNotifications = lens _dnfbrsNotifications (\ s a -> s{_dnfbrsNotifications = a}) . _Default . _Coerce---- | -- | The response status code.-dnfbrsResponseStatus :: Lens' DescribeNotificationsForBudgetResponse Int-dnfbrsResponseStatus = lens _dnfbrsResponseStatus (\ s a -> s{_dnfbrsResponseStatus = a})--instance NFData-           DescribeNotificationsForBudgetResponse-         where
− gen/Network/AWS/Budgets/DescribeSubscribersForNotification.hs
@@ -1,209 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.Budgets.DescribeSubscribersForNotification--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Lists the subscribers associated with a notification.-------module Network.AWS.Budgets.DescribeSubscribersForNotification-    (-    -- * Creating a Request-      describeSubscribersForNotification-    , DescribeSubscribersForNotification-    -- * Request Lenses-    , dsfnNextToken-    , dsfnMaxResults-    , dsfnAccountId-    , dsfnBudgetName-    , dsfnNotification--    -- * Destructuring the Response-    , describeSubscribersForNotificationResponse-    , DescribeSubscribersForNotificationResponse-    -- * Response Lenses-    , dsfnrsNextToken-    , dsfnrsSubscribers-    , dsfnrsResponseStatus-    ) where--import Network.AWS.Budgets.Types-import Network.AWS.Budgets.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response---- | Request of DescribeSubscribersForNotification------------ /See:/ 'describeSubscribersForNotification' smart constructor.-data DescribeSubscribersForNotification = DescribeSubscribersForNotification'-  { _dsfnNextToken    :: !(Maybe Text)-  , _dsfnMaxResults   :: !(Maybe Nat)-  , _dsfnAccountId    :: !Text-  , _dsfnBudgetName   :: !Text-  , _dsfnNotification :: !Notification-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DescribeSubscribersForNotification' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dsfnNextToken' - The pagination token that indicates the next set of results to retrieve.------ * 'dsfnMaxResults' - Optional integer. Specifies the maximum number of results to return in response.------ * 'dsfnAccountId' - The @accountId@ that is associated with the budget whose subscribers you want descriptions of.------ * 'dsfnBudgetName' - The name of the budget whose subscribers you want descriptions of.------ * 'dsfnNotification' - The notification whose subscribers you want to list.-describeSubscribersForNotification-    :: Text -- ^ 'dsfnAccountId'-    -> Text -- ^ 'dsfnBudgetName'-    -> Notification -- ^ 'dsfnNotification'-    -> DescribeSubscribersForNotification-describeSubscribersForNotification pAccountId_ pBudgetName_ pNotification_ =-  DescribeSubscribersForNotification'-    { _dsfnNextToken = Nothing-    , _dsfnMaxResults = Nothing-    , _dsfnAccountId = pAccountId_-    , _dsfnBudgetName = pBudgetName_-    , _dsfnNotification = pNotification_-    }----- | The pagination token that indicates the next set of results to retrieve.-dsfnNextToken :: Lens' DescribeSubscribersForNotification (Maybe Text)-dsfnNextToken = lens _dsfnNextToken (\ s a -> s{_dsfnNextToken = a})---- | Optional integer. Specifies the maximum number of results to return in response.-dsfnMaxResults :: Lens' DescribeSubscribersForNotification (Maybe Natural)-dsfnMaxResults = lens _dsfnMaxResults (\ s a -> s{_dsfnMaxResults = a}) . mapping _Nat---- | The @accountId@ that is associated with the budget whose subscribers you want descriptions of.-dsfnAccountId :: Lens' DescribeSubscribersForNotification Text-dsfnAccountId = lens _dsfnAccountId (\ s a -> s{_dsfnAccountId = a})---- | The name of the budget whose subscribers you want descriptions of.-dsfnBudgetName :: Lens' DescribeSubscribersForNotification Text-dsfnBudgetName = lens _dsfnBudgetName (\ s a -> s{_dsfnBudgetName = a})---- | The notification whose subscribers you want to list.-dsfnNotification :: Lens' DescribeSubscribersForNotification Notification-dsfnNotification = lens _dsfnNotification (\ s a -> s{_dsfnNotification = a})--instance AWSRequest-           DescribeSubscribersForNotification-         where-        type Rs DescribeSubscribersForNotification =-             DescribeSubscribersForNotificationResponse-        request = postJSON budgets-        response-          = receiveJSON-              (\ s h x ->-                 DescribeSubscribersForNotificationResponse' <$>-                   (x .?> "NextToken") <*> (x .?> "Subscribers") <*>-                     (pure (fromEnum s)))--instance Hashable DescribeSubscribersForNotification-         where--instance NFData DescribeSubscribersForNotification-         where--instance ToHeaders DescribeSubscribersForNotification-         where-        toHeaders-          = const-              (mconcat-                 ["X-Amz-Target" =#-                    ("AWSBudgetServiceGateway.DescribeSubscribersForNotification"-                       :: ByteString),-                  "Content-Type" =#-                    ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON DescribeSubscribersForNotification-         where-        toJSON DescribeSubscribersForNotification'{..}-          = object-              (catMaybes-                 [("NextToken" .=) <$> _dsfnNextToken,-                  ("MaxResults" .=) <$> _dsfnMaxResults,-                  Just ("AccountId" .= _dsfnAccountId),-                  Just ("BudgetName" .= _dsfnBudgetName),-                  Just ("Notification" .= _dsfnNotification)])--instance ToPath DescribeSubscribersForNotification-         where-        toPath = const "/"--instance ToQuery DescribeSubscribersForNotification-         where-        toQuery = const mempty---- | Response of DescribeSubscribersForNotification------------ /See:/ 'describeSubscribersForNotificationResponse' smart constructor.-data DescribeSubscribersForNotificationResponse = DescribeSubscribersForNotificationResponse'-  { _dsfnrsNextToken      :: !(Maybe Text)-  , _dsfnrsSubscribers    :: !(Maybe (List1 Subscriber))-  , _dsfnrsResponseStatus :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DescribeSubscribersForNotificationResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dsfnrsNextToken' - The pagination token that indicates the next set of results that you can retrieve.------ * 'dsfnrsSubscribers' - A list of subscribers associated with a notification.------ * 'dsfnrsResponseStatus' - -- | The response status code.-describeSubscribersForNotificationResponse-    :: Int -- ^ 'dsfnrsResponseStatus'-    -> DescribeSubscribersForNotificationResponse-describeSubscribersForNotificationResponse pResponseStatus_ =-  DescribeSubscribersForNotificationResponse'-    { _dsfnrsNextToken = Nothing-    , _dsfnrsSubscribers = Nothing-    , _dsfnrsResponseStatus = pResponseStatus_-    }----- | The pagination token that indicates the next set of results that you can retrieve.-dsfnrsNextToken :: Lens' DescribeSubscribersForNotificationResponse (Maybe Text)-dsfnrsNextToken = lens _dsfnrsNextToken (\ s a -> s{_dsfnrsNextToken = a})---- | A list of subscribers associated with a notification.-dsfnrsSubscribers :: Lens' DescribeSubscribersForNotificationResponse (Maybe (NonEmpty Subscriber))-dsfnrsSubscribers = lens _dsfnrsSubscribers (\ s a -> s{_dsfnrsSubscribers = a}) . mapping _List1---- | -- | The response status code.-dsfnrsResponseStatus :: Lens' DescribeSubscribersForNotificationResponse Int-dsfnrsResponseStatus = lens _dsfnrsResponseStatus (\ s a -> s{_dsfnrsResponseStatus = a})--instance NFData-           DescribeSubscribersForNotificationResponse-         where
− gen/Network/AWS/Budgets/Types.hs
@@ -1,208 +0,0 @@-{-# LANGUAGE OverloadedStrings #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.Budgets.Types--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.Budgets.Types-    (-    -- * Service Configuration-      budgets--    -- * Errors-    , _InvalidParameterException-    , _InternalErrorException-    , _ExpiredNextTokenException-    , _NotFoundException-    , _InvalidNextTokenException-    , _DuplicateRecordException-    , _CreationLimitExceededException--    -- * BudgetType-    , BudgetType (..)--    -- * ComparisonOperator-    , ComparisonOperator (..)--    -- * NotificationType-    , NotificationType (..)--    -- * SubscriptionType-    , SubscriptionType (..)--    -- * ThresholdType-    , ThresholdType (..)--    -- * TimeUnit-    , TimeUnit (..)--    -- * Budget-    , Budget-    , budget-    , bCalculatedSpend-    , bBudgetLimit-    , bTimePeriod-    , bCostTypes-    , bCostFilters-    , bBudgetName-    , bTimeUnit-    , bBudgetType--    -- * CalculatedSpend-    , CalculatedSpend-    , calculatedSpend-    , csForecastedSpend-    , csActualSpend--    -- * CostTypes-    , CostTypes-    , costTypes-    , ctUseAmortized-    , ctIncludeRecurring-    , ctUseBlended-    , ctIncludeSupport-    , ctIncludeDiscount-    , ctIncludeSubscription-    , ctIncludeRefund-    , ctIncludeUpfront-    , ctIncludeOtherSubscription-    , ctIncludeTax-    , ctIncludeCredit--    -- * Notification-    , Notification-    , notification-    , nThresholdType-    , nNotificationType-    , nComparisonOperator-    , nThreshold--    -- * NotificationWithSubscribers-    , NotificationWithSubscribers-    , notificationWithSubscribers-    , nwsNotification-    , nwsSubscribers--    -- * Spend-    , Spend-    , spend-    , sAmount-    , sUnit--    -- * Subscriber-    , Subscriber-    , subscriber-    , sSubscriptionType-    , sAddress--    -- * TimePeriod-    , TimePeriod-    , timePeriod-    , tpStart-    , tpEnd-    ) where--import Network.AWS.Budgets.Types.Product-import Network.AWS.Budgets.Types.Sum-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Sign.V4---- | API version @2016-10-20@ of the Amazon Budgets SDK configuration.-budgets :: Service-budgets =-  Service-    { _svcAbbrev = "Budgets"-    , _svcSigner = v4-    , _svcPrefix = "budgets"-    , _svcVersion = "2016-10-20"-    , _svcEndpoint = defaultEndpoint budgets-    , _svcTimeout = Just 70-    , _svcCheck = statusSuccess-    , _svcError = parseJSONError "Budgets"-    , _svcRetry = retry-    }-  where-    retry =-      Exponential-        { _retryBase = 5.0e-2-        , _retryGrowth = 2-        , _retryAttempts = 5-        , _retryCheck = check-        }-    check e-      | has (hasCode "ThrottledException" . hasStatus 400) e =-        Just "throttled_exception"-      | has (hasStatus 429) e = Just "too_many_requests"-      | has (hasCode "ThrottlingException" . hasStatus 400) e =-        Just "throttling_exception"-      | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"-      | has (hasStatus 504) e = Just "gateway_timeout"-      | has (hasCode "RequestThrottledException" . hasStatus 400) e =-        Just "request_throttled_exception"-      | has (hasStatus 502) e = Just "bad_gateway"-      | has (hasStatus 503) e = Just "service_unavailable"-      | has (hasStatus 500) e = Just "general_server_error"-      | has (hasStatus 509) e = Just "limit_exceeded"-      | otherwise = Nothing----- | An error on the client occurred. Typically, the cause is an invalid input value.-------_InvalidParameterException :: AsError a => Getting (First ServiceError) a ServiceError-_InvalidParameterException =-  _MatchServiceError budgets "InvalidParameterException"----- | An error on the server occurred during the processing of your request. Try again later.-------_InternalErrorException :: AsError a => Getting (First ServiceError) a ServiceError-_InternalErrorException = _MatchServiceError budgets "InternalErrorException"----- | The pagination token expired.-------_ExpiredNextTokenException :: AsError a => Getting (First ServiceError) a ServiceError-_ExpiredNextTokenException =-  _MatchServiceError budgets "ExpiredNextTokenException"----- | We can’t locate the resource that you specified.-------_NotFoundException :: AsError a => Getting (First ServiceError) a ServiceError-_NotFoundException = _MatchServiceError budgets "NotFoundException"----- | The pagination token is invalid.-------_InvalidNextTokenException :: AsError a => Getting (First ServiceError) a ServiceError-_InvalidNextTokenException =-  _MatchServiceError budgets "InvalidNextTokenException"----- | The budget name already exists. Budget names must be unique within an account.-------_DuplicateRecordException :: AsError a => Getting (First ServiceError) a ServiceError-_DuplicateRecordException =-  _MatchServiceError budgets "DuplicateRecordException"----- | You've exceeded the notification or subscriber limit.-------_CreationLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError-_CreationLimitExceededException =-  _MatchServiceError budgets "CreationLimitExceededException"-
− gen/Network/AWS/Budgets/Types/Product.hs
@@ -1,639 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.Budgets.Types.Product--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.Budgets.Types.Product where--import Network.AWS.Budgets.Types.Sum-import Network.AWS.Lens-import Network.AWS.Prelude---- | Represents the output of the @CreateBudget@ operation. The content consists of the detailed metadata and data file information, and the current status of the @budget@ .--------- The ARN pattern for a budget is: @arn:aws:budgetservice::AccountId:budget/budgetName@--------- /See:/ 'budget' smart constructor.-data Budget = Budget'-  { _bCalculatedSpend :: !(Maybe CalculatedSpend)-  , _bBudgetLimit     :: !(Maybe Spend)-  , _bTimePeriod      :: !(Maybe TimePeriod)-  , _bCostTypes       :: !(Maybe CostTypes)-  , _bCostFilters     :: !(Maybe (Map Text [Text]))-  , _bBudgetName      :: !Text-  , _bTimeUnit        :: !TimeUnit-  , _bBudgetType      :: !BudgetType-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Budget' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bCalculatedSpend' - The actual and forecasted cost or usage being tracked by a budget.------ * 'bBudgetLimit' - The total amount of cost, usage, or RI utilization that you want to track with your budget. @BudgetLimit@ is required for cost or usage budgets, but optional for RI utilization budgets. RI utilization budgets default to the only valid value for RI utilization budgets, which is @100@ .------ * 'bTimePeriod' - The period of time covered by a budget. Has a start date and an end date. The start date must come before the end date. There are no restrictions on the end date.  If you created your budget and didn't specify a start date, AWS defaults to the start of your chosen time period (i.e. DAILY, MONTHLY, QUARTERLY, ANNUALLY). For example, if you created your budget on January 24th 2018, chose @DAILY@ , and didn't set a start date, AWS set your start date to @01/24/18 00:00 UTC@ . If you chose @MONTHLY@ , AWS set your start date to @01/01/18 00:00 UTC@ . If you didn't specify an end date, AWS set your end date to @06/15/87 00:00 UTC@ . The defaults are the same for the AWS Billing and Cost Management console and the API.  You can change either date with the @UpdateBudget@ operation. After the end date, AWS deletes the budget and all associated notifications and subscribers.------ * 'bCostTypes' - The types of costs included in this budget.------ * 'bCostFilters' - The cost filters applied to a budget, such as service or region.------ * 'bBudgetName' - The name of a budget. Unique within accounts. @:@ and @\@ characters are not allowed in the @BudgetName@ .------ * 'bTimeUnit' - The length of time until a budget resets the actual and forecasted spend.------ * 'bBudgetType' - Whether this budget tracks monetary costs, usage, or RI utilization.-budget-    :: Text -- ^ 'bBudgetName'-    -> TimeUnit -- ^ 'bTimeUnit'-    -> BudgetType -- ^ 'bBudgetType'-    -> Budget-budget pBudgetName_ pTimeUnit_ pBudgetType_ =-  Budget'-    { _bCalculatedSpend = Nothing-    , _bBudgetLimit = Nothing-    , _bTimePeriod = Nothing-    , _bCostTypes = Nothing-    , _bCostFilters = Nothing-    , _bBudgetName = pBudgetName_-    , _bTimeUnit = pTimeUnit_-    , _bBudgetType = pBudgetType_-    }----- | The actual and forecasted cost or usage being tracked by a budget.-bCalculatedSpend :: Lens' Budget (Maybe CalculatedSpend)-bCalculatedSpend = lens _bCalculatedSpend (\ s a -> s{_bCalculatedSpend = a})---- | The total amount of cost, usage, or RI utilization that you want to track with your budget. @BudgetLimit@ is required for cost or usage budgets, but optional for RI utilization budgets. RI utilization budgets default to the only valid value for RI utilization budgets, which is @100@ .-bBudgetLimit :: Lens' Budget (Maybe Spend)-bBudgetLimit = lens _bBudgetLimit (\ s a -> s{_bBudgetLimit = a})---- | The period of time covered by a budget. Has a start date and an end date. The start date must come before the end date. There are no restrictions on the end date.  If you created your budget and didn't specify a start date, AWS defaults to the start of your chosen time period (i.e. DAILY, MONTHLY, QUARTERLY, ANNUALLY). For example, if you created your budget on January 24th 2018, chose @DAILY@ , and didn't set a start date, AWS set your start date to @01/24/18 00:00 UTC@ . If you chose @MONTHLY@ , AWS set your start date to @01/01/18 00:00 UTC@ . If you didn't specify an end date, AWS set your end date to @06/15/87 00:00 UTC@ . The defaults are the same for the AWS Billing and Cost Management console and the API.  You can change either date with the @UpdateBudget@ operation. After the end date, AWS deletes the budget and all associated notifications and subscribers.-bTimePeriod :: Lens' Budget (Maybe TimePeriod)-bTimePeriod = lens _bTimePeriod (\ s a -> s{_bTimePeriod = a})---- | The types of costs included in this budget.-bCostTypes :: Lens' Budget (Maybe CostTypes)-bCostTypes = lens _bCostTypes (\ s a -> s{_bCostTypes = a})---- | The cost filters applied to a budget, such as service or region.-bCostFilters :: Lens' Budget (HashMap Text [Text])-bCostFilters = lens _bCostFilters (\ s a -> s{_bCostFilters = a}) . _Default . _Map---- | The name of a budget. Unique within accounts. @:@ and @\@ characters are not allowed in the @BudgetName@ .-bBudgetName :: Lens' Budget Text-bBudgetName = lens _bBudgetName (\ s a -> s{_bBudgetName = a})---- | The length of time until a budget resets the actual and forecasted spend.-bTimeUnit :: Lens' Budget TimeUnit-bTimeUnit = lens _bTimeUnit (\ s a -> s{_bTimeUnit = a})---- | Whether this budget tracks monetary costs, usage, or RI utilization.-bBudgetType :: Lens' Budget BudgetType-bBudgetType = lens _bBudgetType (\ s a -> s{_bBudgetType = a})--instance FromJSON Budget where-        parseJSON-          = withObject "Budget"-              (\ x ->-                 Budget' <$>-                   (x .:? "CalculatedSpend") <*> (x .:? "BudgetLimit")-                     <*> (x .:? "TimePeriod")-                     <*> (x .:? "CostTypes")-                     <*> (x .:? "CostFilters" .!= mempty)-                     <*> (x .: "BudgetName")-                     <*> (x .: "TimeUnit")-                     <*> (x .: "BudgetType"))--instance Hashable Budget where--instance NFData Budget where--instance ToJSON Budget where-        toJSON Budget'{..}-          = object-              (catMaybes-                 [("CalculatedSpend" .=) <$> _bCalculatedSpend,-                  ("BudgetLimit" .=) <$> _bBudgetLimit,-                  ("TimePeriod" .=) <$> _bTimePeriod,-                  ("CostTypes" .=) <$> _bCostTypes,-                  ("CostFilters" .=) <$> _bCostFilters,-                  Just ("BudgetName" .= _bBudgetName),-                  Just ("TimeUnit" .= _bTimeUnit),-                  Just ("BudgetType" .= _bBudgetType)])---- | The spend objects associated with this budget. The @actualSpend@ tracks how much you've used, cost, usage, or RI units, and the @forecastedSpend@ tracks how much you are predicted to spend if your current usage remains steady.--------- For example, if it is the 20th of the month and you have spent @50@ dollars on Amazon EC2, your @actualSpend@ is @50 USD@ , and your @forecastedSpend@ is @75 USD@ .--------- /See:/ 'calculatedSpend' smart constructor.-data CalculatedSpend = CalculatedSpend'-  { _csForecastedSpend :: !(Maybe Spend)-  , _csActualSpend     :: !Spend-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CalculatedSpend' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'csForecastedSpend' - The amount of cost, usage, or RI units that you are forecasted to use.------ * 'csActualSpend' - The amount of cost, usage, or RI units that you have used.-calculatedSpend-    :: Spend -- ^ 'csActualSpend'-    -> CalculatedSpend-calculatedSpend pActualSpend_ =-  CalculatedSpend'-    {_csForecastedSpend = Nothing, _csActualSpend = pActualSpend_}----- | The amount of cost, usage, or RI units that you are forecasted to use.-csForecastedSpend :: Lens' CalculatedSpend (Maybe Spend)-csForecastedSpend = lens _csForecastedSpend (\ s a -> s{_csForecastedSpend = a})---- | The amount of cost, usage, or RI units that you have used.-csActualSpend :: Lens' CalculatedSpend Spend-csActualSpend = lens _csActualSpend (\ s a -> s{_csActualSpend = a})--instance FromJSON CalculatedSpend where-        parseJSON-          = withObject "CalculatedSpend"-              (\ x ->-                 CalculatedSpend' <$>-                   (x .:? "ForecastedSpend") <*> (x .: "ActualSpend"))--instance Hashable CalculatedSpend where--instance NFData CalculatedSpend where--instance ToJSON CalculatedSpend where-        toJSON CalculatedSpend'{..}-          = object-              (catMaybes-                 [("ForecastedSpend" .=) <$> _csForecastedSpend,-                  Just ("ActualSpend" .= _csActualSpend)])---- | The types of cost included in a budget, such as tax and subscriptions.------------ /See:/ 'costTypes' smart constructor.-data CostTypes = CostTypes'-  { _ctUseAmortized             :: !(Maybe Bool)-  , _ctIncludeRecurring         :: !(Maybe Bool)-  , _ctUseBlended               :: !(Maybe Bool)-  , _ctIncludeSupport           :: !(Maybe Bool)-  , _ctIncludeDiscount          :: !(Maybe Bool)-  , _ctIncludeSubscription      :: !(Maybe Bool)-  , _ctIncludeRefund            :: !(Maybe Bool)-  , _ctIncludeUpfront           :: !(Maybe Bool)-  , _ctIncludeOtherSubscription :: !(Maybe Bool)-  , _ctIncludeTax               :: !(Maybe Bool)-  , _ctIncludeCredit            :: !(Maybe Bool)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CostTypes' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ctUseAmortized' - Specifies whether a budget uses the amortized rate. The default value is @false@ .------ * 'ctIncludeRecurring' - Specifies whether a budget includes recurring fees such as monthly RI fees. The default value is @true@ .------ * 'ctUseBlended' - Specifies whether a budget uses blended rate. The default value is @false@ .------ * 'ctIncludeSupport' - Specifies whether a budget includes support subscription fees. The default value is @true@ .------ * 'ctIncludeDiscount' - Specifies whether a budget includes discounts. The default value is @true@ .------ * 'ctIncludeSubscription' - Specifies whether a budget includes subscriptions. The default value is @true@ .------ * 'ctIncludeRefund' - Specifies whether a budget includes refunds. The default value is @true@ .------ * 'ctIncludeUpfront' - Specifies whether a budget includes upfront RI costs. The default value is @true@ .------ * 'ctIncludeOtherSubscription' - Specifies whether a budget includes non-RI subscription costs. The default value is @true@ .------ * 'ctIncludeTax' - Specifies whether a budget includes taxes. The default value is @true@ .------ * 'ctIncludeCredit' - Specifies whether a budget includes credits. The default value is @true@ .-costTypes-    :: CostTypes-costTypes =-  CostTypes'-    { _ctUseAmortized = Nothing-    , _ctIncludeRecurring = Nothing-    , _ctUseBlended = Nothing-    , _ctIncludeSupport = Nothing-    , _ctIncludeDiscount = Nothing-    , _ctIncludeSubscription = Nothing-    , _ctIncludeRefund = Nothing-    , _ctIncludeUpfront = Nothing-    , _ctIncludeOtherSubscription = Nothing-    , _ctIncludeTax = Nothing-    , _ctIncludeCredit = Nothing-    }----- | Specifies whether a budget uses the amortized rate. The default value is @false@ .-ctUseAmortized :: Lens' CostTypes (Maybe Bool)-ctUseAmortized = lens _ctUseAmortized (\ s a -> s{_ctUseAmortized = a})---- | Specifies whether a budget includes recurring fees such as monthly RI fees. The default value is @true@ .-ctIncludeRecurring :: Lens' CostTypes (Maybe Bool)-ctIncludeRecurring = lens _ctIncludeRecurring (\ s a -> s{_ctIncludeRecurring = a})---- | Specifies whether a budget uses blended rate. The default value is @false@ .-ctUseBlended :: Lens' CostTypes (Maybe Bool)-ctUseBlended = lens _ctUseBlended (\ s a -> s{_ctUseBlended = a})---- | Specifies whether a budget includes support subscription fees. The default value is @true@ .-ctIncludeSupport :: Lens' CostTypes (Maybe Bool)-ctIncludeSupport = lens _ctIncludeSupport (\ s a -> s{_ctIncludeSupport = a})---- | Specifies whether a budget includes discounts. The default value is @true@ .-ctIncludeDiscount :: Lens' CostTypes (Maybe Bool)-ctIncludeDiscount = lens _ctIncludeDiscount (\ s a -> s{_ctIncludeDiscount = a})---- | Specifies whether a budget includes subscriptions. The default value is @true@ .-ctIncludeSubscription :: Lens' CostTypes (Maybe Bool)-ctIncludeSubscription = lens _ctIncludeSubscription (\ s a -> s{_ctIncludeSubscription = a})---- | Specifies whether a budget includes refunds. The default value is @true@ .-ctIncludeRefund :: Lens' CostTypes (Maybe Bool)-ctIncludeRefund = lens _ctIncludeRefund (\ s a -> s{_ctIncludeRefund = a})---- | Specifies whether a budget includes upfront RI costs. The default value is @true@ .-ctIncludeUpfront :: Lens' CostTypes (Maybe Bool)-ctIncludeUpfront = lens _ctIncludeUpfront (\ s a -> s{_ctIncludeUpfront = a})---- | Specifies whether a budget includes non-RI subscription costs. The default value is @true@ .-ctIncludeOtherSubscription :: Lens' CostTypes (Maybe Bool)-ctIncludeOtherSubscription = lens _ctIncludeOtherSubscription (\ s a -> s{_ctIncludeOtherSubscription = a})---- | Specifies whether a budget includes taxes. The default value is @true@ .-ctIncludeTax :: Lens' CostTypes (Maybe Bool)-ctIncludeTax = lens _ctIncludeTax (\ s a -> s{_ctIncludeTax = a})---- | Specifies whether a budget includes credits. The default value is @true@ .-ctIncludeCredit :: Lens' CostTypes (Maybe Bool)-ctIncludeCredit = lens _ctIncludeCredit (\ s a -> s{_ctIncludeCredit = a})--instance FromJSON CostTypes where-        parseJSON-          = withObject "CostTypes"-              (\ x ->-                 CostTypes' <$>-                   (x .:? "UseAmortized") <*> (x .:? "IncludeRecurring")-                     <*> (x .:? "UseBlended")-                     <*> (x .:? "IncludeSupport")-                     <*> (x .:? "IncludeDiscount")-                     <*> (x .:? "IncludeSubscription")-                     <*> (x .:? "IncludeRefund")-                     <*> (x .:? "IncludeUpfront")-                     <*> (x .:? "IncludeOtherSubscription")-                     <*> (x .:? "IncludeTax")-                     <*> (x .:? "IncludeCredit"))--instance Hashable CostTypes where--instance NFData CostTypes where--instance ToJSON CostTypes where-        toJSON CostTypes'{..}-          = object-              (catMaybes-                 [("UseAmortized" .=) <$> _ctUseAmortized,-                  ("IncludeRecurring" .=) <$> _ctIncludeRecurring,-                  ("UseBlended" .=) <$> _ctUseBlended,-                  ("IncludeSupport" .=) <$> _ctIncludeSupport,-                  ("IncludeDiscount" .=) <$> _ctIncludeDiscount,-                  ("IncludeSubscription" .=) <$>-                    _ctIncludeSubscription,-                  ("IncludeRefund" .=) <$> _ctIncludeRefund,-                  ("IncludeUpfront" .=) <$> _ctIncludeUpfront,-                  ("IncludeOtherSubscription" .=) <$>-                    _ctIncludeOtherSubscription,-                  ("IncludeTax" .=) <$> _ctIncludeTax,-                  ("IncludeCredit" .=) <$> _ctIncludeCredit])---- | A notification associated with a budget. A budget can have up to five notifications.--------- Each notification must have at least one subscriber. A notification can have one SNS subscriber and up to ten email subscribers, for a total of 11 subscribers.------ For example, if you have a budget for 200 dollars and you want to be notified when you go over 160 dollars, create a notification with the following parameters:------     * A notificationType of @ACTUAL@------     * A comparisonOperator of @GREATER_THAN@------     * A notification threshold of @80@--------------- /See:/ 'notification' smart constructor.-data Notification = Notification'-  { _nThresholdType      :: !(Maybe ThresholdType)-  , _nNotificationType   :: !NotificationType-  , _nComparisonOperator :: !ComparisonOperator-  , _nThreshold          :: !Double-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Notification' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'nThresholdType' - The type of threshold for a notification. For @ACTUAL@ thresholds, AWS notifies you when you go over the threshold, and for @FORECASTED@ thresholds AWS notifies you when you are forecasted to go over the threshold.------ * 'nNotificationType' - Whether the notification is for how much you have spent (@ACTUAL@ ) or for how much you are forecasted to spend (@FORECASTED@ ).------ * 'nComparisonOperator' - The comparison used for this notification.------ * 'nThreshold' - The threshold associated with a notification. Thresholds are always a percentage.-notification-    :: NotificationType -- ^ 'nNotificationType'-    -> ComparisonOperator -- ^ 'nComparisonOperator'-    -> Double -- ^ 'nThreshold'-    -> Notification-notification pNotificationType_ pComparisonOperator_ pThreshold_ =-  Notification'-    { _nThresholdType = Nothing-    , _nNotificationType = pNotificationType_-    , _nComparisonOperator = pComparisonOperator_-    , _nThreshold = pThreshold_-    }----- | The type of threshold for a notification. For @ACTUAL@ thresholds, AWS notifies you when you go over the threshold, and for @FORECASTED@ thresholds AWS notifies you when you are forecasted to go over the threshold.-nThresholdType :: Lens' Notification (Maybe ThresholdType)-nThresholdType = lens _nThresholdType (\ s a -> s{_nThresholdType = a})---- | Whether the notification is for how much you have spent (@ACTUAL@ ) or for how much you are forecasted to spend (@FORECASTED@ ).-nNotificationType :: Lens' Notification NotificationType-nNotificationType = lens _nNotificationType (\ s a -> s{_nNotificationType = a})---- | The comparison used for this notification.-nComparisonOperator :: Lens' Notification ComparisonOperator-nComparisonOperator = lens _nComparisonOperator (\ s a -> s{_nComparisonOperator = a})---- | The threshold associated with a notification. Thresholds are always a percentage.-nThreshold :: Lens' Notification Double-nThreshold = lens _nThreshold (\ s a -> s{_nThreshold = a})--instance FromJSON Notification where-        parseJSON-          = withObject "Notification"-              (\ x ->-                 Notification' <$>-                   (x .:? "ThresholdType") <*> (x .: "NotificationType")-                     <*> (x .: "ComparisonOperator")-                     <*> (x .: "Threshold"))--instance Hashable Notification where--instance NFData Notification where--instance ToJSON Notification where-        toJSON Notification'{..}-          = object-              (catMaybes-                 [("ThresholdType" .=) <$> _nThresholdType,-                  Just ("NotificationType" .= _nNotificationType),-                  Just ("ComparisonOperator" .= _nComparisonOperator),-                  Just ("Threshold" .= _nThreshold)])---- | A notification with subscribers. A notification can have one SNS subscriber and up to ten email subscribers, for a total of 11 subscribers.------------ /See:/ 'notificationWithSubscribers' smart constructor.-data NotificationWithSubscribers = NotificationWithSubscribers'-  { _nwsNotification :: !Notification-  , _nwsSubscribers  :: !(List1 Subscriber)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'NotificationWithSubscribers' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'nwsNotification' - The notification associated with a budget.------ * 'nwsSubscribers' - A list of subscribers who are subscribed to this notification.-notificationWithSubscribers-    :: Notification -- ^ 'nwsNotification'-    -> NonEmpty Subscriber -- ^ 'nwsSubscribers'-    -> NotificationWithSubscribers-notificationWithSubscribers pNotification_ pSubscribers_ =-  NotificationWithSubscribers'-    { _nwsNotification = pNotification_-    , _nwsSubscribers = _List1 # pSubscribers_-    }----- | The notification associated with a budget.-nwsNotification :: Lens' NotificationWithSubscribers Notification-nwsNotification = lens _nwsNotification (\ s a -> s{_nwsNotification = a})---- | A list of subscribers who are subscribed to this notification.-nwsSubscribers :: Lens' NotificationWithSubscribers (NonEmpty Subscriber)-nwsSubscribers = lens _nwsSubscribers (\ s a -> s{_nwsSubscribers = a}) . _List1--instance Hashable NotificationWithSubscribers where--instance NFData NotificationWithSubscribers where--instance ToJSON NotificationWithSubscribers where-        toJSON NotificationWithSubscribers'{..}-          = object-              (catMaybes-                 [Just ("Notification" .= _nwsNotification),-                  Just ("Subscribers" .= _nwsSubscribers)])---- | The amount of cost or usage being measured for a budget.--------- For example, a @Spend@ for @3 GB@ of S3 usage would have the following parameters:------     * An @Amount@ of @3@------     * A @unit@ of @GB@--------------- /See:/ 'spend' smart constructor.-data Spend = Spend'-  { _sAmount :: !Text-  , _sUnit   :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Spend' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sAmount' - The cost or usage amount associated with a budget forecast, actual spend, or budget threshold.------ * 'sUnit' - The unit of measurement used for the budget forecast, actual spend, or budget threshold, such as dollars or GB.-spend-    :: Text -- ^ 'sAmount'-    -> Text -- ^ 'sUnit'-    -> Spend-spend pAmount_ pUnit_ = Spend' {_sAmount = pAmount_, _sUnit = pUnit_}----- | The cost or usage amount associated with a budget forecast, actual spend, or budget threshold.-sAmount :: Lens' Spend Text-sAmount = lens _sAmount (\ s a -> s{_sAmount = a})---- | The unit of measurement used for the budget forecast, actual spend, or budget threshold, such as dollars or GB.-sUnit :: Lens' Spend Text-sUnit = lens _sUnit (\ s a -> s{_sUnit = a})--instance FromJSON Spend where-        parseJSON-          = withObject "Spend"-              (\ x -> Spend' <$> (x .: "Amount") <*> (x .: "Unit"))--instance Hashable Spend where--instance NFData Spend where--instance ToJSON Spend where-        toJSON Spend'{..}-          = object-              (catMaybes-                 [Just ("Amount" .= _sAmount),-                  Just ("Unit" .= _sUnit)])---- | The subscriber to a budget notification. The subscriber consists of a subscription type and either an Amazon Simple Notification Service topic or an email address.--------- For example, an email subscriber would have the following parameters:------     * A @subscriptionType@ of @EMAIL@------     * An @address@ of @example@example.com@--------------- /See:/ 'subscriber' smart constructor.-data Subscriber = Subscriber'-  { _sSubscriptionType :: !SubscriptionType-  , _sAddress          :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Subscriber' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sSubscriptionType' - The type of notification that AWS sends to a subscriber.------ * 'sAddress' - The address that AWS sends budget notifications to, either an SNS topic or an email.-subscriber-    :: SubscriptionType -- ^ 'sSubscriptionType'-    -> Text -- ^ 'sAddress'-    -> Subscriber-subscriber pSubscriptionType_ pAddress_ =-  Subscriber' {_sSubscriptionType = pSubscriptionType_, _sAddress = pAddress_}----- | The type of notification that AWS sends to a subscriber.-sSubscriptionType :: Lens' Subscriber SubscriptionType-sSubscriptionType = lens _sSubscriptionType (\ s a -> s{_sSubscriptionType = a})---- | The address that AWS sends budget notifications to, either an SNS topic or an email.-sAddress :: Lens' Subscriber Text-sAddress = lens _sAddress (\ s a -> s{_sAddress = a})--instance FromJSON Subscriber where-        parseJSON-          = withObject "Subscriber"-              (\ x ->-                 Subscriber' <$>-                   (x .: "SubscriptionType") <*> (x .: "Address"))--instance Hashable Subscriber where--instance NFData Subscriber where--instance ToJSON Subscriber where-        toJSON Subscriber'{..}-          = object-              (catMaybes-                 [Just ("SubscriptionType" .= _sSubscriptionType),-                  Just ("Address" .= _sAddress)])---- | The period of time covered by a budget. Has a start date and an end date. The start date must come before the end date. There are no restrictions on the end date.------------ /See:/ 'timePeriod' smart constructor.-data TimePeriod = TimePeriod'-  { _tpStart :: !(Maybe POSIX)-  , _tpEnd   :: !(Maybe POSIX)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'TimePeriod' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tpStart' - The start date for a budget. If you created your budget and didn't specify a start date, AWS defaults to the start of your chosen time period (i.e. DAILY, MONTHLY, QUARTERLY, ANNUALLY). For example, if you created your budget on January 24th 2018, chose @DAILY@ , and didn't set a start date, AWS set your start date to @01/24/18 00:00 UTC@ . If you chose @MONTHLY@ , AWS set your start date to @01/01/18 00:00 UTC@ . The defaults are the same for the AWS Billing and Cost Management console and the API. You can change your start date with the @UpdateBudget@ operation.------ * 'tpEnd' - The end date for a budget. If you didn't specify an end date, AWS set your end date to @06/15/87 00:00 UTC@ . The defaults are the same for the AWS Billing and Cost Management console and the API. After the end date, AWS deletes the budget and all associated notifications and subscribers. You can change your end date with the @UpdateBudget@ operation.-timePeriod-    :: TimePeriod-timePeriod = TimePeriod' {_tpStart = Nothing, _tpEnd = Nothing}----- | The start date for a budget. If you created your budget and didn't specify a start date, AWS defaults to the start of your chosen time period (i.e. DAILY, MONTHLY, QUARTERLY, ANNUALLY). For example, if you created your budget on January 24th 2018, chose @DAILY@ , and didn't set a start date, AWS set your start date to @01/24/18 00:00 UTC@ . If you chose @MONTHLY@ , AWS set your start date to @01/01/18 00:00 UTC@ . The defaults are the same for the AWS Billing and Cost Management console and the API. You can change your start date with the @UpdateBudget@ operation.-tpStart :: Lens' TimePeriod (Maybe UTCTime)-tpStart = lens _tpStart (\ s a -> s{_tpStart = a}) . mapping _Time---- | The end date for a budget. If you didn't specify an end date, AWS set your end date to @06/15/87 00:00 UTC@ . The defaults are the same for the AWS Billing and Cost Management console and the API. After the end date, AWS deletes the budget and all associated notifications and subscribers. You can change your end date with the @UpdateBudget@ operation.-tpEnd :: Lens' TimePeriod (Maybe UTCTime)-tpEnd = lens _tpEnd (\ s a -> s{_tpEnd = a}) . mapping _Time--instance FromJSON TimePeriod where-        parseJSON-          = withObject "TimePeriod"-              (\ x ->-                 TimePeriod' <$> (x .:? "Start") <*> (x .:? "End"))--instance Hashable TimePeriod where--instance NFData TimePeriod where--instance ToJSON TimePeriod where-        toJSON TimePeriod'{..}-          = object-              (catMaybes-                 [("Start" .=) <$> _tpStart, ("End" .=) <$> _tpEnd])
− gen/Network/AWS/Budgets/Types/Sum.hs
@@ -1,233 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE LambdaCase         #-}-{-# LANGUAGE OverloadedStrings  #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.Budgets.Types.Sum--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.Budgets.Types.Sum where--import Network.AWS.Prelude---- | The type of a budget. It should be COST, USAGE, or RI_UTILIZATION.-------data BudgetType-  = Cost-  | RiCoverage-  | RiUtilization-  | Usage-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText BudgetType where-    parser = takeLowerText >>= \case-        "cost" -> pure Cost-        "ri_coverage" -> pure RiCoverage-        "ri_utilization" -> pure RiUtilization-        "usage" -> pure Usage-        e -> fromTextError $ "Failure parsing BudgetType from value: '" <> e-           <> "'. Accepted values: cost, ri_coverage, ri_utilization, usage"--instance ToText BudgetType where-    toText = \case-        Cost -> "COST"-        RiCoverage -> "RI_COVERAGE"-        RiUtilization -> "RI_UTILIZATION"-        Usage -> "USAGE"--instance Hashable     BudgetType-instance NFData       BudgetType-instance ToByteString BudgetType-instance ToQuery      BudgetType-instance ToHeader     BudgetType--instance ToJSON BudgetType where-    toJSON = toJSONText--instance FromJSON BudgetType where-    parseJSON = parseJSONText "BudgetType"---- | The comparison operator of a notification. Currently we support less than, equal to and greater than.-------data ComparisonOperator-  = EqualTo-  | GreaterThan-  | LessThan-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText ComparisonOperator where-    parser = takeLowerText >>= \case-        "equal_to" -> pure EqualTo-        "greater_than" -> pure GreaterThan-        "less_than" -> pure LessThan-        e -> fromTextError $ "Failure parsing ComparisonOperator from value: '" <> e-           <> "'. Accepted values: equal_to, greater_than, less_than"--instance ToText ComparisonOperator where-    toText = \case-        EqualTo -> "EQUAL_TO"-        GreaterThan -> "GREATER_THAN"-        LessThan -> "LESS_THAN"--instance Hashable     ComparisonOperator-instance NFData       ComparisonOperator-instance ToByteString ComparisonOperator-instance ToQuery      ComparisonOperator-instance ToHeader     ComparisonOperator--instance ToJSON ComparisonOperator where-    toJSON = toJSONText--instance FromJSON ComparisonOperator where-    parseJSON = parseJSONText "ComparisonOperator"---- | The type of a notification. It should be ACTUAL or FORECASTED.-------data NotificationType-  = Actual-  | Forecasted-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText NotificationType where-    parser = takeLowerText >>= \case-        "actual" -> pure Actual-        "forecasted" -> pure Forecasted-        e -> fromTextError $ "Failure parsing NotificationType from value: '" <> e-           <> "'. Accepted values: actual, forecasted"--instance ToText NotificationType where-    toText = \case-        Actual -> "ACTUAL"-        Forecasted -> "FORECASTED"--instance Hashable     NotificationType-instance NFData       NotificationType-instance ToByteString NotificationType-instance ToQuery      NotificationType-instance ToHeader     NotificationType--instance ToJSON NotificationType where-    toJSON = toJSONText--instance FromJSON NotificationType where-    parseJSON = parseJSONText "NotificationType"---- | The subscription type of the subscriber. It can be SMS or EMAIL.-------data SubscriptionType-  = Email-  | SNS-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText SubscriptionType where-    parser = takeLowerText >>= \case-        "email" -> pure Email-        "sns" -> pure SNS-        e -> fromTextError $ "Failure parsing SubscriptionType from value: '" <> e-           <> "'. Accepted values: email, sns"--instance ToText SubscriptionType where-    toText = \case-        Email -> "EMAIL"-        SNS -> "SNS"--instance Hashable     SubscriptionType-instance NFData       SubscriptionType-instance ToByteString SubscriptionType-instance ToQuery      SubscriptionType-instance ToHeader     SubscriptionType--instance ToJSON SubscriptionType where-    toJSON = toJSONText--instance FromJSON SubscriptionType where-    parseJSON = parseJSONText "SubscriptionType"---- | The type of threshold for a notification. It can be PERCENTAGE or ABSOLUTE_VALUE.-------data ThresholdType-  = AbsoluteValue-  | Percentage-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText ThresholdType where-    parser = takeLowerText >>= \case-        "absolute_value" -> pure AbsoluteValue-        "percentage" -> pure Percentage-        e -> fromTextError $ "Failure parsing ThresholdType from value: '" <> e-           <> "'. Accepted values: absolute_value, percentage"--instance ToText ThresholdType where-    toText = \case-        AbsoluteValue -> "ABSOLUTE_VALUE"-        Percentage -> "PERCENTAGE"--instance Hashable     ThresholdType-instance NFData       ThresholdType-instance ToByteString ThresholdType-instance ToQuery      ThresholdType-instance ToHeader     ThresholdType--instance ToJSON ThresholdType where-    toJSON = toJSONText--instance FromJSON ThresholdType where-    parseJSON = parseJSONText "ThresholdType"---- | The time unit of the budget. e.g. MONTHLY, QUARTERLY, etc.-------data TimeUnit-  = Annually-  | Daily-  | Monthly-  | Quarterly-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText TimeUnit where-    parser = takeLowerText >>= \case-        "annually" -> pure Annually-        "daily" -> pure Daily-        "monthly" -> pure Monthly-        "quarterly" -> pure Quarterly-        e -> fromTextError $ "Failure parsing TimeUnit from value: '" <> e-           <> "'. Accepted values: annually, daily, monthly, quarterly"--instance ToText TimeUnit where-    toText = \case-        Annually -> "ANNUALLY"-        Daily -> "DAILY"-        Monthly -> "MONTHLY"-        Quarterly -> "QUARTERLY"--instance Hashable     TimeUnit-instance NFData       TimeUnit-instance ToByteString TimeUnit-instance ToQuery      TimeUnit-instance ToHeader     TimeUnit--instance ToJSON TimeUnit where-    toJSON = toJSONText--instance FromJSON TimeUnit where-    parseJSON = parseJSONText "TimeUnit"
− gen/Network/AWS/Budgets/UpdateBudget.hs
@@ -1,142 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.Budgets.UpdateBudget--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Updates a budget. You can change every part of a budget except for the @budgetName@ and the @calculatedSpend@ . When a budget is modified, the @calculatedSpend@ drops to zero until AWS has new usage data to use for forecasting.-------module Network.AWS.Budgets.UpdateBudget-    (-    -- * Creating a Request-      updateBudget-    , UpdateBudget-    -- * Request Lenses-    , ubAccountId-    , ubNewBudget--    -- * Destructuring the Response-    , updateBudgetResponse-    , UpdateBudgetResponse-    -- * Response Lenses-    , ubrsResponseStatus-    ) where--import Network.AWS.Budgets.Types-import Network.AWS.Budgets.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response---- | Request of UpdateBudget------------ /See:/ 'updateBudget' smart constructor.-data UpdateBudget = UpdateBudget'-  { _ubAccountId :: !Text-  , _ubNewBudget :: !Budget-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateBudget' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ubAccountId' - The @accountId@ that is associated with the budget that you want to update.------ * 'ubNewBudget' - The budget that you want to update your budget to.-updateBudget-    :: Text -- ^ 'ubAccountId'-    -> Budget -- ^ 'ubNewBudget'-    -> UpdateBudget-updateBudget pAccountId_ pNewBudget_ =-  UpdateBudget' {_ubAccountId = pAccountId_, _ubNewBudget = pNewBudget_}----- | The @accountId@ that is associated with the budget that you want to update.-ubAccountId :: Lens' UpdateBudget Text-ubAccountId = lens _ubAccountId (\ s a -> s{_ubAccountId = a})---- | The budget that you want to update your budget to.-ubNewBudget :: Lens' UpdateBudget Budget-ubNewBudget = lens _ubNewBudget (\ s a -> s{_ubNewBudget = a})--instance AWSRequest UpdateBudget where-        type Rs UpdateBudget = UpdateBudgetResponse-        request = postJSON budgets-        response-          = receiveEmpty-              (\ s h x ->-                 UpdateBudgetResponse' <$> (pure (fromEnum s)))--instance Hashable UpdateBudget where--instance NFData UpdateBudget where--instance ToHeaders UpdateBudget where-        toHeaders-          = const-              (mconcat-                 ["X-Amz-Target" =#-                    ("AWSBudgetServiceGateway.UpdateBudget" ::-                       ByteString),-                  "Content-Type" =#-                    ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON UpdateBudget where-        toJSON UpdateBudget'{..}-          = object-              (catMaybes-                 [Just ("AccountId" .= _ubAccountId),-                  Just ("NewBudget" .= _ubNewBudget)])--instance ToPath UpdateBudget where-        toPath = const "/"--instance ToQuery UpdateBudget where-        toQuery = const mempty---- | Response of UpdateBudget------------ /See:/ 'updateBudgetResponse' smart constructor.-newtype UpdateBudgetResponse = UpdateBudgetResponse'-  { _ubrsResponseStatus :: Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateBudgetResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ubrsResponseStatus' - -- | The response status code.-updateBudgetResponse-    :: Int -- ^ 'ubrsResponseStatus'-    -> UpdateBudgetResponse-updateBudgetResponse pResponseStatus_ =-  UpdateBudgetResponse' {_ubrsResponseStatus = pResponseStatus_}----- | -- | The response status code.-ubrsResponseStatus :: Lens' UpdateBudgetResponse Int-ubrsResponseStatus = lens _ubrsResponseStatus (\ s a -> s{_ubrsResponseStatus = a})--instance NFData UpdateBudgetResponse where
− gen/Network/AWS/Budgets/UpdateNotification.hs
@@ -1,168 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.Budgets.UpdateNotification--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Updates a notification.-------module Network.AWS.Budgets.UpdateNotification-    (-    -- * Creating a Request-      updateNotification-    , UpdateNotification-    -- * Request Lenses-    , unAccountId-    , unBudgetName-    , unOldNotification-    , unNewNotification--    -- * Destructuring the Response-    , updateNotificationResponse-    , UpdateNotificationResponse-    -- * Response Lenses-    , unrsResponseStatus-    ) where--import Network.AWS.Budgets.Types-import Network.AWS.Budgets.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response---- | Request of UpdateNotification------------ /See:/ 'updateNotification' smart constructor.-data UpdateNotification = UpdateNotification'-  { _unAccountId       :: !Text-  , _unBudgetName      :: !Text-  , _unOldNotification :: !Notification-  , _unNewNotification :: !Notification-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateNotification' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'unAccountId' - The @accountId@ that is associated with the budget whose notification you want to update.------ * 'unBudgetName' - The name of the budget whose notification you want to update.------ * 'unOldNotification' - The previous notification associated with a budget.------ * 'unNewNotification' - The updated notification to be associated with a budget.-updateNotification-    :: Text -- ^ 'unAccountId'-    -> Text -- ^ 'unBudgetName'-    -> Notification -- ^ 'unOldNotification'-    -> Notification -- ^ 'unNewNotification'-    -> UpdateNotification-updateNotification pAccountId_ pBudgetName_ pOldNotification_ pNewNotification_ =-  UpdateNotification'-    { _unAccountId = pAccountId_-    , _unBudgetName = pBudgetName_-    , _unOldNotification = pOldNotification_-    , _unNewNotification = pNewNotification_-    }----- | The @accountId@ that is associated with the budget whose notification you want to update.-unAccountId :: Lens' UpdateNotification Text-unAccountId = lens _unAccountId (\ s a -> s{_unAccountId = a})---- | The name of the budget whose notification you want to update.-unBudgetName :: Lens' UpdateNotification Text-unBudgetName = lens _unBudgetName (\ s a -> s{_unBudgetName = a})---- | The previous notification associated with a budget.-unOldNotification :: Lens' UpdateNotification Notification-unOldNotification = lens _unOldNotification (\ s a -> s{_unOldNotification = a})---- | The updated notification to be associated with a budget.-unNewNotification :: Lens' UpdateNotification Notification-unNewNotification = lens _unNewNotification (\ s a -> s{_unNewNotification = a})--instance AWSRequest UpdateNotification where-        type Rs UpdateNotification =-             UpdateNotificationResponse-        request = postJSON budgets-        response-          = receiveEmpty-              (\ s h x ->-                 UpdateNotificationResponse' <$> (pure (fromEnum s)))--instance Hashable UpdateNotification where--instance NFData UpdateNotification where--instance ToHeaders UpdateNotification where-        toHeaders-          = const-              (mconcat-                 ["X-Amz-Target" =#-                    ("AWSBudgetServiceGateway.UpdateNotification" ::-                       ByteString),-                  "Content-Type" =#-                    ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON UpdateNotification where-        toJSON UpdateNotification'{..}-          = object-              (catMaybes-                 [Just ("AccountId" .= _unAccountId),-                  Just ("BudgetName" .= _unBudgetName),-                  Just ("OldNotification" .= _unOldNotification),-                  Just ("NewNotification" .= _unNewNotification)])--instance ToPath UpdateNotification where-        toPath = const "/"--instance ToQuery UpdateNotification where-        toQuery = const mempty---- | Response of UpdateNotification------------ /See:/ 'updateNotificationResponse' smart constructor.-newtype UpdateNotificationResponse = UpdateNotificationResponse'-  { _unrsResponseStatus :: Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateNotificationResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'unrsResponseStatus' - -- | The response status code.-updateNotificationResponse-    :: Int -- ^ 'unrsResponseStatus'-    -> UpdateNotificationResponse-updateNotificationResponse pResponseStatus_ =-  UpdateNotificationResponse' {_unrsResponseStatus = pResponseStatus_}----- | -- | The response status code.-unrsResponseStatus :: Lens' UpdateNotificationResponse Int-unrsResponseStatus = lens _unrsResponseStatus (\ s a -> s{_unrsResponseStatus = a})--instance NFData UpdateNotificationResponse where
− gen/Network/AWS/Budgets/UpdateSubscriber.hs
@@ -1,178 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.Budgets.UpdateSubscriber--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Updates a subscriber.-------module Network.AWS.Budgets.UpdateSubscriber-    (-    -- * Creating a Request-      updateSubscriber-    , UpdateSubscriber-    -- * Request Lenses-    , usAccountId-    , usBudgetName-    , usNotification-    , usOldSubscriber-    , usNewSubscriber--    -- * Destructuring the Response-    , updateSubscriberResponse-    , UpdateSubscriberResponse-    -- * Response Lenses-    , usrsResponseStatus-    ) where--import Network.AWS.Budgets.Types-import Network.AWS.Budgets.Types.Product-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response---- | Request of UpdateSubscriber------------ /See:/ 'updateSubscriber' smart constructor.-data UpdateSubscriber = UpdateSubscriber'-  { _usAccountId     :: !Text-  , _usBudgetName    :: !Text-  , _usNotification  :: !Notification-  , _usOldSubscriber :: !Subscriber-  , _usNewSubscriber :: !Subscriber-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateSubscriber' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'usAccountId' - The @accountId@ that is associated with the budget whose subscriber you want to update.------ * 'usBudgetName' - The name of the budget whose subscriber you want to update.------ * 'usNotification' - The notification whose subscriber you want to update.------ * 'usOldSubscriber' - The previous subscriber associated with a budget notification.------ * 'usNewSubscriber' - The updated subscriber associated with a budget notification.-updateSubscriber-    :: Text -- ^ 'usAccountId'-    -> Text -- ^ 'usBudgetName'-    -> Notification -- ^ 'usNotification'-    -> Subscriber -- ^ 'usOldSubscriber'-    -> Subscriber -- ^ 'usNewSubscriber'-    -> UpdateSubscriber-updateSubscriber pAccountId_ pBudgetName_ pNotification_ pOldSubscriber_ pNewSubscriber_ =-  UpdateSubscriber'-    { _usAccountId = pAccountId_-    , _usBudgetName = pBudgetName_-    , _usNotification = pNotification_-    , _usOldSubscriber = pOldSubscriber_-    , _usNewSubscriber = pNewSubscriber_-    }----- | The @accountId@ that is associated with the budget whose subscriber you want to update.-usAccountId :: Lens' UpdateSubscriber Text-usAccountId = lens _usAccountId (\ s a -> s{_usAccountId = a})---- | The name of the budget whose subscriber you want to update.-usBudgetName :: Lens' UpdateSubscriber Text-usBudgetName = lens _usBudgetName (\ s a -> s{_usBudgetName = a})---- | The notification whose subscriber you want to update.-usNotification :: Lens' UpdateSubscriber Notification-usNotification = lens _usNotification (\ s a -> s{_usNotification = a})---- | The previous subscriber associated with a budget notification.-usOldSubscriber :: Lens' UpdateSubscriber Subscriber-usOldSubscriber = lens _usOldSubscriber (\ s a -> s{_usOldSubscriber = a})---- | The updated subscriber associated with a budget notification.-usNewSubscriber :: Lens' UpdateSubscriber Subscriber-usNewSubscriber = lens _usNewSubscriber (\ s a -> s{_usNewSubscriber = a})--instance AWSRequest UpdateSubscriber where-        type Rs UpdateSubscriber = UpdateSubscriberResponse-        request = postJSON budgets-        response-          = receiveEmpty-              (\ s h x ->-                 UpdateSubscriberResponse' <$> (pure (fromEnum s)))--instance Hashable UpdateSubscriber where--instance NFData UpdateSubscriber where--instance ToHeaders UpdateSubscriber where-        toHeaders-          = const-              (mconcat-                 ["X-Amz-Target" =#-                    ("AWSBudgetServiceGateway.UpdateSubscriber" ::-                       ByteString),-                  "Content-Type" =#-                    ("application/x-amz-json-1.1" :: ByteString)])--instance ToJSON UpdateSubscriber where-        toJSON UpdateSubscriber'{..}-          = object-              (catMaybes-                 [Just ("AccountId" .= _usAccountId),-                  Just ("BudgetName" .= _usBudgetName),-                  Just ("Notification" .= _usNotification),-                  Just ("OldSubscriber" .= _usOldSubscriber),-                  Just ("NewSubscriber" .= _usNewSubscriber)])--instance ToPath UpdateSubscriber where-        toPath = const "/"--instance ToQuery UpdateSubscriber where-        toQuery = const mempty---- | Response of UpdateSubscriber------------ /See:/ 'updateSubscriberResponse' smart constructor.-newtype UpdateSubscriberResponse = UpdateSubscriberResponse'-  { _usrsResponseStatus :: Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UpdateSubscriberResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'usrsResponseStatus' - -- | The response status code.-updateSubscriberResponse-    :: Int -- ^ 'usrsResponseStatus'-    -> UpdateSubscriberResponse-updateSubscriberResponse pResponseStatus_ =-  UpdateSubscriberResponse' {_usrsResponseStatus = pResponseStatus_}----- | -- | The response status code.-usrsResponseStatus :: Lens' UpdateSubscriberResponse Int-usrsResponseStatus = lens _usrsResponseStatus (\ s a -> s{_usrsResponseStatus = a})--instance NFData UpdateSubscriberResponse where
− gen/Network/AWS/Budgets/Waiters.hs
@@ -1,21 +0,0 @@-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE TypeFamilies      #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.Budgets.Waiters--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.Budgets.Waiters where--import Network.AWS.Budgets.Types-import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Waiter
test/Main.hs view
@@ -2,20 +2,22 @@  -- | -- Module      : Main--- Copyright   : (c) 2013-2018 Brendan Hay+-- Copyright   : (c) 2013-2023 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Maintainer  : Brendan Hay -- Stability   : auto-generated -- Portability : non-portable (GHC extensions)--- module Main (main) where +import Test.Amazonka.Budgets+import Test.Amazonka.Budgets.Internal import Test.Tasty-import Test.AWS.Budgets-import Test.AWS.Budgets.Internal  main :: IO ()-main = defaultMain $ testGroup "Budgets"-    [ testGroup "tests"    tests-    , testGroup "fixtures" fixtures-    ]+main =+  defaultMain $+    testGroup+      "Budgets"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
− test/Test/AWS/Budgets.hs
@@ -1,20 +0,0 @@--- |--- Module      : Test.AWS.Budgets--- Copyright   : (c) 2013-2018 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)----module Test.AWS.Budgets-    ( tests-    , fixtures-    ) where--import Test.Tasty (TestTree)--tests :: [TestTree]-tests = []--fixtures :: [TestTree]-fixtures = []
− test/Test/AWS/Budgets/Internal.hs
@@ -1,9 +0,0 @@--- |--- Module      : Test.AWS.Budgets.Internal--- Copyright   : (c) 2013-2018 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)----module Test.AWS.Budgets.Internal where
− test/Test/AWS/Gen/Budgets.hs
@@ -1,273 +0,0 @@-{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-orphans        #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Test.AWS.Gen.Budgets--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Test.AWS.Gen.Budgets where--import Data.Proxy-import Network.AWS.Budgets-import Test.AWS.Budgets.Internal-import Test.AWS.Fixture-import Test.AWS.Prelude-import Test.Tasty---- Auto-generated: the actual test selection needs to be manually placed into--- the top-level so that real test data can be incrementally added.------ This commented snippet is what the entire set should look like:---- fixtures :: TestTree--- fixtures =---     [ testGroup "request"---         [ requestDescribeSubscribersForNotification $---             describeSubscribersForNotification------         , requestDescribeNotificationsForBudget $---             describeNotificationsForBudget------         , requestDescribeBudgets $---             describeBudgets------         , requestCreateSubscriber $---             createSubscriber------         , requestUpdateBudget $---             updateBudget------         , requestDeleteBudget $---             deleteBudget------         , requestDeleteNotification $---             deleteNotification------         , requestUpdateNotification $---             updateNotification------         , requestDescribeBudget $---             describeBudget------         , requestUpdateSubscriber $---             updateSubscriber------         , requestDeleteSubscriber $---             deleteSubscriber------         , requestCreateBudget $---             createBudget------         , requestCreateNotification $---             createNotification------           ]----     , testGroup "response"---         [ responseDescribeSubscribersForNotification $---             describeSubscribersForNotificationResponse------         , responseDescribeNotificationsForBudget $---             describeNotificationsForBudgetResponse------         , responseDescribeBudgets $---             describeBudgetsResponse------         , responseCreateSubscriber $---             createSubscriberResponse------         , responseUpdateBudget $---             updateBudgetResponse------         , responseDeleteBudget $---             deleteBudgetResponse------         , responseDeleteNotification $---             deleteNotificationResponse------         , responseUpdateNotification $---             updateNotificationResponse------         , responseDescribeBudget $---             describeBudgetResponse------         , responseUpdateSubscriber $---             updateSubscriberResponse------         , responseDeleteSubscriber $---             deleteSubscriberResponse------         , responseCreateBudget $---             createBudgetResponse------         , responseCreateNotification $---             createNotificationResponse------           ]---     ]---- Requests--requestDescribeSubscribersForNotification :: DescribeSubscribersForNotification -> TestTree-requestDescribeSubscribersForNotification = req-    "DescribeSubscribersForNotification"-    "fixture/DescribeSubscribersForNotification.yaml"--requestDescribeNotificationsForBudget :: DescribeNotificationsForBudget -> TestTree-requestDescribeNotificationsForBudget = req-    "DescribeNotificationsForBudget"-    "fixture/DescribeNotificationsForBudget.yaml"--requestDescribeBudgets :: DescribeBudgets -> TestTree-requestDescribeBudgets = req-    "DescribeBudgets"-    "fixture/DescribeBudgets.yaml"--requestCreateSubscriber :: CreateSubscriber -> TestTree-requestCreateSubscriber = req-    "CreateSubscriber"-    "fixture/CreateSubscriber.yaml"--requestUpdateBudget :: UpdateBudget -> TestTree-requestUpdateBudget = req-    "UpdateBudget"-    "fixture/UpdateBudget.yaml"--requestDeleteBudget :: DeleteBudget -> TestTree-requestDeleteBudget = req-    "DeleteBudget"-    "fixture/DeleteBudget.yaml"--requestDeleteNotification :: DeleteNotification -> TestTree-requestDeleteNotification = req-    "DeleteNotification"-    "fixture/DeleteNotification.yaml"--requestUpdateNotification :: UpdateNotification -> TestTree-requestUpdateNotification = req-    "UpdateNotification"-    "fixture/UpdateNotification.yaml"--requestDescribeBudget :: DescribeBudget -> TestTree-requestDescribeBudget = req-    "DescribeBudget"-    "fixture/DescribeBudget.yaml"--requestUpdateSubscriber :: UpdateSubscriber -> TestTree-requestUpdateSubscriber = req-    "UpdateSubscriber"-    "fixture/UpdateSubscriber.yaml"--requestDeleteSubscriber :: DeleteSubscriber -> TestTree-requestDeleteSubscriber = req-    "DeleteSubscriber"-    "fixture/DeleteSubscriber.yaml"--requestCreateBudget :: CreateBudget -> TestTree-requestCreateBudget = req-    "CreateBudget"-    "fixture/CreateBudget.yaml"--requestCreateNotification :: CreateNotification -> TestTree-requestCreateNotification = req-    "CreateNotification"-    "fixture/CreateNotification.yaml"---- Responses--responseDescribeSubscribersForNotification :: DescribeSubscribersForNotificationResponse -> TestTree-responseDescribeSubscribersForNotification = res-    "DescribeSubscribersForNotificationResponse"-    "fixture/DescribeSubscribersForNotificationResponse.proto"-    budgets-    (Proxy :: Proxy DescribeSubscribersForNotification)--responseDescribeNotificationsForBudget :: DescribeNotificationsForBudgetResponse -> TestTree-responseDescribeNotificationsForBudget = res-    "DescribeNotificationsForBudgetResponse"-    "fixture/DescribeNotificationsForBudgetResponse.proto"-    budgets-    (Proxy :: Proxy DescribeNotificationsForBudget)--responseDescribeBudgets :: DescribeBudgetsResponse -> TestTree-responseDescribeBudgets = res-    "DescribeBudgetsResponse"-    "fixture/DescribeBudgetsResponse.proto"-    budgets-    (Proxy :: Proxy DescribeBudgets)--responseCreateSubscriber :: CreateSubscriberResponse -> TestTree-responseCreateSubscriber = res-    "CreateSubscriberResponse"-    "fixture/CreateSubscriberResponse.proto"-    budgets-    (Proxy :: Proxy CreateSubscriber)--responseUpdateBudget :: UpdateBudgetResponse -> TestTree-responseUpdateBudget = res-    "UpdateBudgetResponse"-    "fixture/UpdateBudgetResponse.proto"-    budgets-    (Proxy :: Proxy UpdateBudget)--responseDeleteBudget :: DeleteBudgetResponse -> TestTree-responseDeleteBudget = res-    "DeleteBudgetResponse"-    "fixture/DeleteBudgetResponse.proto"-    budgets-    (Proxy :: Proxy DeleteBudget)--responseDeleteNotification :: DeleteNotificationResponse -> TestTree-responseDeleteNotification = res-    "DeleteNotificationResponse"-    "fixture/DeleteNotificationResponse.proto"-    budgets-    (Proxy :: Proxy DeleteNotification)--responseUpdateNotification :: UpdateNotificationResponse -> TestTree-responseUpdateNotification = res-    "UpdateNotificationResponse"-    "fixture/UpdateNotificationResponse.proto"-    budgets-    (Proxy :: Proxy UpdateNotification)--responseDescribeBudget :: DescribeBudgetResponse -> TestTree-responseDescribeBudget = res-    "DescribeBudgetResponse"-    "fixture/DescribeBudgetResponse.proto"-    budgets-    (Proxy :: Proxy DescribeBudget)--responseUpdateSubscriber :: UpdateSubscriberResponse -> TestTree-responseUpdateSubscriber = res-    "UpdateSubscriberResponse"-    "fixture/UpdateSubscriberResponse.proto"-    budgets-    (Proxy :: Proxy UpdateSubscriber)--responseDeleteSubscriber :: DeleteSubscriberResponse -> TestTree-responseDeleteSubscriber = res-    "DeleteSubscriberResponse"-    "fixture/DeleteSubscriberResponse.proto"-    budgets-    (Proxy :: Proxy DeleteSubscriber)--responseCreateBudget :: CreateBudgetResponse -> TestTree-responseCreateBudget = res-    "CreateBudgetResponse"-    "fixture/CreateBudgetResponse.proto"-    budgets-    (Proxy :: Proxy CreateBudget)--responseCreateNotification :: CreateNotificationResponse -> TestTree-responseCreateNotification = res-    "CreateNotificationResponse"-    "fixture/CreateNotificationResponse.proto"-    budgets-    (Proxy :: Proxy CreateNotification)
+ test/Test/Amazonka/Budgets.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.Budgets+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.Budgets+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/Budgets/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.Budgets.Internal+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.Budgets.Internal where
+ test/Test/Amazonka/Gen/Budgets.hs view
@@ -0,0 +1,498 @@+{-# OPTIONS_GHC -fno-warn-orphans #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Test.Amazonka.Gen.Budgets+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.Gen.Budgets where++import Amazonka.Budgets+import qualified Data.Proxy as Proxy+import Test.Amazonka.Budgets.Internal+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+import Test.Tasty++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+--     [ testGroup "request"+--         [ requestCreateBudget $+--             newCreateBudget+--+--         , requestCreateBudgetAction $+--             newCreateBudgetAction+--+--         , requestCreateNotification $+--             newCreateNotification+--+--         , requestCreateSubscriber $+--             newCreateSubscriber+--+--         , requestDeleteBudget $+--             newDeleteBudget+--+--         , requestDeleteBudgetAction $+--             newDeleteBudgetAction+--+--         , requestDeleteNotification $+--             newDeleteNotification+--+--         , requestDeleteSubscriber $+--             newDeleteSubscriber+--+--         , requestDescribeBudget $+--             newDescribeBudget+--+--         , requestDescribeBudgetAction $+--             newDescribeBudgetAction+--+--         , requestDescribeBudgetActionHistories $+--             newDescribeBudgetActionHistories+--+--         , requestDescribeBudgetActionsForAccount $+--             newDescribeBudgetActionsForAccount+--+--         , requestDescribeBudgetActionsForBudget $+--             newDescribeBudgetActionsForBudget+--+--         , requestDescribeBudgetNotificationsForAccount $+--             newDescribeBudgetNotificationsForAccount+--+--         , requestDescribeBudgetPerformanceHistory $+--             newDescribeBudgetPerformanceHistory+--+--         , requestDescribeBudgets $+--             newDescribeBudgets+--+--         , requestDescribeNotificationsForBudget $+--             newDescribeNotificationsForBudget+--+--         , requestDescribeSubscribersForNotification $+--             newDescribeSubscribersForNotification+--+--         , requestExecuteBudgetAction $+--             newExecuteBudgetAction+--+--         , requestUpdateBudget $+--             newUpdateBudget+--+--         , requestUpdateBudgetAction $+--             newUpdateBudgetAction+--+--         , requestUpdateNotification $+--             newUpdateNotification+--+--         , requestUpdateSubscriber $+--             newUpdateSubscriber+--+--           ]++--     , testGroup "response"+--         [ responseCreateBudget $+--             newCreateBudgetResponse+--+--         , responseCreateBudgetAction $+--             newCreateBudgetActionResponse+--+--         , responseCreateNotification $+--             newCreateNotificationResponse+--+--         , responseCreateSubscriber $+--             newCreateSubscriberResponse+--+--         , responseDeleteBudget $+--             newDeleteBudgetResponse+--+--         , responseDeleteBudgetAction $+--             newDeleteBudgetActionResponse+--+--         , responseDeleteNotification $+--             newDeleteNotificationResponse+--+--         , responseDeleteSubscriber $+--             newDeleteSubscriberResponse+--+--         , responseDescribeBudget $+--             newDescribeBudgetResponse+--+--         , responseDescribeBudgetAction $+--             newDescribeBudgetActionResponse+--+--         , responseDescribeBudgetActionHistories $+--             newDescribeBudgetActionHistoriesResponse+--+--         , responseDescribeBudgetActionsForAccount $+--             newDescribeBudgetActionsForAccountResponse+--+--         , responseDescribeBudgetActionsForBudget $+--             newDescribeBudgetActionsForBudgetResponse+--+--         , responseDescribeBudgetNotificationsForAccount $+--             newDescribeBudgetNotificationsForAccountResponse+--+--         , responseDescribeBudgetPerformanceHistory $+--             newDescribeBudgetPerformanceHistoryResponse+--+--         , responseDescribeBudgets $+--             newDescribeBudgetsResponse+--+--         , responseDescribeNotificationsForBudget $+--             newDescribeNotificationsForBudgetResponse+--+--         , responseDescribeSubscribersForNotification $+--             newDescribeSubscribersForNotificationResponse+--+--         , responseExecuteBudgetAction $+--             newExecuteBudgetActionResponse+--+--         , responseUpdateBudget $+--             newUpdateBudgetResponse+--+--         , responseUpdateBudgetAction $+--             newUpdateBudgetActionResponse+--+--         , responseUpdateNotification $+--             newUpdateNotificationResponse+--+--         , responseUpdateSubscriber $+--             newUpdateSubscriberResponse+--+--           ]+--     ]++-- Requests++requestCreateBudget :: CreateBudget -> TestTree+requestCreateBudget =+  req+    "CreateBudget"+    "fixture/CreateBudget.yaml"++requestCreateBudgetAction :: CreateBudgetAction -> TestTree+requestCreateBudgetAction =+  req+    "CreateBudgetAction"+    "fixture/CreateBudgetAction.yaml"++requestCreateNotification :: CreateNotification -> TestTree+requestCreateNotification =+  req+    "CreateNotification"+    "fixture/CreateNotification.yaml"++requestCreateSubscriber :: CreateSubscriber -> TestTree+requestCreateSubscriber =+  req+    "CreateSubscriber"+    "fixture/CreateSubscriber.yaml"++requestDeleteBudget :: DeleteBudget -> TestTree+requestDeleteBudget =+  req+    "DeleteBudget"+    "fixture/DeleteBudget.yaml"++requestDeleteBudgetAction :: DeleteBudgetAction -> TestTree+requestDeleteBudgetAction =+  req+    "DeleteBudgetAction"+    "fixture/DeleteBudgetAction.yaml"++requestDeleteNotification :: DeleteNotification -> TestTree+requestDeleteNotification =+  req+    "DeleteNotification"+    "fixture/DeleteNotification.yaml"++requestDeleteSubscriber :: DeleteSubscriber -> TestTree+requestDeleteSubscriber =+  req+    "DeleteSubscriber"+    "fixture/DeleteSubscriber.yaml"++requestDescribeBudget :: DescribeBudget -> TestTree+requestDescribeBudget =+  req+    "DescribeBudget"+    "fixture/DescribeBudget.yaml"++requestDescribeBudgetAction :: DescribeBudgetAction -> TestTree+requestDescribeBudgetAction =+  req+    "DescribeBudgetAction"+    "fixture/DescribeBudgetAction.yaml"++requestDescribeBudgetActionHistories :: DescribeBudgetActionHistories -> TestTree+requestDescribeBudgetActionHistories =+  req+    "DescribeBudgetActionHistories"+    "fixture/DescribeBudgetActionHistories.yaml"++requestDescribeBudgetActionsForAccount :: DescribeBudgetActionsForAccount -> TestTree+requestDescribeBudgetActionsForAccount =+  req+    "DescribeBudgetActionsForAccount"+    "fixture/DescribeBudgetActionsForAccount.yaml"++requestDescribeBudgetActionsForBudget :: DescribeBudgetActionsForBudget -> TestTree+requestDescribeBudgetActionsForBudget =+  req+    "DescribeBudgetActionsForBudget"+    "fixture/DescribeBudgetActionsForBudget.yaml"++requestDescribeBudgetNotificationsForAccount :: DescribeBudgetNotificationsForAccount -> TestTree+requestDescribeBudgetNotificationsForAccount =+  req+    "DescribeBudgetNotificationsForAccount"+    "fixture/DescribeBudgetNotificationsForAccount.yaml"++requestDescribeBudgetPerformanceHistory :: DescribeBudgetPerformanceHistory -> TestTree+requestDescribeBudgetPerformanceHistory =+  req+    "DescribeBudgetPerformanceHistory"+    "fixture/DescribeBudgetPerformanceHistory.yaml"++requestDescribeBudgets :: DescribeBudgets -> TestTree+requestDescribeBudgets =+  req+    "DescribeBudgets"+    "fixture/DescribeBudgets.yaml"++requestDescribeNotificationsForBudget :: DescribeNotificationsForBudget -> TestTree+requestDescribeNotificationsForBudget =+  req+    "DescribeNotificationsForBudget"+    "fixture/DescribeNotificationsForBudget.yaml"++requestDescribeSubscribersForNotification :: DescribeSubscribersForNotification -> TestTree+requestDescribeSubscribersForNotification =+  req+    "DescribeSubscribersForNotification"+    "fixture/DescribeSubscribersForNotification.yaml"++requestExecuteBudgetAction :: ExecuteBudgetAction -> TestTree+requestExecuteBudgetAction =+  req+    "ExecuteBudgetAction"+    "fixture/ExecuteBudgetAction.yaml"++requestUpdateBudget :: UpdateBudget -> TestTree+requestUpdateBudget =+  req+    "UpdateBudget"+    "fixture/UpdateBudget.yaml"++requestUpdateBudgetAction :: UpdateBudgetAction -> TestTree+requestUpdateBudgetAction =+  req+    "UpdateBudgetAction"+    "fixture/UpdateBudgetAction.yaml"++requestUpdateNotification :: UpdateNotification -> TestTree+requestUpdateNotification =+  req+    "UpdateNotification"+    "fixture/UpdateNotification.yaml"++requestUpdateSubscriber :: UpdateSubscriber -> TestTree+requestUpdateSubscriber =+  req+    "UpdateSubscriber"+    "fixture/UpdateSubscriber.yaml"++-- Responses++responseCreateBudget :: CreateBudgetResponse -> TestTree+responseCreateBudget =+  res+    "CreateBudgetResponse"+    "fixture/CreateBudgetResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateBudget)++responseCreateBudgetAction :: CreateBudgetActionResponse -> TestTree+responseCreateBudgetAction =+  res+    "CreateBudgetActionResponse"+    "fixture/CreateBudgetActionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateBudgetAction)++responseCreateNotification :: CreateNotificationResponse -> TestTree+responseCreateNotification =+  res+    "CreateNotificationResponse"+    "fixture/CreateNotificationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateNotification)++responseCreateSubscriber :: CreateSubscriberResponse -> TestTree+responseCreateSubscriber =+  res+    "CreateSubscriberResponse"+    "fixture/CreateSubscriberResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateSubscriber)++responseDeleteBudget :: DeleteBudgetResponse -> TestTree+responseDeleteBudget =+  res+    "DeleteBudgetResponse"+    "fixture/DeleteBudgetResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteBudget)++responseDeleteBudgetAction :: DeleteBudgetActionResponse -> TestTree+responseDeleteBudgetAction =+  res+    "DeleteBudgetActionResponse"+    "fixture/DeleteBudgetActionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteBudgetAction)++responseDeleteNotification :: DeleteNotificationResponse -> TestTree+responseDeleteNotification =+  res+    "DeleteNotificationResponse"+    "fixture/DeleteNotificationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteNotification)++responseDeleteSubscriber :: DeleteSubscriberResponse -> TestTree+responseDeleteSubscriber =+  res+    "DeleteSubscriberResponse"+    "fixture/DeleteSubscriberResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteSubscriber)++responseDescribeBudget :: DescribeBudgetResponse -> TestTree+responseDescribeBudget =+  res+    "DescribeBudgetResponse"+    "fixture/DescribeBudgetResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeBudget)++responseDescribeBudgetAction :: DescribeBudgetActionResponse -> TestTree+responseDescribeBudgetAction =+  res+    "DescribeBudgetActionResponse"+    "fixture/DescribeBudgetActionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeBudgetAction)++responseDescribeBudgetActionHistories :: DescribeBudgetActionHistoriesResponse -> TestTree+responseDescribeBudgetActionHistories =+  res+    "DescribeBudgetActionHistoriesResponse"+    "fixture/DescribeBudgetActionHistoriesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeBudgetActionHistories)++responseDescribeBudgetActionsForAccount :: DescribeBudgetActionsForAccountResponse -> TestTree+responseDescribeBudgetActionsForAccount =+  res+    "DescribeBudgetActionsForAccountResponse"+    "fixture/DescribeBudgetActionsForAccountResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeBudgetActionsForAccount)++responseDescribeBudgetActionsForBudget :: DescribeBudgetActionsForBudgetResponse -> TestTree+responseDescribeBudgetActionsForBudget =+  res+    "DescribeBudgetActionsForBudgetResponse"+    "fixture/DescribeBudgetActionsForBudgetResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeBudgetActionsForBudget)++responseDescribeBudgetNotificationsForAccount :: DescribeBudgetNotificationsForAccountResponse -> TestTree+responseDescribeBudgetNotificationsForAccount =+  res+    "DescribeBudgetNotificationsForAccountResponse"+    "fixture/DescribeBudgetNotificationsForAccountResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeBudgetNotificationsForAccount)++responseDescribeBudgetPerformanceHistory :: DescribeBudgetPerformanceHistoryResponse -> TestTree+responseDescribeBudgetPerformanceHistory =+  res+    "DescribeBudgetPerformanceHistoryResponse"+    "fixture/DescribeBudgetPerformanceHistoryResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeBudgetPerformanceHistory)++responseDescribeBudgets :: DescribeBudgetsResponse -> TestTree+responseDescribeBudgets =+  res+    "DescribeBudgetsResponse"+    "fixture/DescribeBudgetsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeBudgets)++responseDescribeNotificationsForBudget :: DescribeNotificationsForBudgetResponse -> TestTree+responseDescribeNotificationsForBudget =+  res+    "DescribeNotificationsForBudgetResponse"+    "fixture/DescribeNotificationsForBudgetResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeNotificationsForBudget)++responseDescribeSubscribersForNotification :: DescribeSubscribersForNotificationResponse -> TestTree+responseDescribeSubscribersForNotification =+  res+    "DescribeSubscribersForNotificationResponse"+    "fixture/DescribeSubscribersForNotificationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeSubscribersForNotification)++responseExecuteBudgetAction :: ExecuteBudgetActionResponse -> TestTree+responseExecuteBudgetAction =+  res+    "ExecuteBudgetActionResponse"+    "fixture/ExecuteBudgetActionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ExecuteBudgetAction)++responseUpdateBudget :: UpdateBudgetResponse -> TestTree+responseUpdateBudget =+  res+    "UpdateBudgetResponse"+    "fixture/UpdateBudgetResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateBudget)++responseUpdateBudgetAction :: UpdateBudgetActionResponse -> TestTree+responseUpdateBudgetAction =+  res+    "UpdateBudgetActionResponse"+    "fixture/UpdateBudgetActionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateBudgetAction)++responseUpdateNotification :: UpdateNotificationResponse -> TestTree+responseUpdateNotification =+  res+    "UpdateNotificationResponse"+    "fixture/UpdateNotificationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateNotification)++responseUpdateSubscriber :: UpdateSubscriberResponse -> TestTree+responseUpdateSubscriber =+  res+    "UpdateSubscriberResponse"+    "fixture/UpdateSubscriberResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateSubscriber)