-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Google Play Game Services Management SDK.
--   
--   The Management API for Google Play Game Services.
--   
--   <i>Warning:</i> This is an experimental prototype/preview release
--   which is still under exploratory development and not intended for
--   public use, caveat emptor!
--   
--   This library is compatible with version <tt>v1management</tt> of the
--   API.
@package gogol-games-management
@version 0.3.0


module Network.Google.GamesManagement.Types

-- | Default request referring to version <tt>v1management</tt> of the
--   Google Play Game Services Management API. This contains the host and
--   root path used as a starting point for constructing service requests.
gamesManagementService :: ServiceConfig

-- | Know the list of people in your circles, your age range, and language
plusLoginScope :: Proxy '["https://www.googleapis.com/auth/plus.login"]

-- | Share your Google+ profile information and view and manage your game
--   activity
gamesScope :: Proxy '["https://www.googleapis.com/auth/games"]

-- | This is a JSON template for 1P/3P metadata about the player's
--   experience.
--   
--   <i>See:</i> <a>gamesPlayerExperienceInfoResource</a> smart
--   constructor.
data GamesPlayerExperienceInfoResource

-- | Creates a value of <a>GamesPlayerExperienceInfoResource</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gpeirCurrentExperiencePoints</a></li>
--   <li><a>gpeirCurrentLevel</a></li>
--   <li><a>gpeirNextLevel</a></li>
--   <li><a>gpeirLastLevelUpTimestampMillis</a></li>
--   </ul>
gamesPlayerExperienceInfoResource :: GamesPlayerExperienceInfoResource

-- | The current number of experience points for the player.
gpeirCurrentExperiencePoints :: Lens' GamesPlayerExperienceInfoResource (Maybe Int64)

-- | The current level of the player.
gpeirCurrentLevel :: Lens' GamesPlayerExperienceInfoResource (Maybe GamesPlayerLevelResource)

-- | The next level of the player. If the current level is the maximum
--   level, this should be same as the current level.
gpeirNextLevel :: Lens' GamesPlayerExperienceInfoResource (Maybe GamesPlayerLevelResource)

-- | The timestamp when the player was leveled up, in millis since Unix
--   epoch UTC.
gpeirLastLevelUpTimestampMillis :: Lens' GamesPlayerExperienceInfoResource (Maybe Int64)

-- | An object representation of the individual components of the player's
--   name. For some players, these fields may not be present.
--   
--   <i>See:</i> <a>playerName</a> smart constructor.
data PlayerName

-- | Creates a value of <a>PlayerName</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pnGivenName</a></li>
--   <li><a>pnFamilyName</a></li>
--   </ul>
playerName :: PlayerName

-- | The given name of this player. In some places, this is known as the
--   first name.
pnGivenName :: Lens' PlayerName (Maybe Text)

-- | The family name of this player. In some places, this is known as the
--   last name.
pnFamilyName :: Lens' PlayerName (Maybe Text)

-- | This is a JSON template for a list of leaderboard reset resources.
--   
--   <i>See:</i> <a>playerScoreResetAllResponse</a> smart constructor.
data PlayerScoreResetAllResponse

-- | Creates a value of <a>PlayerScoreResetAllResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psrarResults</a></li>
--   <li><a>psrarKind</a></li>
--   </ul>
playerScoreResetAllResponse :: PlayerScoreResetAllResponse

-- | The leaderboard reset results.
psrarResults :: Lens' PlayerScoreResetAllResponse [PlayerScoreResetResponse]

-- | Uniquely identifies the type of this resource. Value is always the
--   fixed string gamesManagement#playerScoreResetResponse.
psrarKind :: Lens' PlayerScoreResetAllResponse Text

-- | This is a JSON template for metadata about a player playing a game
--   with the currently authenticated user.
--   
--   <i>See:</i> <a>gamesPlayedResource</a> smart constructor.
data GamesPlayedResource

-- | Creates a value of <a>GamesPlayedResource</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gprAutoMatched</a></li>
--   <li><a>gprTimeMillis</a></li>
--   </ul>
gamesPlayedResource :: GamesPlayedResource

-- | True if the player was auto-matched with the currently authenticated
--   user.
gprAutoMatched :: Lens' GamesPlayedResource (Maybe Bool)

-- | The last time the player played the game in milliseconds since the
--   epoch in UTC.
gprTimeMillis :: Lens' GamesPlayedResource (Maybe Int64)

-- | This is a JSON template for 1P/3P metadata about a user's level.
--   
--   <i>See:</i> <a>gamesPlayerLevelResource</a> smart constructor.
data GamesPlayerLevelResource

-- | Creates a value of <a>GamesPlayerLevelResource</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gplrMaxExperiencePoints</a></li>
--   <li><a>gplrMinExperiencePoints</a></li>
--   <li><a>gplrLevel</a></li>
--   </ul>
gamesPlayerLevelResource :: GamesPlayerLevelResource

-- | The maximum experience points for this level.
gplrMaxExperiencePoints :: Lens' GamesPlayerLevelResource (Maybe Int64)

-- | The minimum experience points for this level.
gplrMinExperiencePoints :: Lens' GamesPlayerLevelResource (Maybe Int64)

-- | The level for the user.
gplrLevel :: Lens' GamesPlayerLevelResource (Maybe Int32)

-- | This is a JSON template for a list of reset leaderboard entry
--   resources.
--   
--   <i>See:</i> <a>playerScoreResetResponse</a> smart constructor.
data PlayerScoreResetResponse

-- | Creates a value of <a>PlayerScoreResetResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psrrKind</a></li>
--   <li><a>psrrResetScoreTimeSpans</a></li>
--   <li><a>psrrDefinitionId</a></li>
--   </ul>
playerScoreResetResponse :: PlayerScoreResetResponse

-- | Uniquely identifies the type of this resource. Value is always the
--   fixed string gamesManagement#playerScoreResetResponse.
psrrKind :: Lens' PlayerScoreResetResponse Text

-- | The time spans of the updated score. Possible values are: - "ALL_TIME"
--   - The score is an all-time score. - "WEEKLY" - The score is a weekly
--   score. - "DAILY" - The score is a daily score.
psrrResetScoreTimeSpans :: Lens' PlayerScoreResetResponse [Text]

-- | The ID of an leaderboard for which player state has been updated.
psrrDefinitionId :: Lens' PlayerScoreResetResponse (Maybe Text)

-- | This is a JSON template for multiple scores reset all request.
--   
--   <i>See:</i> <a>scoresResetMultipleForAllRequest</a> smart constructor.
data ScoresResetMultipleForAllRequest

-- | Creates a value of <a>ScoresResetMultipleForAllRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srmfarKind</a></li>
--   <li><a>srmfarLeaderboardIds</a></li>
--   </ul>
scoresResetMultipleForAllRequest :: ScoresResetMultipleForAllRequest

-- | Uniquely identifies the type of this resource. Value is always the
--   fixed string gamesManagement#scoresResetMultipleForAllRequest.
srmfarKind :: Lens' ScoresResetMultipleForAllRequest Text

-- | The IDs of leaderboards to reset.
srmfarLeaderboardIds :: Lens' ScoresResetMultipleForAllRequest [Text]

-- | This is a JSON template for multiple quests reset all request.
--   
--   <i>See:</i> <a>questsResetMultipleForAllRequest</a> smart constructor.
data QuestsResetMultipleForAllRequest

-- | Creates a value of <a>QuestsResetMultipleForAllRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>qrmfarKind</a></li>
--   <li><a>qrmfarQuestIds</a></li>
--   </ul>
questsResetMultipleForAllRequest :: QuestsResetMultipleForAllRequest

-- | Uniquely identifies the type of this resource. Value is always the
--   fixed string gamesManagement#questsResetMultipleForAllRequest.
qrmfarKind :: Lens' QuestsResetMultipleForAllRequest Text

-- | The IDs of quests to reset.
qrmfarQuestIds :: Lens' QuestsResetMultipleForAllRequest [Text]

-- | This is a JSON template for a list of hidden players.
--   
--   <i>See:</i> <a>hiddenPlayerList</a> smart constructor.
data HiddenPlayerList

-- | Creates a value of <a>HiddenPlayerList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>hplNextPageToken</a></li>
--   <li><a>hplKind</a></li>
--   <li><a>hplItems</a></li>
--   </ul>
hiddenPlayerList :: HiddenPlayerList

-- | The pagination token for the next page of results.
hplNextPageToken :: Lens' HiddenPlayerList (Maybe Text)

-- | Uniquely identifies the type of this resource. Value is always the
--   fixed string gamesManagement#hiddenPlayerList.
hplKind :: Lens' HiddenPlayerList Text

-- | The players.
hplItems :: Lens' HiddenPlayerList [HiddenPlayer]

-- | This is a JSON template for multiple events reset all request.
--   
--   <i>See:</i> <a>eventsResetMultipleForAllRequest</a> smart constructor.
data EventsResetMultipleForAllRequest

-- | Creates a value of <a>EventsResetMultipleForAllRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ermfarKind</a></li>
--   <li><a>ermfarEventIds</a></li>
--   </ul>
eventsResetMultipleForAllRequest :: EventsResetMultipleForAllRequest

-- | Uniquely identifies the type of this resource. Value is always the
--   fixed string gamesManagement#eventsResetMultipleForAllRequest.
ermfarKind :: Lens' EventsResetMultipleForAllRequest Text

-- | The IDs of events to reset.
ermfarEventIds :: Lens' EventsResetMultipleForAllRequest [Text]

-- | This is a JSON template for multiple achievements reset all request.
--   
--   <i>See:</i> <a>achievementResetMultipleForAllRequest</a> smart
--   constructor.
data AchievementResetMultipleForAllRequest

-- | Creates a value of <a>AchievementResetMultipleForAllRequest</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>armfarKind</a></li>
--   <li><a>armfarAchievementIds</a></li>
--   </ul>
achievementResetMultipleForAllRequest :: AchievementResetMultipleForAllRequest

-- | Uniquely identifies the type of this resource. Value is always the
--   fixed string gamesManagement#achievementResetMultipleForAllRequest.
armfarKind :: Lens' AchievementResetMultipleForAllRequest Text

-- | The IDs of achievements to reset.
armfarAchievementIds :: Lens' AchievementResetMultipleForAllRequest [Text]

-- | This is a JSON template for the HiddenPlayer resource.
--   
--   <i>See:</i> <a>hiddenPlayer</a> smart constructor.
data HiddenPlayer

-- | Creates a value of <a>HiddenPlayer</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>hpKind</a></li>
--   <li><a>hpHiddenTimeMillis</a></li>
--   <li><a>hpPlayer</a></li>
--   </ul>
hiddenPlayer :: HiddenPlayer

-- | Uniquely identifies the type of this resource. Value is always the
--   fixed string gamesManagement#hiddenPlayer.
hpKind :: Lens' HiddenPlayer Text

