stratosphere-0.51.0: library-gen/Stratosphere/ResourceProperties/ResourceGroupsGroupQuery.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-query.html
module Stratosphere.ResourceProperties.ResourceGroupsGroupQuery where
import Stratosphere.ResourceImports
import Stratosphere.ResourceProperties.ResourceGroupsGroupTagFilter
-- | Full data type definition for ResourceGroupsGroupQuery. See
-- 'resourceGroupsGroupQuery' for a more convenient constructor.
data ResourceGroupsGroupQuery =
ResourceGroupsGroupQuery
{ _resourceGroupsGroupQueryResourceTypeFilters :: Maybe (ValList Text)
, _resourceGroupsGroupQueryStackIdentifier :: Maybe (Val Text)
, _resourceGroupsGroupQueryTagFilters :: Maybe [ResourceGroupsGroupTagFilter]
} deriving (Show, Eq)
instance ToJSON ResourceGroupsGroupQuery where
toJSON ResourceGroupsGroupQuery{..} =
object $
catMaybes
[ fmap (("ResourceTypeFilters",) . toJSON) _resourceGroupsGroupQueryResourceTypeFilters
, fmap (("StackIdentifier",) . toJSON) _resourceGroupsGroupQueryStackIdentifier
, fmap (("TagFilters",) . toJSON) _resourceGroupsGroupQueryTagFilters
]
-- | Constructor for 'ResourceGroupsGroupQuery' containing required fields as
-- arguments.
resourceGroupsGroupQuery
:: ResourceGroupsGroupQuery
resourceGroupsGroupQuery =
ResourceGroupsGroupQuery
{ _resourceGroupsGroupQueryResourceTypeFilters = Nothing
, _resourceGroupsGroupQueryStackIdentifier = Nothing
, _resourceGroupsGroupQueryTagFilters = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-query.html#cfn-resourcegroups-group-query-resourcetypefilters
rggqResourceTypeFilters :: Lens' ResourceGroupsGroupQuery (Maybe (ValList Text))
rggqResourceTypeFilters = lens _resourceGroupsGroupQueryResourceTypeFilters (\s a -> s { _resourceGroupsGroupQueryResourceTypeFilters = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-query.html#cfn-resourcegroups-group-query-stackidentifier
rggqStackIdentifier :: Lens' ResourceGroupsGroupQuery (Maybe (Val Text))
rggqStackIdentifier = lens _resourceGroupsGroupQueryStackIdentifier (\s a -> s { _resourceGroupsGroupQueryStackIdentifier = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resourcegroups-group-query.html#cfn-resourcegroups-group-query-tagfilters
rggqTagFilters :: Lens' ResourceGroupsGroupQuery (Maybe [ResourceGroupsGroupTagFilter])
rggqTagFilters = lens _resourceGroupsGroupQueryTagFilters (\s a -> s { _resourceGroupsGroupQueryTagFilters = a })