-- | The time this player was hidden.
hpHiddenTimeMillis :: Lens' HiddenPlayer (Maybe Int64)

-- | The player information.
hpPlayer :: Lens' HiddenPlayer (Maybe Player)

-- | This is a JSON template for achievement reset all response.
--   
--   <i>See:</i> <a>achievementResetAllResponse</a> smart constructor.
data AchievementResetAllResponse

-- | Creates a value of <a>AchievementResetAllResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ararResults</a></li>
--   <li><a>ararKind</a></li>
--   </ul>
achievementResetAllResponse :: AchievementResetAllResponse

-- | The achievement reset results.
ararResults :: Lens' AchievementResetAllResponse [AchievementResetResponse]

-- | Uniquely identifies the type of this resource. Value is always the
--   fixed string gamesManagement#achievementResetAllResponse.
ararKind :: Lens' AchievementResetAllResponse Text

-- | This is a JSON template for a Player resource.
--   
--   <i>See:</i> <a>player</a> smart constructor.
data Player

-- | Creates a value of <a>Player</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pBannerURLLandscape</a></li>
--   <li><a>pLastPlayedWith</a></li>
--   <li><a>pAvatarImageURL</a></li>
--   <li><a>pKind</a></li>
--   <li><a>pExperienceInfo</a></li>
--   <li><a>pName</a></li>
--   <li><a>pOriginalPlayerId</a></li>
--   <li><a>pDisplayName</a></li>
--   <li><a>pTitle</a></li>
--   <li><a>pBannerURLPortrait</a></li>
--   <li><a>pPlayerId</a></li>
--   <li><a>pProFileSettings</a></li>
--   </ul>
player :: Player

-- | The url to the landscape mode player banner image.
pBannerURLLandscape :: Lens' Player (Maybe Text)

-- | Details about the last time this player played a multiplayer game with
--   the currently authenticated player. Populated for PLAYED_WITH player
--   collection members.
pLastPlayedWith :: Lens' Player (Maybe GamesPlayedResource)

-- | The base URL for the image that represents the player.
pAvatarImageURL :: Lens' Player (Maybe Text)

-- | Uniquely identifies the type of this resource. Value is always the
--   fixed string gamesManagement#player.
pKind :: Lens' Player Text

-- | An object to represent Play Game experience information for the
--   player.
pExperienceInfo :: Lens' Player (Maybe GamesPlayerExperienceInfoResource)

-- | An object representation of the individual components of the player's
--   name. For some players, these fields may not be present.
pName :: Lens' Player (Maybe PlayerName)

-- | The player ID that was used for this player the first time they signed
--   into the game in question. This is only populated for calls to
--   player.get for the requesting player, only if the player ID has
--   subsequently changed, and only to clients that support remapping
--   player IDs.
pOriginalPlayerId :: Lens' Player (Maybe Text)

-- | The name to display for the player.
pDisplayName :: Lens' Player (Maybe Text)

-- | The player's title rewarded for their game activities.
pTitle :: Lens' Player (Maybe Text)

-- | The url to the portrait mode player banner image.
pBannerURLPortrait :: Lens' Player (Maybe Text)

-- | The ID of the player.
pPlayerId :: Lens' Player (Maybe Text)

-- | The player's profile settings. Controls whether or not the player's
--   profile is visible to other players.
pProFileSettings :: Lens' Player (Maybe ProFileSettings)

-- | This is a JSON template for profile settings
--   
--   <i>See:</i> <a>proFileSettings</a> smart constructor.
data ProFileSettings

-- | Creates a value of <a>ProFileSettings</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pfsProFileVisible</a></li>
--   <li><a>pfsKind</a></li>
--   </ul>
proFileSettings :: ProFileSettings

-- | The player's current profile visibility. This field is visible to both
--   1P and 3P APIs.
pfsProFileVisible :: Lens' ProFileSettings (Maybe Bool)

-- | Uniquely identifies the type of this resource. Value is always the
--   fixed string gamesManagement#profileSettings.
pfsKind :: Lens' ProFileSettings Text

-- | This is a JSON template for an achievement reset response.
--   
--   <i>See:</i> <a>achievementResetResponse</a> smart constructor.
data AchievementResetResponse

-- | Creates a value of <a>AchievementResetResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>arrUpdateOccurred</a></li>
--   <li><a>arrKind</a></li>
--   <li><a>arrCurrentState</a></li>
--   <li><a>arrDefinitionId</a></li>
--   </ul>
achievementResetResponse :: AchievementResetResponse

-- | Flag to indicate if the requested update actually occurred.
arrUpdateOccurred :: Lens' AchievementResetResponse (Maybe Bool)

-- | Uniquely identifies the type of this resource. Value is always the
--   fixed string gamesManagement#achievementResetResponse.
arrKind :: Lens' AchievementResetResponse Text

-- | The current state of the achievement. This is the same as the initial
--   state of the achievement. Possible values are: - "HIDDEN"- Achievement
--   is hidden. - "REVEALED" - Achievement is revealed. - "UNLOCKED" -
--   Achievement is unlocked.
arrCurrentState :: Lens' AchievementResetResponse (Maybe Text)

-- | The ID of an achievement for which player state has been updated.
arrDefinitionId :: Lens' AchievementResetResponse (Maybe Text)


-- | Resets the achievement with the given ID for the currently
--   authenticated player. This method is only accessible to whitelisted
--   tester accounts for your application.
--   
--   <i>See:</i> <a>Google Play Game Services Management API Reference</a>
--   for <tt>gamesManagement.achievements.reset</tt>.
module Network.Google.Resource.GamesManagement.Achievements.Reset

-- | A resource alias for <tt>gamesManagement.achievements.reset</tt>
--   method which the <a>AchievementsReset</a> request conforms to.
type AchievementsResetResource = "games" :> ("v1management" :> ("achievements" :> (Capture "achievementId" Text :> ("reset" :> (QueryParam "alt" AltJSON :> Post '[JSON] AchievementResetResponse)))))

-- | Creates a value of <a>AchievementsReset</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>arAchievementId</a></li>
--   </ul>
achievementsReset :: Text -> AchievementsReset

-- | Resets the achievement with the given ID for the currently
--   authenticated player. This method is only accessible to whitelisted
--   tester accounts for your application.
--   
--   <i>See:</i> <a>achievementsReset</a> smart constructor.
data AchievementsReset

-- | The ID of the achievement used by this method.
arAchievementId :: Lens' AchievementsReset Text
instance GHC.Generics.Generic Network.Google.Resource.GamesManagement.Achievements.Reset.AchievementsReset
instance Data.Data.Data Network.Google.Resource.GamesManagement.Achievements.Reset.AchievementsReset
instance GHC.Show.Show Network.Google.Resource.GamesManagement.Achievements.Reset.AchievementsReset
instance GHC.Classes.Eq Network.Google.Resource.GamesManagement.Achievements.Reset.AchievementsReset
instance Network.Google.Types.GoogleRequest Network.Google.Resource.GamesManagement.Achievements.Reset.AchievementsReset


-- | Resets all achievements for the currently authenticated player for
--   your application. This method is only accessible to whitelisted tester
--   accounts for your application.
--   
--   <i>See:</i> <a>Google Play Game Services Management API Reference</a>
--   for <tt>gamesManagement.achievements.resetAll</tt>.
module Network.Google.Resource.GamesManagement.Achievements.ResetAll

-- | A resource alias for <tt>gamesManagement.achievements.resetAll</tt>
--   method which the <a>AchievementsResetAll</a> request conforms to.
type AchievementsResetAllResource = "games" :> ("v1management" :> ("achievements" :> ("reset" :> (QueryParam "alt" AltJSON :> Post '[JSON] AchievementResetAllResponse))))

-- | Creates a value of <a>AchievementsResetAll</a> with the minimum fields
--   required to make a request.
achievementsResetAll :: AchievementsResetAll

-- | Resets all achievements for the currently authenticated player for
--   your application. This method is only accessible to whitelisted tester
--   accounts for your application.
--   
--   <i>See:</i> <a>achievementsResetAll</a> smart constructor.
data AchievementsResetAll
instance GHC.Generics.Generic Network.Google.Resource.GamesManagement.Achievements.ResetAll.AchievementsResetAll
instance Data.Data.Data Network.Google.Resource.GamesManagement.Achievements.ResetAll.AchievementsResetAll
instance GHC.Show.Show Network.Google.Resource.GamesManagement.Achievements.ResetAll.AchievementsResetAll
instance GHC.Classes.Eq Network.Google.Resource.GamesManagement.Achievements.ResetAll.AchievementsResetAll
instance Network.Google.Types.GoogleRequest Network.Google.Resource.GamesManagement.Achievements.ResetAll.AchievementsResetAll


-- | Resets all draft achievements for all players. This method is only
--   available to user accounts for your developer console.
--   
--   <i>See:</i> <a>Google Play Game Services Management API Reference</a>
--   for <tt>gamesManagement.achievements.resetAllForAllPlayers</tt>.
module Network.Google.Resource.GamesManagement.Achievements.ResetAllForAllPlayers

-- | A resource alias for
--   <tt>gamesManagement.achievements.resetAllForAllPlayers</tt> method
--   which the <a>AchievementsResetAllForAllPlayers</a> request conforms
--   to.
type AchievementsResetAllForAllPlayersResource = "games" :> ("v1management" :> ("achievements" :> ("resetAllForAllPlayers" :> (QueryParam "alt" AltJSON :> Post '[JSON] ()))))

-- | Creates a value of <a>AchievementsResetAllForAllPlayers</a> with the
--   minimum fields required to make a request.
achievementsResetAllForAllPlayers :: AchievementsResetAllForAllPlayers

-- | Resets all draft achievements for all players. This method is only
--   available to user accounts for your developer console.
--   
--   <i>See:</i> <a>achievementsResetAllForAllPlayers</a> smart
--   constructor.
data AchievementsResetAllForAllPlayers
instance GHC.Generics.Generic Network.Google.Resource.GamesManagement.Achievements.ResetAllForAllPlayers.AchievementsResetAllForAllPlayers
instance Data.Data.Data Network.Google.Resource.GamesManagement.Achievements.ResetAllForAllPlayers.AchievementsResetAllForAllPlayers
instance GHC.Show.Show Network.Google.Resource.GamesManagement.Achievements.ResetAllForAllPlayers.AchievementsResetAllForAllPlayers
instance GHC.Classes.Eq Network.Google.Resource.GamesManagement.Achievements.ResetAllForAllPlayers.AchievementsResetAllForAllPlayers
instance Network.Google.Types.GoogleRequest Network.Google.Resource.GamesManagement.Achievements.ResetAllForAllPlayers.AchievementsResetAllForAllPlayers


-- | Resets the achievement with the given ID for all players. This method
--   is only available to user accounts for your developer console. Only
--   draft achievements can be reset.
--   
--   <i>See:</i> <a>Google Play Game Services Management API Reference</a>
--   for <tt>gamesManagement.achievements.resetForAllPlayers</tt>.
module Network.Google.Resource.GamesManagement.Achievements.ResetForAllPlayers

-- | A resource alias for
--   <tt>gamesManagement.achievements.resetForAllPlayers</tt> method which
--   the <a>AchievementsResetForAllPlayers</a> request conforms to.
type AchievementsResetForAllPlayersResource = "games" :> ("v1management" :> ("achievements" :> (Capture "achievementId" Text :> ("resetForAllPlayers" :> (QueryParam "alt" AltJSON :> Post '[JSON] ())))))

-- | Creates a value of <a>AchievementsResetForAllPlayers</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>arfapAchievementId</a></li>
--   </ul>
achievementsResetForAllPlayers :: Text -> AchievementsResetForAllPlayers

-- | Resets the achievement with the given ID for all players. This method
--   is only available to user accounts for your developer console. Only
--   draft achievements can be reset.
--   
--   <i>See:</i> <a>achievementsResetForAllPlayers</a> smart constructor.
data AchievementsResetForAllPlayers

-- | The ID of the achievement used by this method.
arfapAchievementId :: Lens' AchievementsResetForAllPlayers Text
instance GHC.Generics.Generic Network.Google.Resource.GamesManagement.Achievements.ResetForAllPlayers.AchievementsResetForAllPlayers
instance Data.Data.Data Network.Google.Resource.GamesManagement.Achievements.ResetForAllPlayers.AchievementsResetForAllPlayers
instance GHC.Show.Show Network.Google.Resource.GamesManagement.Achievements.ResetForAllPlayers.AchievementsResetForAllPlayers
instance GHC.Classes.Eq Network.Google.Resource.GamesManagement.Achievements.ResetForAllPlayers.AchievementsResetForAllPlayers
instance Network.Google.Types.GoogleRequest Network.Google.Resource.GamesManagement.Achievements.ResetForAllPlayers.AchievementsResetForAllPlayers


-- | Resets achievements with the given IDs for all players. This method is
--   only available to user accounts for your developer console. Only draft
--   achievements may be reset.
--   
--   <i>See:</i> <a>Google Play Game Services Management API Reference</a>
--   for <tt>gamesManagement.achievements.resetMultipleForAllPlayers</tt>.
module Network.Google.Resource.GamesManagement.Achievements.ResetMultipleForAllPlayers

-- | A resource alias for
--   <tt>gamesManagement.achievements.resetMultipleForAllPlayers</tt>
--   method which the <a>AchievementsResetMultipleForAllPlayers</a> request
--   conforms to.
type AchievementsResetMultipleForAllPlayersResource = "games" :> ("v1management" :> ("achievements" :> ("resetMultipleForAllPlayers" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] AchievementResetMultipleForAllRequest :> Post '[JSON] ())))))

-- | Creates a value of <a>AchievementsResetMultipleForAllPlayers</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>armfapPayload</a></li>
--   </ul>
achievementsResetMultipleForAllPlayers :: AchievementResetMultipleForAllRequest -> AchievementsResetMultipleForAllPlayers

-- | Resets achievements with the given IDs for all players. This method is
--   only available to user accounts for your developer console. Only draft
--   achievements may be reset.
--   
--   <i>See:</i> <a>achievementsResetMultipleForAllPlayers</a> smart
--   constructor.
data AchievementsResetMultipleForAllPlayers

-- | Multipart request metadata.
armfapPayload :: Lens' AchievementsResetMultipleForAllPlayers AchievementResetMultipleForAllRequest
instance GHC.Generics.Generic Network.Google.Resource.GamesManagement.Achievements.ResetMultipleForAllPlayers.AchievementsResetMultipleForAllPlayers
instance Data.Data.Data Network.Google.Resource.GamesManagement.Achievements.ResetMultipleForAllPlayers.AchievementsResetMultipleForAllPlayers
instance GHC.Show.Show Network.Google.Resource.GamesManagement.Achievements.ResetMultipleForAllPlayers.AchievementsResetMultipleForAllPlayers
instance GHC.Classes.Eq Network.Google.Resource.GamesManagement.Achievements.ResetMultipleForAllPlayers.AchievementsResetMultipleForAllPlayers
instance Network.Google.Types.GoogleRequest Network.Google.Resource.GamesManagement.Achievements.ResetMultipleForAllPlayers.AchievementsResetMultipleForAllPlayers


-- | Get the list of players hidden from the given application. This method
--   is only available to user accounts for your developer console.
--   
--   <i>See:</i> <a>Google Play Game Services Management API Reference</a>
--   for <tt>gamesManagement.applications.listHidden</tt>.
module Network.Google.Resource.GamesManagement.Applications.ListHidden

-- | A resource alias for <tt>gamesManagement.applications.listHidden</tt>
--   method which the <a>ApplicationsListHidden</a> request conforms to.
type ApplicationsListHiddenResource = "games" :> ("v1management" :> ("applications" :> (Capture "applicationId" Text :> ("players" :> ("hidden" :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Int32) :> (QueryParam "alt" AltJSON :> Get '[JSON] HiddenPlayerList))))))))

-- | Creates a value of <a>ApplicationsListHidden</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>alhApplicationId</a></li>
--   <li><a>alhPageToken</a></li>
--   <li><a>alhMaxResults</a></li>
--   </ul>
applicationsListHidden :: Text -> ApplicationsListHidden

-- | Get the list of players hidden from the given application. This method
--   is only available to user accounts for your developer console.
--   
--   <i>See:</i> <a>applicationsListHidden</a> smart constructor.
data ApplicationsListHidden

-- | The application ID from the Google Play developer console.
alhApplicationId :: Lens' ApplicationsListHidden Text

-- | The token returned by the previous request.
alhPageToken :: Lens' ApplicationsListHidden (Maybe Text)

-- | The maximum number of player resources to return in the response, used
--   for paging. For any response, the actual number of player resources
--   returned may be less than the specified maxResults.
alhMaxResults :: Lens' ApplicationsListHidden (Maybe Int32)
instance GHC.Generics.Generic Network.Google.Resource.GamesManagement.Applications.ListHidden.ApplicationsListHidden
instance Data.Data.Data Network.Google.Resource.GamesManagement.Applications.ListHidden.ApplicationsListHidden
instance GHC.Show.Show Network.Google.Resource.GamesManagement.Applications.ListHidden.ApplicationsListHidden
instance GHC.Classes.Eq Network.Google.Resource.GamesManagement.Applications.ListHidden.ApplicationsListHidden
instance Network.Google.Types.GoogleRequest Network.Google.Resource.GamesManagement.Applications.ListHidden.ApplicationsListHidden


-- | Resets all player progress on the event with the given ID for the
--   currently authenticated player. This method is only accessible to
--   whitelisted tester accounts for your application. All quests for this
--   player that use the event will also be reset.
--   
--   <i>See:</i> <a>Google Play Game Services Management API Reference</a>
--   for <tt>gamesManagement.events.reset</tt>.
module Network.Google.Resource.GamesManagement.Events.Reset

-- | A resource alias for <tt>gamesManagement.events.reset</tt> method
--   which the <a>EventsReset</a> request conforms to.
type EventsResetResource = "games" :> ("v1management" :> ("events" :> (Capture "eventId" Text :> ("reset" :> (QueryParam "alt" AltJSON :> Post '[JSON] ())))))

-- | Creates a value of <a>EventsReset</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>erEventId</a></li>
--   </ul>
eventsReset :: Text -> EventsReset

-- | Resets all player progress on the event with the given ID for the
--   currently authenticated player. This method is only accessible to
--   whitelisted tester accounts for your application. All quests for this
--   player that use the event will also be reset.
--   
--   <i>See:</i> <a>eventsReset</a> smart constructor.
data EventsReset

-- | The ID of the event.
erEventId :: Lens' EventsReset Text
instance GHC.Generics.Generic Network.Google.Resource.GamesManagement.Events.Reset.EventsReset
instance Data.Data.Data Network.Google.Resource.GamesManagement.Events.Reset.EventsReset
instance GHC.Show.Show Network.Google.Resource.GamesManagement.Events.Reset.EventsReset
instance GHC.Classes.Eq Network.Google.Resource.GamesManagement.Events.Reset.EventsReset
instance Network.Google.Types.GoogleRequest Network.Google.Resource.GamesManagement.Events.Reset.EventsReset


-- | Resets all player progress on all events for the currently
--   authenticated player. This method is only accessible to whitelisted
--   tester accounts for your application. All quests for this player will
--   also be reset.
--   
--   <i>See:</i> <a>Google Play Game Services Management API Reference</a>
--   for <tt>gamesManagement.events.resetAll</tt>.
module Network.Google.Resource.GamesManagement.Events.ResetAll

-- | A resource alias for <tt>gamesManagement.events.resetAll</tt> method
--   which the <a>EventsResetAll</a> request conforms to.
type EventsResetAllResource = "games" :> ("v1management" :> ("events" :> ("reset" :> (QueryParam "alt" AltJSON :> Post '[JSON] ()))))

-- | Creates a value of <a>EventsResetAll</a> with the minimum fields
--   required to make a request.
eventsResetAll :: EventsResetAll

-- | Resets all player progress on all events for the currently
--   authenticated player. This method is only accessible to whitelisted
--   tester accounts for your application. All quests for this player will
--   also be reset.
--   
--   <i>See:</i> <a>eventsResetAll</a> smart constructor.
data EventsResetAll
instance GHC.Generics.Generic Network.Google.Resource.GamesManagement.Events.ResetAll.EventsResetAll
instance Data.Data.Data Network.Google.Resource.GamesManagement.Events.ResetAll.EventsResetAll
instance GHC.Show.Show Network.Google.Resource.GamesManagement.Events.ResetAll.EventsResetAll
instance GHC.Classes.Eq Network.Google.Resource.GamesManagement.Events.ResetAll.EventsResetAll
instance Network.Google.Types.GoogleRequest Network.Google.Resource.GamesManagement.Events.ResetAll.EventsResetAll


-- | Resets all draft events for all players. This method is only available
--   to user accounts for your developer console. All quests that use any
--   of these events will also be reset.
--   
--   <i>See:</i> <a>Google Play Game Services Management API Reference</a>
--   for <tt>gamesManagement.events.resetAllForAllPlayers</tt>.
module Network.Google.Resource.GamesManagement.Events.ResetAllForAllPlayers

-- | A resource alias for
--   <tt>gamesManagement.events.resetAllForAllPlayers</tt> method which the
--   <a>EventsResetAllForAllPlayers</a> request conforms to.
type EventsResetAllForAllPlayersResource = "games" :> ("v1management" :> ("events" :> ("resetAllForAllPlayers" :> (QueryParam "alt" AltJSON :> Post '[JSON] ()))))

-- | Creates a value of <a>EventsResetAllForAllPlayers</a> with the minimum
--   fields required to make a request.
eventsResetAllForAllPlayers :: EventsResetAllForAllPlayers

-- | Resets all draft events for all players. This method is only available
--   to user accounts for your developer console. All quests that use any
--   of these events will also be reset.
--   
--   <i>See:</i> <a>eventsResetAllForAllPlayers</a> smart constructor.
data EventsResetAllForAllPlayers
instance GHC.Generics.Generic Network.Google.Resource.GamesManagement.Events.ResetAllForAllPlayers.EventsResetAllForAllPlayers
instance Data.Data.Data Network.Google.Resource.GamesManagement.Events.ResetAllForAllPlayers.EventsResetAllForAllPlayers
instance GHC.Show.Show Network.Google.Resource.GamesManagement.Events.ResetAllForAllPlayers.EventsResetAllForAllPlayers
instance GHC.Classes.Eq Network.Google.Resource.GamesManagement.Events.ResetAllForAllPlayers.EventsResetAllForAllPlayers
instance Network.Google.Types.GoogleRequest Network.Google.Resource.GamesManagement.Events.ResetAllForAllPlayers.EventsResetAllForAllPlayers


-- | Resets the event with the given ID for all players. This method is
--   only available to user accounts for your developer console. Only draft
--   events can be reset. All quests that use the event will also be reset.
--   
--   <i>See:</i> <a>Google Play Game Services Management API Reference</a>
--   for <tt>gamesManagement.events.resetForAllPlayers</tt>.
module Network.Google.Resource.GamesManagement.Events.ResetForAllPlayers

-- | A resource alias for
--   <tt>gamesManagement.events.resetForAllPlayers</tt> method which the
--   <a>EventsResetForAllPlayers</a> request conforms to.
type EventsResetForAllPlayersResource = "games" :> ("v1management" :> ("events" :> (Capture "eventId" Text :> ("resetForAllPlayers" :> (QueryParam "alt" AltJSON :> Post '[JSON] ())))))

-- | Creates a value of <a>EventsResetForAllPlayers</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>erfapEventId</a></li>
--   </ul>
eventsResetForAllPlayers :: Text -> EventsResetForAllPlayers

-- | Resets the event with the given ID for all players. This method is
--   only available to user accounts for your developer console. Only draft
--   events can be reset. All quests that use the event will also be reset.
--   
--   <i>See:</i> <a>eventsResetForAllPlayers</a> smart constructor.
data EventsResetForAllPlayers

-- | The ID of the event.
erfapEventId :: Lens' EventsResetForAllPlayers Text
instance GHC.Generics.Generic Network.Google.Resource.GamesManagement.Events.ResetForAllPlayers.EventsResetForAllPlayers
instance Data.Data.Data Network.Google.Resource.GamesManagement.Events.ResetForAllPlayers.EventsResetForAllPlayers
instance GHC.Show.Show Network.Google.Resource.GamesManagement.Events.ResetForAllPlayers.EventsResetForAllPlayers
instance GHC.Classes.Eq Network.Google.Resource.GamesManagement.Events.ResetForAllPlayers.EventsResetForAllPlayers
instance Network.Google.Types.GoogleRequest Network.Google.Resource.GamesManagement.Events.ResetForAllPlayers.EventsResetForAllPlayers


-- | Resets events with the given IDs for all players. This method is only
--   available to user accounts for your developer console. Only draft
--   events may be reset. All quests that use any of the events will also
--   be reset.
--   
--   <i>See:</i> <a>Google Play Game Services Management API Reference</a>
--   for <tt>gamesManagement.events.resetMultipleForAllPlayers</tt>.
module Network.Google.Resource.GamesManagement.Events.ResetMultipleForAllPlayers

-- | A resource alias for
--   <tt>gamesManagement.events.resetMultipleForAllPlayers</tt> method
--   which the <a>EventsResetMultipleForAllPlayers</a> request conforms to.
type EventsResetMultipleForAllPlayersResource = "games" :> ("v1management" :> ("events" :> ("resetMultipleForAllPlayers" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] EventsResetMultipleForAllRequest :> Post '[JSON] ())))))

-- | Creates a value of <a>EventsResetMultipleForAllPlayers</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ermfapPayload</a></li>
--   </ul>
eventsResetMultipleForAllPlayers :: EventsResetMultipleForAllRequest -> EventsResetMultipleForAllPlayers

-- | Resets events with the given IDs for all players. This method is only
--   available to user accounts for your developer console. Only draft
--   events may be reset. All quests that use any of the events will also
--   be reset.
--   
--   <i>See:</i> <a>eventsResetMultipleForAllPlayers</a> smart constructor.
data EventsResetMultipleForAllPlayers

-- | Multipart request metadata.
ermfapPayload :: Lens' EventsResetMultipleForAllPlayers EventsResetMultipleForAllRequest
instance GHC.Generics.Generic Network.Google.Resource.GamesManagement.Events.ResetMultipleForAllPlayers.EventsResetMultipleForAllPlayers
instance Data.Data.Data Network.Google.Resource.GamesManagement.Events.ResetMultipleForAllPlayers.EventsResetMultipleForAllPlayers
instance GHC.Show.Show Network.Google.Resource.GamesManagement.Events.ResetMultipleForAllPlayers.EventsResetMultipleForAllPlayers
instance GHC.Classes.Eq Network.Google.Resource.GamesManagement.Events.ResetMultipleForAllPlayers.EventsResetMultipleForAllPlayers
instance Network.Google.Types.GoogleRequest Network.Google.Resource.GamesManagement.Events.ResetMultipleForAllPlayers.EventsResetMultipleForAllPlayers


-- | Hide the given player's leaderboard scores from the given application.
--   This method is only available to user accounts for your developer
--   console.
--   
--   <i>See:</i> <a>Google Play Game Services Management API Reference</a>
--   for <tt>gamesManagement.players.hide</tt>.
module Network.Google.Resource.GamesManagement.Players.Hide

-- | A resource alias for <tt>gamesManagement.players.hide</tt> method
--   which the <a>PlayersHide</a> request conforms to.
type PlayersHideResource = "games" :> ("v1management" :> ("applications" :> (Capture "applicationId" Text :> ("players" :> ("hidden" :> (Capture "playerId" Text :> (QueryParam "alt" AltJSON :> Post '[JSON] ())))))))

-- | Creates a value of <a>PlayersHide</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>phApplicationId</a></li>
--   <li><a>phPlayerId</a></li>
--   </ul>
playersHide :: Text -> Text -> PlayersHide

-- | Hide the given player's leaderboard scores from the given application.
--   This method is only available to user accounts for your developer
--   console.
--   
--   <i>See:</i> <a>playersHide</a> smart constructor.
data PlayersHide

-- | The application ID from the Google Play developer console.
phApplicationId :: Lens' PlayersHide Text

-- | A player ID. A value of me may be used in place of the authenticated
--   player's ID.
phPlayerId :: Lens' PlayersHide Text
instance GHC.Generics.Generic Network.Google.Resource.GamesManagement.Players.Hide.PlayersHide
instance Data.Data.Data Network.Google.Resource.GamesManagement.Players.Hide.PlayersHide
instance GHC.Show.Show Network.Google.Resource.GamesManagement.Players.Hide.PlayersHide
instance GHC.Classes.Eq Network.Google.Resource.GamesManagement.Players.Hide.PlayersHide
instance Network.Google.Types.GoogleRequest Network.Google.Resource.GamesManagement.Players.Hide.PlayersHide


-- | Unhide the given player's leaderboard scores from the given
--   application. This method is only available to user accounts for your
--   developer console.
--   
--   <i>See:</i> <a>Google Play Game Services Management API Reference</a>
--   for <tt>gamesManagement.players.unhide</tt>.
module Network.Google.Resource.GamesManagement.Players.Unhide

-- | A resource alias for <tt>gamesManagement.players.unhide</tt> method
--   which the <a>PlayersUnhide</a> request conforms to.
type PlayersUnhideResource = "games" :> ("v1management" :> ("applications" :> (Capture "applicationId" Text :> ("players" :> ("hidden" :> (Capture "playerId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ())))))))

-- | Creates a value of <a>PlayersUnhide</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>puApplicationId</a></li>
--   <li><a>puPlayerId</a></li>
--   </ul>
playersUnhide :: Text -> Text -> PlayersUnhide

-- | Unhide the given player's leaderboard scores from the given
--   application. This method is only available to user accounts for your
--   developer console.
--   
--   <i>See:</i> <a>playersUnhide</a> smart constructor.
data PlayersUnhide

-- | The application ID from the Google Play developer console.
puApplicationId :: Lens' PlayersUnhide Text

-- | A player ID. A value of me may be used in place of the authenticated
--   player's ID.
puPlayerId :: Lens' PlayersUnhide Text
instance GHC.Generics.Generic Network.Google.Resource.GamesManagement.Players.Unhide.PlayersUnhide
instance Data.Data.Data Network.Google.Resource.GamesManagement.Players.Unhide.PlayersUnhide
instance GHC.Show.Show Network.Google.Resource.GamesManagement.Players.Unhide.PlayersUnhide
instance GHC.Classes.Eq Network.Google.Resource.GamesManagement.Players.Unhide.PlayersUnhide
instance Network.Google.Types.GoogleRequest Network.Google.Resource.GamesManagement.Players.Unhide.PlayersUnhide


-- | Resets all player progress on the quest with the given ID for the
--   currently authenticated player. This method is only accessible to
--   whitelisted tester accounts for your application.
--   
--   <i>See:</i> <a>Google Play Game Services Management API Reference</a>
--   for <tt>gamesManagement.quests.reset</tt>.
module Network.Google.Resource.GamesManagement.Quests.Reset

-- | A resource alias for <tt>gamesManagement.quests.reset</tt> method
--   which the <a>QuestsReset</a> request conforms to.
type QuestsResetResource = "games" :> ("v1management" :> ("quests" :> (Capture "questId" Text :> ("reset" :> (QueryParam "alt" AltJSON :> Post '[JSON] ())))))

-- | Creates a value of <a>QuestsReset</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>qrQuestId</a></li>
--   </ul>
questsReset :: Text -> QuestsReset

-- | Resets all player progress on the quest with the given ID for the
--   currently authenticated player. This method is only accessible to
--   whitelisted tester accounts for your application.
--   
--   <i>See:</i> <a>questsReset</a> smart constructor.
data QuestsReset

-- | The ID of the quest.
qrQuestId :: Lens' QuestsReset Text
instance GHC.Generics.Generic Network.Google.Resource.GamesManagement.Quests.Reset.QuestsReset
instance Data.Data.Data Network.Google.Resource.GamesManagement.Quests.Reset.QuestsReset
instance GHC.Show.Show Network.Google.Resource.GamesManagement.Quests.Reset.QuestsReset
instance GHC.Classes.Eq Network.Google.Resource.GamesManagement.Quests.Reset.QuestsReset
instance Network.Google.Types.GoogleRequest Network.Google.Resource.GamesManagement.Quests.Reset.QuestsReset


-- | Resets all player progress on all quests for the currently
--   authenticated player. This method is only accessible to whitelisted
--   tester accounts for your application.
--   
--   <i>See:</i> <a>Google Play Game Services Management API Reference</a>
--   for <tt>gamesManagement.quests.resetAll</tt>.
module Network.Google.Resource.GamesManagement.Quests.ResetAll

-- | A resource alias for <tt>gamesManagement.quests.resetAll</tt> method
--   which the <a>QuestsResetAll</a> request conforms to.
type QuestsResetAllResource = "games" :> ("v1management" :> ("quests" :> ("reset" :> (QueryParam "alt" AltJSON :> Post '[JSON] ()))))

-- | Creates a value of <a>QuestsResetAll</a> with the minimum fields
--   required to make a request.
questsResetAll :: QuestsResetAll

-- | Resets all player progress on all quests for the currently
--   authenticated player. This method is only accessible to whitelisted
--   tester accounts for your application.
--   
--   <i>See:</i> <a>questsResetAll</a> smart constructor.
data QuestsResetAll
instance GHC.Generics.Generic Network.Google.Resource.GamesManagement.Quests.ResetAll.QuestsResetAll
instance Data.Data.Data Network.Google.Resource.GamesManagement.Quests.ResetAll.QuestsResetAll
instance GHC.Show.Show Network.Google.Resource.GamesManagement.Quests.ResetAll.QuestsResetAll
instance GHC.Classes.Eq Network.Google.Resource.GamesManagement.Quests.ResetAll.QuestsResetAll
instance Network.Google.Types.GoogleRequest Network.Google.Resource.GamesManagement.Quests.ResetAll.QuestsResetAll


-- | Resets all draft quests for all players. This method is only available
--   to user accounts for your developer console.
--   
--   <i>See:</i> <a>Google Play Game Services Management API Reference</a>
--   for <tt>gamesManagement.quests.resetAllForAllPlayers</tt>.
module Network.Google.Resource.GamesManagement.Quests.ResetAllForAllPlayers

-- | A resource alias for
--   <tt>gamesManagement.quests.resetAllForAllPlayers</tt> method which the
--   <a>QuestsResetAllForAllPlayers</a> request conforms to.
type QuestsResetAllForAllPlayersResource = "games" :> ("v1management" :> ("quests" :> ("resetAllForAllPlayers" :> (QueryParam "alt" AltJSON :> Post '[JSON] ()))))

-- | Creates a value of <a>QuestsResetAllForAllPlayers</a> with the minimum
--   fields required to make a request.
questsResetAllForAllPlayers :: QuestsResetAllForAllPlayers

-- | Resets all draft quests for all players. This method is only available
--   to user accounts for your developer console.
--   
--   <i>See:</i> <a>questsResetAllForAllPlayers</a> smart constructor.
data QuestsResetAllForAllPlayers
instance GHC.Generics.Generic Network.Google.Resource.GamesManagement.Quests.ResetAllForAllPlayers.QuestsResetAllForAllPlayers
instance Data.Data.Data Network.Google.Resource.GamesManagement.Quests.ResetAllForAllPlayers.QuestsResetAllForAllPlayers
instance GHC.Show.Show Network.Google.Resource.GamesManagement.Quests.ResetAllForAllPlayers.QuestsResetAllForAllPlayers
instance GHC.Classes.Eq Network.Google.Resource.GamesManagement.Quests.ResetAllForAllPlayers.QuestsResetAllForAllPlayers
instance Network.Google.Types.GoogleRequest Network.Google.Resource.GamesManagement.Quests.ResetAllForAllPlayers.QuestsResetAllForAllPlayers


-- | Resets all player progress on the quest with the given ID for all
--   players. This method is only available to user accounts for your
--   developer console. Only draft quests can be reset.
--   
--   <i>See:</i> <a>Google Play Game Services Management API Reference</a>
--   for <tt>gamesManagement.quests.resetForAllPlayers</tt>.
module Network.Google.Resource.GamesManagement.Quests.ResetForAllPlayers

-- | A resource alias for
--   <tt>gamesManagement.quests.resetForAllPlayers</tt> method which the
--   <a>QuestsResetForAllPlayers</a> request conforms to.
type QuestsResetForAllPlayersResource = "games" :> ("v1management" :> ("quests" :> (Capture "questId" Text :> ("resetForAllPlayers" :> (QueryParam "alt" AltJSON :> Post '[JSON] ())))))

-- | Creates a value of <a>QuestsResetForAllPlayers</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>qrfapQuestId</a></li>
--   </ul>
questsResetForAllPlayers :: Text -> QuestsResetForAllPlayers

-- | Resets all player progress on the quest with the given ID for all
--   players. This method is only available to user accounts for your
--   developer console. Only draft quests can be reset.
--   
--   <i>See:</i> <a>questsResetForAllPlayers</a> smart constructor.
data QuestsResetForAllPlayers

-- | The ID of the quest.
qrfapQuestId :: Lens' QuestsResetForAllPlayers Text
instance GHC.Generics.Generic Network.Google.Resource.GamesManagement.Quests.ResetForAllPlayers.QuestsResetForAllPlayers
instance Data.Data.Data Network.Google.Resource.GamesManagement.Quests.ResetForAllPlayers.QuestsResetForAllPlayers
instance GHC.Show.Show Network.Google.Resource.GamesManagement.Quests.ResetForAllPlayers.QuestsResetForAllPlayers
instance GHC.Classes.Eq Network.Google.Resource.GamesManagement.Quests.ResetForAllPlayers.QuestsResetForAllPlayers
instance Network.Google.Types.GoogleRequest Network.Google.Resource.GamesManagement.Quests.ResetForAllPlayers.QuestsResetForAllPlayers


-- | Resets quests with the given IDs for all players. This method is only
--   available to user accounts for your developer console. Only draft
--   quests may be reset.
--   
--   <i>See:</i> <a>Google Play Game Services Management API Reference</a>
--   for <tt>gamesManagement.quests.resetMultipleForAllPlayers</tt>.
module Network.Google.Resource.GamesManagement.Quests.ResetMultipleForAllPlayers

-- | A resource alias for
--   <tt>gamesManagement.quests.resetMultipleForAllPlayers</tt> method
--   which the <a>QuestsResetMultipleForAllPlayers</a> request conforms to.
type QuestsResetMultipleForAllPlayersResource = "games" :> ("v1management" :> ("quests" :> ("resetMultipleForAllPlayers" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] QuestsResetMultipleForAllRequest :> Post '[JSON] ())))))

-- | Creates a value of <a>QuestsResetMultipleForAllPlayers</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>qrmfapPayload</a></li>
--   </ul>
questsResetMultipleForAllPlayers :: QuestsResetMultipleForAllRequest -> QuestsResetMultipleForAllPlayers

-- | Resets quests with the given IDs for all players. This method is only
--   available to user accounts for your developer console. Only draft
--   quests may be reset.
--   
--   <i>See:</i> <a>questsResetMultipleForAllPlayers</a> smart constructor.
data QuestsResetMultipleForAllPlayers

-- | Multipart request metadata.
qrmfapPayload :: Lens' QuestsResetMultipleForAllPlayers QuestsResetMultipleForAllRequest
instance GHC.Generics.Generic Network.Google.Resource.GamesManagement.Quests.ResetMultipleForAllPlayers.QuestsResetMultipleForAllPlayers
instance Data.Data.Data Network.Google.Resource.GamesManagement.Quests.ResetMultipleForAllPlayers.QuestsResetMultipleForAllPlayers
instance GHC.Show.Show Network.Google.Resource.GamesManagement.Quests.ResetMultipleForAllPlayers.QuestsResetMultipleForAllPlayers
instance GHC.Classes.Eq Network.Google.Resource.GamesManagement.Quests.ResetMultipleForAllPlayers.QuestsResetMultipleForAllPlayers
instance Network.Google.Types.GoogleRequest Network.Google.Resource.GamesManagement.Quests.ResetMultipleForAllPlayers.QuestsResetMultipleForAllPlayers


-- | Reset all rooms for the currently authenticated player for your
--   application. This method is only accessible to whitelisted tester
--   accounts for your application.
--   
--   <i>See:</i> <a>Google Play Game Services Management API Reference</a>
--   for <tt>gamesManagement.rooms.reset</tt>.
module Network.Google.Resource.GamesManagement.Rooms.Reset

-- | A resource alias for <tt>gamesManagement.rooms.reset</tt> method which
--   the <a>RoomsReset</a> request conforms to.
type RoomsResetResource = "games" :> ("v1management" :> ("rooms" :> ("reset" :> (QueryParam "alt" AltJSON :> Post '[JSON] ()))))

-- | Creates a value of <a>RoomsReset</a> with the minimum fields required
--   to make a request.
roomsReset :: RoomsReset

-- | Reset all rooms for the currently authenticated player for your
--   application. This method is only accessible to whitelisted tester
--   accounts for your application.
--   
--   <i>See:</i> <a>roomsReset</a> smart constructor.
data RoomsReset
instance GHC.Generics.Generic Network.Google.Resource.GamesManagement.Rooms.Reset.RoomsReset
instance Data.Data.Data Network.Google.Resource.GamesManagement.Rooms.Reset.RoomsReset
instance GHC.Show.Show Network.Google.Resource.GamesManagement.Rooms.Reset.RoomsReset
instance GHC.Classes.Eq Network.Google.Resource.GamesManagement.Rooms.Reset.RoomsReset
instance Network.Google.Types.GoogleRequest Network.Google.Resource.GamesManagement.Rooms.Reset.RoomsReset


-- | Deletes rooms where the only room participants are from whitelisted
--   tester accounts for your application. This method is only available to
--   user accounts for your developer console.
--   
--   <i>See:</i> <a>Google Play Game Services Management API Reference</a>
--   for <tt>gamesManagement.rooms.resetForAllPlayers</tt>.
module Network.Google.Resource.GamesManagement.Rooms.ResetForAllPlayers

-- | A resource alias for <tt>gamesManagement.rooms.resetForAllPlayers</tt>
--   method which the <a>RoomsResetForAllPlayers</a> request conforms to.
type RoomsResetForAllPlayersResource = "games" :> ("v1management" :> ("rooms" :> ("resetForAllPlayers" :> (QueryParam "alt" AltJSON :> Post '[JSON] ()))))

-- | Creates a value of <a>RoomsResetForAllPlayers</a> with the minimum
--   fields required to make a request.
roomsResetForAllPlayers :: RoomsResetForAllPlayers

-- | Deletes rooms where the only room participants are from whitelisted
--   tester accounts for your application. This method is only available to
--   user accounts for your developer console.
--   
--   <i>See:</i> <a>roomsResetForAllPlayers</a> smart constructor.
data RoomsResetForAllPlayers
instance GHC.Generics.Generic Network.Google.Resource.GamesManagement.Rooms.ResetForAllPlayers.RoomsResetForAllPlayers
instance Data.Data.Data Network.Google.Resource.GamesManagement.Rooms.ResetForAllPlayers.RoomsResetForAllPlayers
instance GHC.Show.Show Network.Google.Resource.GamesManagement.Rooms.ResetForAllPlayers.RoomsResetForAllPlayers
instance GHC.Classes.Eq Network.Google.Resource.GamesManagement.Rooms.ResetForAllPlayers.RoomsResetForAllPlayers
instance Network.Google.Types.GoogleRequest Network.Google.Resource.GamesManagement.Rooms.ResetForAllPlayers.RoomsResetForAllPlayers


-- | Resets scores for the leaderboard with the given ID for the currently
--   authenticated player. This method is only accessible to whitelisted
--   tester accounts for your application.
--   
--   <i>See:</i> <a>Google Play Game Services Management API Reference</a>
--   for <tt>gamesManagement.scores.reset</tt>.
module Network.Google.Resource.GamesManagement.Scores.Reset

-- | A resource alias for <tt>gamesManagement.scores.reset</tt> method
--   which the <a>ScoresReset</a> request conforms to.
type ScoresResetResource = "games" :> ("v1management" :> ("leaderboards" :> (Capture "leaderboardId" Text :> ("scores" :> ("reset" :> (QueryParam "alt" AltJSON :> Post '[JSON] PlayerScoreResetResponse))))))

-- | Creates a value of <a>ScoresReset</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srLeaderboardId</a></li>
--   </ul>
scoresReset :: Text -> ScoresReset

-- | Resets scores for the leaderboard with the given ID for the currently
--   authenticated player. This method is only accessible to whitelisted
--   tester accounts for your application.
--   
--   <i>See:</i> <a>scoresReset</a> smart constructor.
data ScoresReset

-- | The ID of the leaderboard.
srLeaderboardId :: Lens' ScoresReset Text
instance GHC.Generics.Generic Network.Google.Resource.GamesManagement.Scores.Reset.ScoresReset
instance Data.Data.Data Network.Google.Resource.GamesManagement.Scores.Reset.ScoresReset
instance GHC.Show.Show Network.Google.Resource.GamesManagement.Scores.Reset.ScoresReset
instance GHC.Classes.Eq Network.Google.Resource.GamesManagement.Scores.Reset.ScoresReset
instance Network.Google.Types.GoogleRequest Network.Google.Resource.GamesManagement.Scores.Reset.ScoresReset


-- | Resets all scores for all leaderboards for the currently authenticated
--   players. This method is only accessible to whitelisted tester accounts
--   for your application.
--   
--   <i>See:</i> <a>Google Play Game Services Management API Reference</a>
--   for <tt>gamesManagement.scores.resetAll</tt>.
module Network.Google.Resource.GamesManagement.Scores.ResetAll

-- | A resource alias for <tt>gamesManagement.scores.resetAll</tt> method
--   which the <a>ScoresResetAll</a> request conforms to.
type ScoresResetAllResource = "games" :> ("v1management" :> ("scores" :> ("reset" :> (QueryParam "alt" AltJSON :> Post '[JSON] PlayerScoreResetAllResponse))))

-- | Creates a value of <a>ScoresResetAll</a> with the minimum fields
--   required to make a request.
scoresResetAll :: ScoresResetAll

-- | Resets all scores for all leaderboards for the currently authenticated
--   players. This method is only accessible to whitelisted tester accounts
--   for your application.
--   
--   <i>See:</i> <a>scoresResetAll</a> smart constructor.
data ScoresResetAll
instance GHC.Generics.Generic Network.Google.Resource.GamesManagement.Scores.ResetAll.ScoresResetAll
instance Data.Data.Data Network.Google.Resource.GamesManagement.Scores.ResetAll.ScoresResetAll
instance GHC.Show.Show Network.Google.Resource.GamesManagement.Scores.ResetAll.ScoresResetAll
instance GHC.Classes.Eq Network.Google.Resource.GamesManagement.Scores.ResetAll.ScoresResetAll
instance Network.Google.Types.GoogleRequest Network.Google.Resource.GamesManagement.Scores.ResetAll.ScoresResetAll


-- | Resets scores for all draft leaderboards for all players. This method
--   is only available to user accounts for your developer console.
--   
--   <i>See:</i> <a>Google Play Game Services Management API Reference</a>
--   for <tt>gamesManagement.scores.resetAllForAllPlayers</tt>.
module Network.Google.Resource.GamesManagement.Scores.ResetAllForAllPlayers

-- | A resource alias for
--   <tt>gamesManagement.scores.resetAllForAllPlayers</tt> method which the
--   <a>ScoresResetAllForAllPlayers</a> request conforms to.
type ScoresResetAllForAllPlayersResource = "games" :> ("v1management" :> ("scores" :> ("resetAllForAllPlayers" :> (QueryParam "alt" AltJSON :> Post '[JSON] ()))))

-- | Creates a value of <a>ScoresResetAllForAllPlayers</a> with the minimum
--   fields required to make a request.
scoresResetAllForAllPlayers :: ScoresResetAllForAllPlayers

-- | Resets scores for all draft leaderboards for all players. This method
--   is only available to user accounts for your developer console.
--   
--   <i>See:</i> <a>scoresResetAllForAllPlayers</a> smart constructor.
data ScoresResetAllForAllPlayers
instance GHC.Generics.Generic Network.Google.Resource.GamesManagement.Scores.ResetAllForAllPlayers.ScoresResetAllForAllPlayers
instance Data.Data.Data Network.Google.Resource.GamesManagement.Scores.ResetAllForAllPlayers.ScoresResetAllForAllPlayers
instance GHC.Show.Show Network.Google.Resource.GamesManagement.Scores.ResetAllForAllPlayers.ScoresResetAllForAllPlayers
instance GHC.Classes.Eq Network.Google.Resource.GamesManagement.Scores.ResetAllForAllPlayers.ScoresResetAllForAllPlayers
instance Network.Google.Types.GoogleRequest Network.Google.Resource.GamesManagement.Scores.ResetAllForAllPlayers.ScoresResetAllForAllPlayers


-- | Resets scores for the leaderboard with the given ID for all players.
--   This method is only available to user accounts for your developer
--   console. Only draft leaderboards can be reset.
--   
--   <i>See:</i> <a>Google Play Game Services Management API Reference</a>
--   for <tt>gamesManagement.scores.resetForAllPlayers</tt>.
module Network.Google.Resource.GamesManagement.Scores.ResetForAllPlayers

-- | A resource alias for
--   <tt>gamesManagement.scores.resetForAllPlayers</tt> method which the
--   <a>ScoresResetForAllPlayers</a> request conforms to.
type ScoresResetForAllPlayersResource = "games" :> ("v1management" :> ("leaderboards" :> (Capture "leaderboardId" Text :> ("scores" :> ("resetForAllPlayers" :> (QueryParam "alt" AltJSON :> Post '[JSON] ()))))))

-- | Creates a value of <a>ScoresResetForAllPlayers</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srfapLeaderboardId</a></li>
--   </ul>
scoresResetForAllPlayers :: Text -> ScoresResetForAllPlayers

-- | Resets scores for the leaderboard with the given ID for all players.
--   This method is only available to user accounts for your developer
--   console. Only draft leaderboards can be reset.
--   
--   <i>See:</i> <a>scoresResetForAllPlayers</a> smart constructor.
data ScoresResetForAllPlayers

-- | The ID of the leaderboard.
srfapLeaderboardId :: Lens' ScoresResetForAllPlayers Text
instance GHC.Generics.Generic Network.Google.Resource.GamesManagement.Scores.ResetForAllPlayers.ScoresResetForAllPlayers
instance Data.Data.Data Network.Google.Resource.GamesManagement.Scores.ResetForAllPlayers.ScoresResetForAllPlayers
instance GHC.Show.Show Network.Google.Resource.GamesManagement.Scores.ResetForAllPlayers.ScoresResetForAllPlayers
instance GHC.Classes.Eq Network.Google.Resource.GamesManagement.Scores.ResetForAllPlayers.ScoresResetForAllPlayers
instance Network.Google.Types.GoogleRequest Network.Google.Resource.GamesManagement.Scores.ResetForAllPlayers.ScoresResetForAllPlayers


-- | Resets scores for the leaderboards with the given IDs for all players.
--   This method is only available to user accounts for your developer
--   console. Only draft leaderboards may be reset.
--   
--   <i>See:</i> <a>Google Play Game Services Management API Reference</a>
--   for <tt>gamesManagement.scores.resetMultipleForAllPlayers</tt>.
module Network.Google.Resource.GamesManagement.Scores.ResetMultipleForAllPlayers

-- | A resource alias for
--   <tt>gamesManagement.scores.resetMultipleForAllPlayers</tt> method
--   which the <a>ScoresResetMultipleForAllPlayers</a> request conforms to.
type ScoresResetMultipleForAllPlayersResource = "games" :> ("v1management" :> ("scores" :> ("resetMultipleForAllPlayers" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ScoresResetMultipleForAllRequest :> Post '[JSON] ())))))

-- | Creates a value of <a>ScoresResetMultipleForAllPlayers</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srmfapPayload</a></li>
--   </ul>
scoresResetMultipleForAllPlayers :: ScoresResetMultipleForAllRequest -> ScoresResetMultipleForAllPlayers

-- | Resets scores for the leaderboards with the given IDs for all players.
--   This method is only available to user accounts for your developer
--   console. Only draft leaderboards may be reset.
--   
--   <i>See:</i> <a>scoresResetMultipleForAllPlayers</a> smart constructor.
data ScoresResetMultipleForAllPlayers

-- | Multipart request metadata.
srmfapPayload :: Lens' ScoresResetMultipleForAllPlayers ScoresResetMultipleForAllRequest
instance GHC.Generics.Generic Network.Google.Resource.GamesManagement.Scores.ResetMultipleForAllPlayers.ScoresResetMultipleForAllPlayers
instance Data.Data.Data Network.Google.Resource.GamesManagement.Scores.ResetMultipleForAllPlayers.ScoresResetMultipleForAllPlayers
instance GHC.Show.Show Network.Google.Resource.GamesManagement.Scores.ResetMultipleForAllPlayers.ScoresResetMultipleForAllPlayers
instance GHC.Classes.Eq Network.Google.Resource.GamesManagement.Scores.ResetMultipleForAllPlayers.ScoresResetMultipleForAllPlayers
instance Network.Google.Types.GoogleRequest Network.Google.Resource.GamesManagement.Scores.ResetMultipleForAllPlayers.ScoresResetMultipleForAllPlayers


-- | Reset all turn-based match data for a user. This method is only
--   accessible to whitelisted tester accounts for your application.
--   
--   <i>See:</i> <a>Google Play Game Services Management API Reference</a>
--   for <tt>gamesManagement.turnBasedMatches.reset</tt>.
module Network.Google.Resource.GamesManagement.TurnBasedMatches.Reset

-- | A resource alias for <tt>gamesManagement.turnBasedMatches.reset</tt>
--   method which the <a>TurnBasedMatchesReset</a> request conforms to.
type TurnBasedMatchesResetResource = "games" :> ("v1management" :> ("turnbasedmatches" :> ("reset" :> (QueryParam "alt" AltJSON :> Post '[JSON] ()))))

-- | Creates a value of <a>TurnBasedMatchesReset</a> with the minimum
--   fields required to make a request.
turnBasedMatchesReset :: TurnBasedMatchesReset

-- | Reset all turn-based match data for a user. This method is only
--   accessible to whitelisted tester accounts for your application.
--   
--   <i>See:</i> <a>turnBasedMatchesReset</a> smart constructor.
data TurnBasedMatchesReset
instance GHC.Generics.Generic Network.Google.Resource.GamesManagement.TurnBasedMatches.Reset.TurnBasedMatchesReset
instance Data.Data.Data Network.Google.Resource.GamesManagement.TurnBasedMatches.Reset.TurnBasedMatchesReset
instance GHC.Show.Show Network.Google.Resource.GamesManagement.TurnBasedMatches.Reset.TurnBasedMatchesReset
instance GHC.Classes.Eq Network.Google.Resource.GamesManagement.TurnBasedMatches.Reset.TurnBasedMatchesReset
instance Network.Google.Types.GoogleRequest Network.Google.Resource.GamesManagement.TurnBasedMatches.Reset.TurnBasedMatchesReset


-- | Deletes turn-based matches where the only match participants are from
--   whitelisted tester accounts for your application. This method is only
--   available to user accounts for your developer console.
--   
--   <i>See:</i> <a>Google Play Game Services Management API Reference</a>
--   for <tt>gamesManagement.turnBasedMatches.resetForAllPlayers</tt>.
module Network.Google.Resource.GamesManagement.TurnBasedMatches.ResetForAllPlayers

-- | A resource alias for
--   <tt>gamesManagement.turnBasedMatches.resetForAllPlayers</tt> method
--   which the <a>TurnBasedMatchesResetForAllPlayers</a> request conforms
--   to.
type TurnBasedMatchesResetForAllPlayersResource = "games" :> ("v1management" :> ("turnbasedmatches" :> ("resetForAllPlayers" :> (QueryParam "alt" AltJSON :> Post '[JSON] ()))))

-- | Creates a value of <a>TurnBasedMatchesResetForAllPlayers</a> with the
--   minimum fields required to make a request.
turnBasedMatchesResetForAllPlayers :: TurnBasedMatchesResetForAllPlayers

-- | Deletes turn-based matches where the only match participants are from
--   whitelisted tester accounts for your application. This method is only
--   available to user accounts for your developer console.
--   
--   <i>See:</i> <a>turnBasedMatchesResetForAllPlayers</a> smart
--   constructor.
data TurnBasedMatchesResetForAllPlayers
instance GHC.Generics.Generic Network.Google.Resource.GamesManagement.TurnBasedMatches.ResetForAllPlayers.TurnBasedMatchesResetForAllPlayers
instance Data.Data.Data Network.Google.Resource.GamesManagement.TurnBasedMatches.ResetForAllPlayers.TurnBasedMatchesResetForAllPlayers
instance GHC.Show.Show Network.Google.Resource.GamesManagement.TurnBasedMatches.ResetForAllPlayers.TurnBasedMatchesResetForAllPlayers
instance GHC.Classes.Eq Network.Google.Resource.GamesManagement.TurnBasedMatches.ResetForAllPlayers.TurnBasedMatchesResetForAllPlayers
instance Network.Google.Types.GoogleRequest Network.Google.Resource.GamesManagement.TurnBasedMatches.ResetForAllPlayers.TurnBasedMatchesResetForAllPlayers


-- | The Management API for Google Play Game Services.
--   
--   <i>See:</i> <a>Google Play Game Services Management API Reference</a>
module Network.Google.GamesManagement

-- | Default request referring to version <tt>v1management</tt> of the
--   Google Play Game Services Management API. This contains the host and
--   root path used as a starting point for constructing service requests.
gamesManagementService :: ServiceConfig

-- | Know the list of people in your circles, your age range, and language
plusLoginScope :: Proxy '["https://www.googleapis.com/auth/plus.login"]

-- | Share your Google+ profile information and view and manage your game
--   activity
gamesScope :: Proxy '["https://www.googleapis.com/auth/games"]

-- | Represents the entirety of the methods and resources available for the
--   Google Play Game Services Management API service.
type GamesManagementAPI = RoomsResetForAllPlayersResource :<|> (RoomsResetResource :<|> (AchievementsResetAllResource :<|> (AchievementsResetAllForAllPlayersResource :<|> (AchievementsResetMultipleForAllPlayersResource :<|> (AchievementsResetForAllPlayersResource :<|> (AchievementsResetResource :<|> (EventsResetAllResource :<|> (EventsResetAllForAllPlayersResource :<|> (EventsResetMultipleForAllPlayersResource :<|> (EventsResetForAllPlayersResource :<|> (EventsResetResource :<|> (QuestsResetAllResource :<|> (QuestsResetAllForAllPlayersResource :<|> (QuestsResetMultipleForAllPlayersResource :<|> (QuestsResetForAllPlayersResource :<|> (QuestsResetResource :<|> (PlayersHideResource :<|> (PlayersUnhideResource :<|> (ScoresResetAllResource :<|> (ScoresResetAllForAllPlayersResource :<|> (ScoresResetMultipleForAllPlayersResource :<|> (ScoresResetForAllPlayersResource :<|> (ScoresResetResource :<|> (TurnBasedMatchesResetForAllPlayersResource :<|> (TurnBasedMatchesResetResource :<|> ApplicationsListHiddenResource)))))))))))))))))))))))))

-- | This is a JSON template for 1P/3P metadata about the player's
--   experience.
--   
--   <i>See:</i> <a>gamesPlayerExperienceInfoResource</a> smart
--   constructor.
data GamesPlayerExperienceInfoResource

-- | Creates a value of <a>GamesPlayerExperienceInfoResource</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gpeirCurrentExperiencePoints</a></li>
--   <li><a>gpeirCurrentLevel</a></li>
--   <li><a>gpeirNextLevel</a></li>
--   <li><a>gpeirLastLevelUpTimestampMillis</a></li>
--   </ul>
gamesPlayerExperienceInfoResource :: GamesPlayerExperienceInfoResource

-- | The current number of experience points for the player.
gpeirCurrentExperiencePoints :: Lens' GamesPlayerExperienceInfoResource (Maybe Int64)

-- | The current level of the player.
gpeirCurrentLevel :: Lens' GamesPlayerExperienceInfoResource (Maybe GamesPlayerLevelResource)

-- | The next level of the player. If the current level is the maximum
--   level, this should be same as the current level.
gpeirNextLevel :: Lens' GamesPlayerExperienceInfoResource (Maybe GamesPlayerLevelResource)

-- | The timestamp when the player was leveled up, in millis since Unix
--   epoch UTC.
gpeirLastLevelUpTimestampMillis :: Lens' GamesPlayerExperienceInfoResource (Maybe Int64)

-- | An object representation of the individual components of the player's
--   name. For some players, these fields may not be present.
--   
--   <i>See:</i> <a>playerName</a> smart constructor.
data PlayerName

-- | Creates a value of <a>PlayerName</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pnGivenName</a></li>
--   <li><a>pnFamilyName</a></li>
--   </ul>
playerName :: PlayerName

-- | The given name of this player. In some places, this is known as the
--   first name.
pnGivenName :: Lens' PlayerName (Maybe Text)

-- | The family name of this player. In some places, this is known as the
--   last name.
pnFamilyName :: Lens' PlayerName (Maybe Text)

-- | This is a JSON template for a list of leaderboard reset resources.
--   
--   <i>See:</i> <a>playerScoreResetAllResponse</a> smart constructor.
data PlayerScoreResetAllResponse

-- | Creates a value of <a>PlayerScoreResetAllResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psrarResults</a></li>
--   <li><a>psrarKind</a></li>
--   </ul>
playerScoreResetAllResponse :: PlayerScoreResetAllResponse

-- | The leaderboard reset results.
psrarResults :: Lens' PlayerScoreResetAllResponse [PlayerScoreResetResponse]

-- | Uniquely identifies the type of this resource. Value is always the
--   fixed string gamesManagement#playerScoreResetResponse.
psrarKind :: Lens' PlayerScoreResetAllResponse Text

-- | This is a JSON template for metadata about a player playing a game
--   with the currently authenticated user.
--   
--   <i>See:</i> <a>gamesPlayedResource</a> smart constructor.
data GamesPlayedResource

-- | Creates a value of <a>GamesPlayedResource</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gprAutoMatched</a></li>
--   <li><a>gprTimeMillis</a></li>
--   </ul>
gamesPlayedResource :: GamesPlayedResource

-- | True if the player was auto-matched with the currently authenticated
--   user.
gprAutoMatched :: Lens' GamesPlayedResource (Maybe Bool)

-- | The last time the player played the game in milliseconds since the
--   epoch in UTC.
gprTimeMillis :: Lens' GamesPlayedResource (Maybe Int64)

-- | This is a JSON template for 1P/3P metadata about a user's level.
--   
--   <i>See:</i> <a>gamesPlayerLevelResource</a> smart constructor.
data GamesPlayerLevelResource

-- | Creates a value of <a>GamesPlayerLevelResource</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gplrMaxExperiencePoints</a></li>
--   <li><a>gplrMinExperiencePoints</a></li>
--   <li><a>gplrLevel</a></li>
--   </ul>
gamesPlayerLevelResource :: GamesPlayerLevelResource

-- | The maximum experience points for this level.
gplrMaxExperiencePoints :: Lens' GamesPlayerLevelResource (Maybe Int64)

-- | The minimum experience points for this level.
gplrMinExperiencePoints :: Lens' GamesPlayerLevelResource (Maybe Int64)

-- | The level for the user.
gplrLevel :: Lens' GamesPlayerLevelResource (Maybe Int32)

-- | This is a JSON template for a list of reset leaderboard entry
--   resources.
--   
--   <i>See:</i> <a>playerScoreResetResponse</a> smart constructor.
data PlayerScoreResetResponse

-- | Creates a value of <a>PlayerScoreResetResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psrrKind</a></li>
--   <li><a>psrrResetScoreTimeSpans</a></li>
--   <li><a>psrrDefinitionId</a></li>
--   </ul>
playerScoreResetResponse :: PlayerScoreResetResponse

-- | Uniquely identifies the type of this resource. Value is always the
--   fixed string gamesManagement#playerScoreResetResponse.
psrrKind :: Lens' PlayerScoreResetResponse Text

-- | The time spans of the updated score. Possible values are: - "ALL_TIME"
--   - The score is an all-time score. - "WEEKLY" - The score is a weekly
--   score. - "DAILY" - The score is a daily score.
psrrResetScoreTimeSpans :: Lens' PlayerScoreResetResponse [Text]

-- | The ID of an leaderboard for which player state has been updated.
psrrDefinitionId :: Lens' PlayerScoreResetResponse (Maybe Text)

-- | This is a JSON template for multiple scores reset all request.
--   
--   <i>See:</i> <a>scoresResetMultipleForAllRequest</a> smart constructor.
data ScoresResetMultipleForAllRequest

-- | Creates a value of <a>ScoresResetMultipleForAllRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>srmfarKind</a></li>
--   <li><a>srmfarLeaderboardIds</a></li>
--   </ul>
scoresResetMultipleForAllRequest :: ScoresResetMultipleForAllRequest

-- | Uniquely identifies the type of this resource. Value is always the
--   fixed string gamesManagement#scoresResetMultipleForAllRequest.
srmfarKind :: Lens' ScoresResetMultipleForAllRequest Text

-- | The IDs of leaderboards to reset.
srmfarLeaderboardIds :: Lens' ScoresResetMultipleForAllRequest [Text]

-- | This is a JSON template for multiple quests reset all request.
--   
--   <i>See:</i> <a>questsResetMultipleForAllRequest</a> smart constructor.
data QuestsResetMultipleForAllRequest

-- | Creates a value of <a>QuestsResetMultipleForAllRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>qrmfarKind</a></li>
--   <li><a>qrmfarQuestIds</a></li>
--   </ul>
questsResetMultipleForAllRequest :: QuestsResetMultipleForAllRequest

-- | Uniquely identifies the type of this resource. Value is always the
--   fixed string gamesManagement#questsResetMultipleForAllRequest.
qrmfarKind :: Lens' QuestsResetMultipleForAllRequest Text

-- | The IDs of quests to reset.
qrmfarQuestIds :: Lens' QuestsResetMultipleForAllRequest [Text]

-- | This is a JSON template for a list of hidden players.
--   
--   <i>See:</i> <a>hiddenPlayerList</a> smart constructor.
data HiddenPlayerList

-- | Creates a value of <a>HiddenPlayerList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>hplNextPageToken</a></li>
--   <li><a>hplKind</a></li>
--   <li><a>hplItems</a></li>
--   </ul>
hiddenPlayerList :: HiddenPlayerList

-- | The pagination token for the next page of results.
hplNextPageToken :: Lens' HiddenPlayerList (Maybe Text)

-- | Uniquely identifies the type of this resource. Value is always the
--   fixed string gamesManagement#hiddenPlayerList.
hplKind :: Lens' HiddenPlayerList Text

-- | The players.
hplItems :: Lens' HiddenPlayerList [HiddenPlayer]

-- | This is a JSON template for multiple events reset all request.
--   
--   <i>See:</i> <a>eventsResetMultipleForAllRequest</a> smart constructor.
data EventsResetMultipleForAllRequest

-- | Creates a value of <a>EventsResetMultipleForAllRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ermfarKind</a></li>
--   <li><a>ermfarEventIds</a></li>
--   </ul>
eventsResetMultipleForAllRequest :: EventsResetMultipleForAllRequest

-- | Uniquely identifies the type of this resource. Value is always the
--   fixed string gamesManagement#eventsResetMultipleForAllRequest.
ermfarKind :: Lens' EventsResetMultipleForAllRequest Text

-- | The IDs of events to reset.
ermfarEventIds :: Lens' EventsResetMultipleForAllRequest [Text]

-- | This is a JSON template for multiple achievements reset all request.
--   
--   <i>See:</i> <a>achievementResetMultipleForAllRequest</a> smart
--   constructor.
data AchievementResetMultipleForAllRequest

-- | Creates a value of <a>AchievementResetMultipleForAllRequest</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>armfarKind</a></li>
--   <li><a>armfarAchievementIds</a></li>
--   </ul>
achievementResetMultipleForAllRequest :: AchievementResetMultipleForAllRequest

-- | Uniquely identifies the type of this resource. Value is always the
--   fixed string gamesManagement#achievementResetMultipleForAllRequest.
armfarKind :: Lens' AchievementResetMultipleForAllRequest Text

-- | The IDs of achievements to reset.
armfarAchievementIds :: Lens' AchievementResetMultipleForAllRequest [Text]

-- | This is a JSON template for the HiddenPlayer resource.
--   
--   <i>See:</i> <a>hiddenPlayer</a> smart constructor.
data HiddenPlayer

-- | Creates a value of <a>HiddenPlayer</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>hpKind</a></li>
--   <li><a>hpHiddenTimeMillis</a></li>
--   <li><a>hpPlayer</a></li>
--   </ul>
hiddenPlayer :: HiddenPlayer

-- | Uniquely identifies the type of this resource. Value is always the
--   fixed string gamesManagement#hiddenPlayer.
hpKind :: Lens' HiddenPlayer Text

-- | The time this player was hidden.
hpHiddenTimeMillis :: Lens' HiddenPlayer (Maybe Int64)

-- | The player information.
hpPlayer :: Lens' HiddenPlayer (Maybe Player)

-- | This is a JSON template for achievement reset all response.
--   
--   <i>See:</i> <a>achievementResetAllResponse</a> smart constructor.
data AchievementResetAllResponse

-- | Creates a value of <a>AchievementResetAllResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ararResults</a></li>
--   <li><a>ararKind</a></li>
--   </ul>
achievementResetAllResponse :: AchievementResetAllResponse

-- | The achievement reset results.
ararResults :: Lens' AchievementResetAllResponse [AchievementResetResponse]

-- | Uniquely identifies the type of this resource. Value is always the
--   fixed string gamesManagement#achievementResetAllResponse.
ararKind :: Lens' AchievementResetAllResponse Text

-- | This is a JSON template for a Player resource.
--   
--   <i>See:</i> <a>player</a> smart constructor.
data Player

-- | Creates a value of <a>Player</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pBannerURLLandscape</a></li>
--   <li><a>pLastPlayedWith</a></li>
--   <li><a>pAvatarImageURL</a></li>
--   <li><a>pKind</a></li>
--   <li><a>pExperienceInfo</a></li>
--   <li><a>pName</a></li>
--   <li><a>pOriginalPlayerId</a></li>
--   <li><a>pDisplayName</a></li>
--   <li><a>pTitle</a></li>
--   <li><a>pBannerURLPortrait</a></li>
--   <li><a>pPlayerId</a></li>
--   <li><a>pProFileSettings</a></li>
--   </ul>
player :: Player

-- | The url to the landscape mode player banner image.
pBannerURLLandscape :: Lens' Player (Maybe Text)

-- | Details about the last time this player played a multiplayer game with
--   the currently authenticated player. Populated for PLAYED_WITH player
--   collection members.
pLastPlayedWith :: Lens' Player (Maybe GamesPlayedResource)

-- | The base URL for the image that represents the player.
pAvatarImageURL :: Lens' Player (Maybe Text)

-- | Uniquely identifies the type of this resource. Value is always the
--   fixed string gamesManagement#player.
pKind :: Lens' Player Text

-- | An object to represent Play Game experience information for the
--   player.
pExperienceInfo :: Lens' Player (Maybe GamesPlayerExperienceInfoResource)

-- | An object representation of the individual components of the player's
--   name. For some players, these fields may not be present.
pName :: Lens' Player (Maybe PlayerName)

-- | The player ID that was used for this player the first time they signed
--   into the game in question. This is only populated for calls to
--   player.get for the requesting player, only if the player ID has
--   subsequently changed, and only to clients that support remapping
--   player IDs.
pOriginalPlayerId :: Lens' Player (Maybe Text)

-- | The name to display for the player.
pDisplayName :: Lens' Player (Maybe Text)

-- | The player's title rewarded for their game activities.
pTitle :: Lens' Player (Maybe Text)

-- | The url to the portrait mode player banner image.
pBannerURLPortrait :: Lens' Player (Maybe Text)

-- | The ID of the player.
pPlayerId :: Lens' Player (Maybe Text)

-- | The player's profile settings. Controls whether or not the player's
--   profile is visible to other players.
pProFileSettings :: Lens' Player (Maybe ProFileSettings)

-- | This is a JSON template for profile settings
--   
--   <i>See:</i> <a>proFileSettings</a> smart constructor.
data ProFileSettings

-- | Creates a value of <a>ProFileSettings</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pfsProFileVisible</a></li>
--   <li><a>pfsKind</a></li>
--   </ul>
proFileSettings :: ProFileSettings

-- | The player's current profile visibility. This field is visible to both
--   1P and 3P APIs.
pfsProFileVisible :: Lens' ProFileSettings (Maybe Bool)

-- | Uniquely identifies the type of this resource. Value is always the
--   fixed string gamesManagement#profileSettings.
pfsKind :: Lens' ProFileSettings Text

-- | This is a JSON template for an achievement reset response.
--   
--   <i>See:</i> <a>achievementResetResponse</a> smart constructor.
data AchievementResetResponse

-- | Creates a value of <a>AchievementResetResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>arrUpdateOccurred</a></li>
--   <li><a>arrKind</a></li>
--   <li><a>arrCurrentState</a></li>
--   <li><a>arrDefinitionId</a></li>
--   </ul>
achievementResetResponse :: AchievementResetResponse

-- | Flag to indicate if the requested update actually occurred.
arrUpdateOccurred :: Lens' AchievementResetResponse (Maybe Bool)

-- | Uniquely identifies the type of this resource. Value is always the
--   fixed string gamesManagement#achievementResetResponse.
arrKind :: Lens' AchievementResetResponse Text

-- | The current state of the achievement. This is the same as the initial
--   state of the achievement. Possible values are: - "HIDDEN"- Achievement
--   is hidden. - "REVEALED" - Achievement is revealed. - "UNLOCKED" -
--   Achievement is unlocked.
arrCurrentState :: Lens' AchievementResetResponse (Maybe Text)

-- | The ID of an achievement for which player state has been updated.
arrDefinitionId :: Lens' AchievementResetResponse (Maybe Text)
