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


-- | Google + SDK.
--   
--   Builds on top of the Google+ platform.
--   
--   <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>v1</tt> of the API.
@package gogol-plus
@version 0.3.0


module Network.Google.Plus.Types

-- | Default request referring to version <tt>v1</tt> of the Google+ API.
--   This contains the host and root path used as a starting point for
--   constructing service requests.
plusService :: ServiceConfig

-- | View your basic profile info
userInfoProFileScope :: Proxy '["https://www.googleapis.com/auth/userinfo.profile"]

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

-- | View your email address
userInfoEmailScope :: Proxy '["https://www.googleapis.com/auth/userinfo.email"]

-- | Know who you are on Google
plusMeScope :: Proxy '["https://www.googleapis.com/auth/plus.me"]

-- | The service provider that initially published this activity.
--   
--   <i>See:</i> <a>activityProvider</a> smart constructor.
data ActivityProvider

-- | Creates a value of <a>ActivityProvider</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>apTitle</a></li>
--   </ul>
activityProvider :: ActivityProvider

-- | Name of the service provider.
apTitle :: Lens' ActivityProvider (Maybe Text)

-- | If the attachment is a video, the embeddable link.
--   
--   <i>See:</i> <a>activityObjectAttachmentsItemEmbed</a> smart
--   constructor.
data ActivityObjectAttachmentsItemEmbed

-- | Creates a value of <a>ActivityObjectAttachmentsItemEmbed</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>aoaieURL</a></li>
--   <li><a>aoaieType</a></li>
--   </ul>
activityObjectAttachmentsItemEmbed :: ActivityObjectAttachmentsItemEmbed

-- | URL of the link.
aoaieURL :: Lens' ActivityObjectAttachmentsItemEmbed (Maybe Text)

-- | Media type of the link.
aoaieType :: Lens' ActivityObjectAttachmentsItemEmbed (Maybe Text)

-- | People who +1'd this comment.
--   
--   <i>See:</i> <a>commentPlusoners</a> smart constructor.
data CommentPlusoners

-- | Creates a value of <a>CommentPlusoners</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>cpTotalItems</a></li>
--   </ul>
commentPlusoners :: CommentPlusoners

-- | Total number of people who +1'd this comment.
cpTotalItems :: Lens' CommentPlusoners (Maybe Word32)

-- | Actor info specific to particular clients.
--   
--   <i>See:</i> <a>commentActorClientSpecificActorInfo</a> smart
--   constructor.
data CommentActorClientSpecificActorInfo

-- | Creates a value of <a>CommentActorClientSpecificActorInfo</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>cacsaiYouTubeActorInfo</a></li>
--   </ul>
commentActorClientSpecificActorInfo :: CommentActorClientSpecificActorInfo

-- | Actor info specific to YouTube clients.
cacsaiYouTubeActorInfo :: Lens' CommentActorClientSpecificActorInfo (Maybe CommentActorClientSpecificActorInfoYouTubeActorInfo)

-- | Actor info specific to YouTube clients.
--   
--   <i>See:</i>
--   <a>activityObjectActorClientSpecificActorInfoYouTubeActorInfo</a>
--   smart constructor.
data ActivityObjectActorClientSpecificActorInfoYouTubeActorInfo

-- | Creates a value of
--   <a>ActivityObjectActorClientSpecificActorInfoYouTubeActorInfo</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>aoacsaiytaiChannelId</a></li>
--   </ul>
activityObjectActorClientSpecificActorInfoYouTubeActorInfo :: ActivityObjectActorClientSpecificActorInfoYouTubeActorInfo

-- | ID of the YouTube channel owned by the Actor.
aoacsaiytaiChannelId :: Lens' ActivityObjectActorClientSpecificActorInfoYouTubeActorInfo (Maybe Text)

-- | People who +1'd this activity.
--   
--   <i>See:</i> <a>activityObjectPlusoners</a> smart constructor.
data ActivityObjectPlusoners

-- | Creates a value of <a>ActivityObjectPlusoners</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>aopTotalItems</a></li>
--   <li><a>aopSelfLink</a></li>
--   </ul>
activityObjectPlusoners :: ActivityObjectPlusoners

-- | Total number of people who +1'd this activity.
aopTotalItems :: Lens' ActivityObjectPlusoners (Maybe Word32)

-- | The URL for the collection of people who +1'd this activity.
aopSelfLink :: Lens' ActivityObjectPlusoners (Maybe Text)
data PersonEmailsItem

-- | Creates a value of <a>PersonEmailsItem</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>peiValue</a></li>
--   <li><a>peiType</a></li>
--   </ul>
personEmailsItem :: PersonEmailsItem

-- | The email address.
peiValue :: Lens' PersonEmailsItem (Maybe Text)

-- | The type of address. Possible values include, but are not limited to,
--   the following values: - "account" - Google account email address. -
--   "home" - Home email address. - "work" - Work email address. - "other"
--   - Other.
peiType :: Lens' PersonEmailsItem (Maybe Text)

-- | The image representation of this actor.
--   
--   <i>See:</i> <a>commentActorImage</a> smart constructor.
data CommentActorImage

-- | Creates a value of <a>CommentActorImage</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>caiURL</a></li>
--   </ul>
commentActorImage :: CommentActorImage

-- | The URL of the actor's profile photo. To resize the image and crop it
--   to a square, append the query string ?sz=x, where x is the dimension
--   in pixels of each side.
caiURL :: Lens' CommentActorImage (Maybe Text)

-- | Image resource.
--   
--   <i>See:</i> <a>activityObjectAttachmentsItemThumbnailsItemImage</a>
--   smart constructor.
data ActivityObjectAttachmentsItemThumbnailsItemImage

-- | Creates a value of
--   <a>ActivityObjectAttachmentsItemThumbnailsItemImage</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>aoaitiiHeight</a></li>
--   <li><a>aoaitiiURL</a></li>
--   <li><a>aoaitiiWidth</a></li>
--   <li><a>aoaitiiType</a></li>
--   </ul>
activityObjectAttachmentsItemThumbnailsItemImage :: ActivityObjectAttachmentsItemThumbnailsItemImage

-- | The height, in pixels, of the linked resource.
aoaitiiHeight :: Lens' ActivityObjectAttachmentsItemThumbnailsItemImage (Maybe Word32)

-- | Image url.
aoaitiiURL :: Lens' ActivityObjectAttachmentsItemThumbnailsItemImage (Maybe Text)

-- | The width, in pixels, of the linked resource.
aoaitiiWidth :: Lens' ActivityObjectAttachmentsItemThumbnailsItemImage (Maybe Word32)

-- | Media type of the link.
aoaitiiType :: Lens' ActivityObjectAttachmentsItemThumbnailsItemImage (Maybe Text)

-- | The position of the place.
--   
--   <i>See:</i> <a>placePosition</a> smart constructor.
data PlacePosition

-- | Creates a value of <a>PlacePosition</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>ppLatitude</a></li>
--   <li><a>ppLongitude</a></li>
--   </ul>
placePosition :: PlacePosition

-- | The latitude of this position.
ppLatitude :: Lens' PlacePosition (Maybe Double)

-- | The longitude of this position.
ppLongitude :: Lens' PlacePosition (Maybe Double)
data PersonPlacesLivedItem

-- | Creates a value of <a>PersonPlacesLivedItem</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>ppliValue</a></li>
--   <li><a>ppliPrimary</a></li>
--   </ul>
personPlacesLivedItem :: PersonPlacesLivedItem

-- | A place where this person has lived. For example: "Seattle, WA", "Near
--   Toronto".
ppliValue :: Lens' PersonPlacesLivedItem (Maybe Text)

-- | If "true", this place of residence is this person's primary residence.
ppliPrimary :: Lens' PersonPlacesLivedItem (Maybe Bool)

-- | Actor info specific to particular clients.
--   
--   <i>See:</i> <a>activityActorClientSpecificActorInfo</a> smart
--   constructor.
data ActivityActorClientSpecificActorInfo

-- | Creates a value of <a>ActivityActorClientSpecificActorInfo</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>aacsaiYouTubeActorInfo</a></li>
--   </ul>
activityActorClientSpecificActorInfo :: ActivityActorClientSpecificActorInfo

-- | Actor info specific to YouTube clients.
aacsaiYouTubeActorInfo :: Lens' ActivityActorClientSpecificActorInfo (Maybe ActivityActorClientSpecificActorInfoYouTubeActorInfo)
data Person

-- | Creates a value of <a>Person</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>pCurrentLocation</a></li>
--   <li><a>pAgeRange</a></li>
--   <li><a>pEtag</a></li>
--   <li><a>pImage</a></li>
--   <li><a>pBraggingRights</a></li>
--   <li><a>pPlacesLived</a></li>
--   <li><a>pPlusOneCount</a></li>
--   <li><a>pObjectType</a></li>
--   <li><a>pCover</a></li>
--   <li><a>pKind</a></li>
--   <li><a>pRelationshipStatus</a></li>
--   <li><a>pURLs</a></li>
--   <li><a>pDomain</a></li>
--   <li><a>pURL</a></li>
--   <li><a>pVerified</a></li>
--   <li><a>pBirthday</a></li>
--   <li><a>pIsPlusUser</a></li>
--   <li><a>pTagline</a></li>
--   <li><a>pGender</a></li>
--   <li><a>pName</a></li>
--   <li><a>pEmails</a></li>
--   <li><a>pOccupation</a></li>
--   <li><a>pSkills</a></li>
--   <li><a>pLanguage</a></li>
--   <li><a>pAboutMe</a></li>
--   <li><a>pDisplayName</a></li>
--   <li><a>pId</a></li>
--   <li><a>pNickname</a></li>
--   <li><a>pOrganizations</a></li>
--   <li><a>pCircledByCount</a></li>
--   </ul>
person :: Person

-- | (this field is not currently used)
pCurrentLocation :: Lens' Person (Maybe Text)

-- | The age range of the person. Valid ranges are 17 or younger, 18 to 20,
--   and 21 or older. Age is determined from the user's birthday using
--   Western age reckoning.
pAgeRange :: Lens' Person (Maybe PersonAgeRange)

-- | ETag of this response for caching purposes.
pEtag :: Lens' Person (Maybe Text)

-- | The representation of the person's profile photo.
pImage :: Lens' Person (Maybe PersonImage)

-- | The "bragging rights" line of this person.
pBraggingRights :: Lens' Person (Maybe Text)

-- | A list of places where this person has lived.
pPlacesLived :: Lens' Person [PersonPlacesLivedItem]

-- | If a Google+ Page, the number of people who have +1'd this page.
pPlusOneCount :: Lens' Person (Maybe Int32)

-- | Type of person within Google+. Possible values include, but are not
--   limited to, the following values: - "person" - represents an actual
--   person. - "page" - represents a page.
pObjectType :: Lens' Person (Maybe Text)

-- | The cover photo content.
pCover :: Lens' Person (Maybe PersonCover)

-- | Identifies this resource as a person. Value: "plus#person".
pKind :: Lens' Person Text

-- | The person's relationship status. Possible values include, but are not
--   limited to, the following values: - "single" - Person is single. -
--   "in_a_relationship" - Person is in a relationship. - "engaged" -
--   Person is engaged. - "married" - Person is married. -
--   "its_complicated" - The relationship is complicated. -
--   "open_relationship" - Person is in an open relationship. - "widowed" -
--   Person is widowed. - "in_domestic_partnership" - Person is in a
--   domestic partnership. - "in_civil_union" - Person is in a civil union.
pRelationshipStatus :: Lens' Person (Maybe Text)

-- | A list of URLs for this person.
pURLs :: Lens' Person [PersonURLsItem]

-- | The hosted domain name for the user's Google Apps account. For
--   instance, example.com. The plus.profile.emails.read or email scope is
--   needed to get this domain name.
pDomain :: Lens' Person (Maybe Text)

-- | The URL of this person's profile.
pURL :: Lens' Person (Maybe Text)

-- | Whether the person or Google+ Page has been verified.
pVerified :: Lens' Person (Maybe Bool)

-- | The person's date of birth, represented as YYYY-MM-DD.
pBirthday :: Lens' Person (Maybe Text)

-- | Whether this user has signed up for Google+.
pIsPlusUser :: Lens' Person (Maybe Bool)

-- | The brief description (tagline) of this person.
pTagline :: Lens' Person (Maybe Text)

-- | The person's gender. Possible values include, but are not limited to,
--   the following values: - "male" - Male gender. - "female" - Female
--   gender. - "other" - Other.
pGender :: Lens' Person (Maybe Text)

-- | An object representation of the individual components of a person's
--   name.
pName :: Lens' Person (Maybe PersonName)

-- | A list of email addresses that this person has, including their Google
--   account email address, and the public verified email addresses on
--   their Google+ profile. The plus.profile.emails.read scope is needed to
--   retrieve these email addresses, or the email scope can be used to
--   retrieve just the Google account email address.
pEmails :: Lens' Person [PersonEmailsItem]

-- | The occupation of this person.
pOccupation :: Lens' Person (Maybe Text)

-- | The person's skills.
pSkills :: Lens' Person (Maybe Text)

-- | The user's preferred language for rendering.
pLanguage :: Lens' Person (Maybe Text)

-- | A short biography for this person.
pAboutMe :: Lens' Person (Maybe Text)

-- | The name of this person, which is suitable for display.
pDisplayName :: Lens' Person (Maybe Text)

-- | The ID of this person.
pId :: Lens' Person (Maybe Text)

-- | The nickname of this person.
pNickname :: Lens' Person (Maybe Text)

-- | A list of current or past organizations with which this person is
--   associated.
pOrganizations :: Lens' Person [PersonOrganizationsItem]

-- | For followers who are visible, the number of people who have added
--   this person or page to a circle.
pCircledByCount :: Lens' Person (Maybe Int32)

-- | The preview image for photos or videos.
--   
--   <i>See:</i> <a>activityObjectAttachmentsItemImage</a> smart
--   constructor.
data ActivityObjectAttachmentsItemImage

-- | Creates a value of <a>ActivityObjectAttachmentsItemImage</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>aoaiiHeight</a></li>
--   <li><a>aoaiiURL</a></li>
--   <li><a>aoaiiWidth</a></li>
--   <li><a>aoaiiType</a></li>
--   </ul>
activityObjectAttachmentsItemImage :: ActivityObjectAttachmentsItemImage

-- | The height, in pixels, of the linked resource.
aoaiiHeight :: Lens' ActivityObjectAttachmentsItemImage (Maybe Word32)

-- | Image URL.
aoaiiURL :: Lens' ActivityObjectAttachmentsItemImage (Maybe Text)

-- | The width, in pixels, of the linked resource.
aoaiiWidth :: Lens' ActivityObjectAttachmentsItemImage (Maybe Word32)

-- | Media type of the link.
aoaiiType :: Lens' ActivityObjectAttachmentsItemImage (Maybe Text)

-- | The person who posted this comment.
--   
--   <i>See:</i> <a>commentActor</a> smart constructor.
data CommentActor

-- | Creates a value of <a>CommentActor</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>caClientSpecificActorInfo</a></li>
--   <li><a>caImage</a></li>
--   <li><a>caURL</a></li>
--   <li><a>caDisplayName</a></li>
--   <li><a>caId</a></li>
--   <li><a>caVerification</a></li>
--   </ul>
commentActor :: CommentActor

-- | Actor info specific to particular clients.
caClientSpecificActorInfo :: Lens' CommentActor (Maybe CommentActorClientSpecificActorInfo)

-- | The image representation of this actor.
caImage :: Lens' CommentActor (Maybe CommentActorImage)

-- | A link to the Person resource for this actor.
caURL :: Lens' CommentActor (Maybe Text)

-- | The name of this actor, suitable for display.
caDisplayName :: Lens' CommentActor (Maybe Text)

-- | The ID of the actor.
caId :: Lens' CommentActor (Maybe Text)

-- | Verification status of actor.
caVerification :: Lens' CommentActor (Maybe CommentActorVerification)

-- | The object of this activity.
--   
--   <i>See:</i> <a>activityObject</a> smart constructor.
data ActivityObject

-- | Creates a value of <a>ActivityObject</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>aoPlusoners</a></li>
--   <li><a>aoAttachments</a></li>
--   <li><a>aoObjectType</a></li>
--   <li><a>aoOriginalContent</a></li>
--   <li><a>aoURL</a></li>
--   <li><a>aoActor</a></li>
--   <li><a>aoContent</a></li>
--   <li><a>aoReplies</a></li>
--   <li><a>aoId</a></li>
--   <li><a>aoResharers</a></li>
--   </ul>
activityObject :: ActivityObject

-- | People who +1'd this activity.
aoPlusoners :: Lens' ActivityObject (Maybe ActivityObjectPlusoners)

-- | The media objects attached to this activity.
aoAttachments :: Lens' ActivityObject [ActivityObjectAttachmentsItem]

-- | The type of the object. Possible values include, but are not limited
--   to, the following values: - "note" - Textual content. - "activity" - A
--   Google+ activity.
aoObjectType :: Lens' ActivityObject (Maybe Text)

-- | The content (text) as provided by the author, which is stored without
--   any HTML formatting. When creating or updating an activity, this value
--   must be supplied as plain text in the request.
aoOriginalContent :: Lens' ActivityObject (Maybe Text)

-- | The URL that points to the linked resource.
aoURL :: Lens' ActivityObject (Maybe Text)

-- | If this activity's object is itself another activity, such as when a
--   person reshares an activity, this property specifies the original
--   activity's actor.
aoActor :: Lens' ActivityObject (Maybe ActivityObjectActor)

-- | The HTML-formatted content, which is suitable for display.
aoContent :: Lens' ActivityObject (Maybe Text)

-- | Comments in reply to this activity.
aoReplies :: Lens' ActivityObject (Maybe ActivityObjectReplies)

-- | The ID of the object. When resharing an activity, this is the ID of
--   the activity that is being reshared.
aoId :: Lens' ActivityObject (Maybe Text)

-- | People who reshared this activity.
aoResharers :: Lens' ActivityObject (Maybe ActivityObjectResharers)

-- | If this activity's object is itself another activity, such as when a
--   person reshares an activity, this property specifies the original
--   activity's actor.
--   
--   <i>See:</i> <a>activityObjectActor</a> smart constructor.
data ActivityObjectActor

-- | Creates a value of <a>ActivityObjectActor</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>aoaClientSpecificActorInfo</a></li>
--   <li><a>aoaImage</a></li>
--   <li><a>aoaURL</a></li>
--   <li><a>aoaDisplayName</a></li>
--   <li><a>aoaId</a></li>
--   <li><a>aoaVerification</a></li>
--   </ul>
activityObjectActor :: ActivityObjectActor

-- | Actor info specific to particular clients.
aoaClientSpecificActorInfo :: Lens' ActivityObjectActor (Maybe ActivityObjectActorClientSpecificActorInfo)

-- | The image representation of the original actor.
aoaImage :: Lens' ActivityObjectActor (Maybe ActivityObjectActorImage)

-- | A link to the original actor's Google profile.
aoaURL :: Lens' ActivityObjectActor (Maybe Text)

-- | The original actor's name, which is suitable for display.
aoaDisplayName :: Lens' ActivityObjectActor (Maybe Text)

-- | ID of the original actor.
aoaId :: Lens' ActivityObjectActor (Maybe Text)

-- | Verification status of actor.
aoaVerification :: Lens' ActivityObjectActor (Maybe ActivityObjectActorVerification)

-- | The full image URL for photo attachments.
--   
--   <i>See:</i> <a>activityObjectAttachmentsItemFullImage</a> smart
--   constructor.
data ActivityObjectAttachmentsItemFullImage

-- | Creates a value of <a>ActivityObjectAttachmentsItemFullImage</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>aoaifiHeight</a></li>
--   <li><a>aoaifiURL</a></li>
--   <li><a>aoaifiWidth</a></li>
--   <li><a>aoaifiType</a></li>
--   </ul>
activityObjectAttachmentsItemFullImage :: ActivityObjectAttachmentsItemFullImage

-- | The height, in pixels, of the linked resource.
aoaifiHeight :: Lens' ActivityObjectAttachmentsItemFullImage (Maybe Word32)

-- | URL of the image.
aoaifiURL :: Lens' ActivityObjectAttachmentsItemFullImage (Maybe Text)

-- | The width, in pixels, of the linked resource.
aoaifiWidth :: Lens' ActivityObjectAttachmentsItemFullImage (Maybe Word32)

-- | Media type of the link.
aoaifiType :: Lens' ActivityObjectAttachmentsItemFullImage (Maybe Text)

-- | The collection of people to list.
data PeopleListByActivityCollection

-- | <tt>plusoners</tt> List all people who have +1'd this activity.
Plusoners :: PeopleListByActivityCollection

-- | <tt>resharers</tt> List all people who have reshared this activity.
Resharers :: PeopleListByActivityCollection

-- | The image representation of the actor.
--   
--   <i>See:</i> <a>activityActorImage</a> smart constructor.
data ActivityActorImage

-- | Creates a value of <a>ActivityActorImage</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>aaiURL</a></li>
--   </ul>
activityActorImage :: ActivityActorImage

-- | The URL of the actor's profile photo. To resize the image and crop it
--   to a square, append the query string ?sz=x, where x is the dimension
--   in pixels of each side.
aaiURL :: Lens' ActivityActorImage (Maybe Text)
data PeopleFeed

-- | Creates a value of <a>PeopleFeed</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>pfTotalItems</a></li>
--   <li><a>pfEtag</a></li>
--   <li><a>pfNextPageToken</a></li>
--   <li><a>pfKind</a></li>
--   <li><a>pfItems</a></li>
--   <li><a>pfSelfLink</a></li>
--   <li><a>pfTitle</a></li>
--   </ul>
peopleFeed :: PeopleFeed

-- | The total number of people available in this list. The number of
--   people in a response might be smaller due to paging. This might not be
--   set for all collections.
pfTotalItems :: Lens' PeopleFeed (Maybe Int32)

-- | ETag of this response for caching purposes.
pfEtag :: Lens' PeopleFeed (Maybe Text)

-- | The continuation token, which is used to page through large result
--   sets. Provide this value in a subsequent request to return the next
--   page of results.
pfNextPageToken :: Lens' PeopleFeed (Maybe Text)

-- | Identifies this resource as a collection of people. Value:
--   "plus#peopleFeed".
pfKind :: Lens' PeopleFeed Text

-- | The people in this page of results. Each item includes the id,
--   displayName, image, and url for the person. To retrieve additional
--   profile data, see the people.get method.
pfItems :: Lens' PeopleFeed [Person]

-- | Link to this resource.
pfSelfLink :: Lens' PeopleFeed (Maybe Text)

-- | The title of this collection of people.
pfTitle :: Lens' PeopleFeed (Maybe Text)

-- | The person's primary cover image.
--   
--   <i>See:</i> <a>personCoverCoverPhoto</a> smart constructor.
data PersonCoverCoverPhoto

-- | Creates a value of <a>PersonCoverCoverPhoto</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>pccpHeight</a></li>
--   <li><a>pccpURL</a></li>
--   <li><a>pccpWidth</a></li>
--   </ul>
personCoverCoverPhoto :: PersonCoverCoverPhoto

-- | The height of the image.
pccpHeight :: Lens' PersonCoverCoverPhoto (Maybe Int32)

-- | The URL of the image.
pccpURL :: Lens' PersonCoverCoverPhoto (Maybe Text)

-- | The width of the image.
pccpWidth :: Lens' PersonCoverCoverPhoto (Maybe Int32)

-- | The age range of the person. Valid ranges are 17 or younger, 18 to 20,
--   and 21 or older. Age is determined from the user's birthday using
--   Western age reckoning.
--   
--   <i>See:</i> <a>personAgeRange</a> smart constructor.
data PersonAgeRange

-- | Creates a value of <a>PersonAgeRange</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>parMax</a></li>
--   <li><a>parMin</a></li>
--   </ul>
personAgeRange :: PersonAgeRange

-- | The age range's upper bound, if any. Possible values include, but are
--   not limited to, the following: - "17" - for age 17 - "20" - for age 20
parMax :: Lens' PersonAgeRange (Maybe Int32)

-- | The age range's lower bound, if any. Possible values include, but are
--   not limited to, the following: - "21" - for age 21 - "18" - for age 18
parMin :: Lens' PersonAgeRange (Maybe Int32)

-- | The image representation of the original actor.
--   
--   <i>See:</i> <a>activityObjectActorImage</a> smart constructor.
data ActivityObjectActorImage

-- | Creates a value of <a>ActivityObjectActorImage</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>aoaiURL</a></li>
--   </ul>
activityObjectActorImage :: ActivityObjectActorImage

-- | A URL that points to a thumbnail photo of the original actor.
aoaiURL :: Lens' ActivityObjectActorImage (Maybe Text)

-- | Actor info specific to YouTube clients.
--   
--   <i>See:</i> <a>commentActorClientSpecificActorInfoYouTubeActorInfo</a>
--   smart constructor.
data CommentActorClientSpecificActorInfoYouTubeActorInfo

-- | Creates a value of
--   <a>CommentActorClientSpecificActorInfoYouTubeActorInfo</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>cacsaiytaiChannelId</a></li>
--   </ul>
commentActorClientSpecificActorInfoYouTubeActorInfo :: CommentActorClientSpecificActorInfoYouTubeActorInfo

-- | ID of the YouTube channel owned by the Actor.
cacsaiytaiChannelId :: Lens' CommentActorClientSpecificActorInfoYouTubeActorInfo (Maybe Text)

-- | The order to return people in.
data PeopleListOrderBy

-- | <tt>alphabetical</tt> Order the people by their display name.
Alphabetical :: PeopleListOrderBy

-- | <tt>best</tt> Order people based on the relevence to the viewer.
Best :: PeopleListOrderBy

-- | Comments in reply to this activity.
--   
--   <i>See:</i> <a>activityObjectReplies</a> smart constructor.
data ActivityObjectReplies

-- | Creates a value of <a>ActivityObjectReplies</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>aorTotalItems</a></li>
--   <li><a>aorSelfLink</a></li>
--   </ul>
activityObjectReplies :: ActivityObjectReplies

-- | Total number of comments on this activity.
aorTotalItems :: Lens' ActivityObjectReplies (Maybe Word32)

-- | The URL for the collection of comments in reply to this activity.
aorSelfLink :: Lens' ActivityObjectReplies (Maybe Text)

-- | The collection of activities to list.
data ActivitiesListCollection

-- | <tt>public</tt> All public activities created by the specified user.
Public :: ActivitiesListCollection

-- | Verification status of actor.
--   
--   <i>See:</i> <a>activityActorVerification</a> smart constructor.
data ActivityActorVerification

-- | Creates a value of <a>ActivityActorVerification</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>aavAdHocVerified</a></li>
--   </ul>
activityActorVerification :: ActivityActorVerification

-- | Verification for one-time or manual processes.
aavAdHocVerified :: Lens' ActivityActorVerification (Maybe Text)

-- | Actor info specific to particular clients.
--   
--   <i>See:</i> <a>activityObjectActorClientSpecificActorInfo</a> smart
--   constructor.
data ActivityObjectActorClientSpecificActorInfo

-- | Creates a value of <a>ActivityObjectActorClientSpecificActorInfo</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>aoacsaiYouTubeActorInfo</a></li>
--   </ul>
activityObjectActorClientSpecificActorInfo :: ActivityObjectActorClientSpecificActorInfo

-- | Actor info specific to YouTube clients.
aoacsaiYouTubeActorInfo :: Lens' ActivityObjectActorClientSpecificActorInfo (Maybe ActivityObjectActorClientSpecificActorInfoYouTubeActorInfo)

-- | The collection of people to list.
data PeopleListCollection

-- | <tt>connected</tt> The list of visible people in the authenticated
--   user's circles who also use the requesting app. This list is limited
--   to users who made their app activities visible to the authenticated
--   user.
Connected :: PeopleListCollection

-- | <tt>visible</tt> The list of people who this user has added to one or
--   more circles, limited to the circles visible to the requesting
--   application.
Visible :: PeopleListCollection
data ActivityObjectAttachmentsItem

-- | Creates a value of <a>ActivityObjectAttachmentsItem</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>aFullImage</a></li>
--   <li><a>aImage</a></li>
--   <li><a>aObjectType</a></li>
--   <li><a>aURL</a></li>
--   <li><a>aEmbed</a></li>
--   <li><a>aContent</a></li>
--   <li><a>aThumbnails</a></li>
--   <li><a>aDisplayName</a></li>
--   <li><a>aId</a></li>
--   </ul>
activityObjectAttachmentsItem :: ActivityObjectAttachmentsItem

-- | The full image URL for photo attachments.
aFullImage :: Lens' ActivityObjectAttachmentsItem (Maybe ActivityObjectAttachmentsItemFullImage)

-- | The preview image for photos or videos.
aImage :: Lens' ActivityObjectAttachmentsItem (Maybe ActivityObjectAttachmentsItemImage)

-- | The type of media object. Possible values include, but are not limited
--   to, the following values: - "photo" - A photo. - "album" - A photo
--   album. - "video" - A video. - "article" - An article, specified by a
--   link.
aObjectType :: Lens' ActivityObjectAttachmentsItem (Maybe Text)

-- | The link to the attachment, which should be of type text/html.
aURL :: Lens' ActivityObjectAttachmentsItem (Maybe Text)

-- | If the attachment is a video, the embeddable link.
aEmbed :: Lens' ActivityObjectAttachmentsItem (Maybe ActivityObjectAttachmentsItemEmbed)

-- | If the attachment is an article, this property contains a snippet of
--   text from the article. It can also include descriptions for other
--   types.
aContent :: Lens' ActivityObjectAttachmentsItem (Maybe Text)

-- | If the attachment is an album, this property is a list of potential
--   additional thumbnails from the album.
aThumbnails :: Lens' ActivityObjectAttachmentsItem [ActivityObjectAttachmentsItemThumbnailsItem]

-- | The title of the attachment, such as a photo caption or an article
--   title.
aDisplayName :: Lens' ActivityObjectAttachmentsItem (Maybe Text)

-- | The ID of the attachment.
aId :: Lens' ActivityObjectAttachmentsItem (Maybe Text)
data ActivityFeed

-- | Creates a value of <a>ActivityFeed</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>afEtag</a></li>
--   <li><a>afNextPageToken</a></li>
--   <li><a>afNextLink</a></li>
--   <li><a>afKind</a></li>
--   <li><a>afItems</a></li>
--   <li><a>afSelfLink</a></li>
--   <li><a>afId</a></li>
--   <li><a>afUpdated</a></li>
--   <li><a>afTitle</a></li>
--   </ul>
activityFeed :: ActivityFeed

-- | ETag of this response for caching purposes.
afEtag :: Lens' ActivityFeed (Maybe Text)

-- | The continuation token, which is used to page through large result
--   sets. Provide this value in a subsequent request to return the next
--   page of results.
afNextPageToken :: Lens' ActivityFeed (Maybe Text)

-- | Link to the next page of activities.
afNextLink :: Lens' ActivityFeed (Maybe Text)

-- | Identifies this resource as a collection of activities. Value:
--   "plus#activityFeed".
afKind :: Lens' ActivityFeed Text

-- | The activities in this page of results.
afItems :: Lens' ActivityFeed [Activity]

-- | Link to this activity resource.
afSelfLink :: Lens' ActivityFeed (Maybe Text)

-- | The ID of this collection of activities. Deprecated.
afId :: Lens' ActivityFeed (Maybe Text)

-- | The time at which this collection of activities was last updated.
--   Formatted as an RFC 3339 timestamp.
afUpdated :: Lens' ActivityFeed (Maybe UTCTime)

-- | The title of this collection of activities, which is a truncated
--   portion of the content.
afTitle :: Lens' ActivityFeed (Maybe Text)

-- | Verification status of actor.
--   
--   <i>See:</i> <a>activityObjectActorVerification</a> smart constructor.
data ActivityObjectActorVerification

-- | Creates a value of <a>ActivityObjectActorVerification</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>aoavAdHocVerified</a></li>
--   </ul>
activityObjectActorVerification :: ActivityObjectActorVerification

-- | Verification for one-time or manual processes.
aoavAdHocVerified :: Lens' ActivityObjectActorVerification (Maybe Text)

-- | An object representation of the individual components of a person's
--   name.
--   
--   <i>See:</i> <a>personName</a> smart constructor.
data PersonName

-- | Creates a value of <a>PersonName</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>pnMiddleName</a></li>
--   <li><a>pnFormatted</a></li>
--   <li><a>pnHonorificPrefix</a></li>
--   <li><a>pnFamilyName</a></li>
--   <li><a>pnHonorificSuffix</a></li>
--   </ul>
personName :: PersonName

-- | The given name (first name) of this person.
pnGivenName :: Lens' PersonName (Maybe Text)

-- | The middle name of this person.
pnMiddleName :: Lens' PersonName (Maybe Text)

-- | The full name of this person, including middle names, suffixes, etc.
pnFormatted :: Lens' PersonName (Maybe Text)

-- | The honorific prefixes (such as "Dr." or "Mrs.") for this person.
pnHonorificPrefix :: Lens' PersonName (Maybe Text)

-- | The family name (last name) of this person.
pnFamilyName :: Lens' PersonName (Maybe Text)

-- | The honorific suffixes (such as "Jr.") for this person.
pnHonorificSuffix :: Lens' PersonName (Maybe Text)

-- | The representation of the person's profile photo.
--   
--   <i>See:</i> <a>personImage</a> smart constructor.
data PersonImage

-- | Creates a value of <a>PersonImage</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>piURL</a></li>
--   <li><a>piIsDefault</a></li>
--   </ul>
personImage :: PersonImage

-- | The URL of the person's profile photo. To resize the image and crop it
--   to a square, append the query string ?sz=x, where x is the dimension
--   in pixels of each side.
piURL :: Lens' PersonImage (Maybe Text)

-- | Whether the person's profile photo is the default one
piIsDefault :: Lens' PersonImage (Maybe Bool)

-- | Actor info specific to YouTube clients.
--   
--   <i>See:</i>
--   <a>activityActorClientSpecificActorInfoYouTubeActorInfo</a> smart
--   constructor.
data ActivityActorClientSpecificActorInfoYouTubeActorInfo

-- | Creates a value of
--   <a>ActivityActorClientSpecificActorInfoYouTubeActorInfo</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>aacsaiytaiChannelId</a></li>
--   </ul>
activityActorClientSpecificActorInfoYouTubeActorInfo :: ActivityActorClientSpecificActorInfoYouTubeActorInfo

-- | ID of the YouTube channel owned by the Actor.
aacsaiytaiChannelId :: Lens' ActivityActorClientSpecificActorInfoYouTubeActorInfo (Maybe Text)
data PlusACLentryResource

-- | Creates a value of <a>PlusACLentryResource</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>parDisplayName</a></li>
--   <li><a>parId</a></li>
--   <li><a>parType</a></li>
--   </ul>
plusACLentryResource :: PlusACLentryResource

-- | A descriptive name for this entry. Suitable for display.
parDisplayName :: Lens' PlusACLentryResource (Maybe Text)

-- | The ID of the entry. For entries of type "person" or "circle", this is
--   the ID of the resource. For other types, this property is not set.
parId :: Lens' PlusACLentryResource (Maybe Text)

-- | The type of entry describing to whom access is granted. Possible
--   values are: - "person" - Access to an individual. - "circle" - Access
--   to members of a circle. - "myCircles" - Access to members of all the
--   person's circles. - "extendedCircles" - Access to members of all the
--   person's circles, plus all of the people in their circles. - "domain"
--   - Access to members of the person's Google Apps domain. - "public" -
--   Access to anyone on the web.
parType :: Lens' PlusACLentryResource (Maybe Text)
data Activity

-- | Creates a value of <a>Activity</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>actAccess</a></li>
--   <li><a>actPlaceName</a></li>
--   <li><a>actEtag</a></li>
--   <li><a>actAnnotation</a></li>
--   <li><a>actLocation</a></li>
--   <li><a>actGeocode</a></li>
--   <li><a>actKind</a></li>
--   <li><a>actRadius</a></li>
--   <li><a>actPublished</a></li>
--   <li><a>actURL</a></li>
--   <li><a>actActor</a></li>
--   <li><a>actAddress</a></li>
--   <li><a>actObject</a></li>
--   <li><a>actId</a></li>
--   <li><a>actUpdated</a></li>
--   <li><a>actTitle</a></li>
--   <li><a>actVerb</a></li>
--   <li><a>actCrosspostSource</a></li>
--   <li><a>actPlaceId</a></li>
--   <li><a>actProvider</a></li>
--   </ul>
activity :: Activity

-- | Identifies who has access to see this activity.
actAccess :: Lens' Activity (Maybe ACL)

-- | Name of the place where this activity occurred.
actPlaceName :: Lens' Activity (Maybe Text)

-- | ETag of this response for caching purposes.
actEtag :: Lens' Activity (Maybe Text)

-- | Additional content added by the person who shared this activity,
--   applicable only when resharing an activity.
actAnnotation :: Lens' Activity (Maybe Text)

-- | The location where this activity occurred.
actLocation :: Lens' Activity (Maybe Place)

-- | Latitude and longitude where this activity occurred. Format is
--   latitude followed by longitude, space separated.
actGeocode :: Lens' Activity (Maybe Text)

-- | Identifies this resource as an activity. Value: "plus#activity".
actKind :: Lens' Activity Text

-- | Radius, in meters, of the region where this activity occurred,
--   centered at the latitude and longitude identified in geocode.
actRadius :: Lens' Activity (Maybe Text)

-- | The time at which this activity was initially published. Formatted as
--   an RFC 3339 timestamp.
actPublished :: Lens' Activity (Maybe UTCTime)

-- | The link to this activity.
actURL :: Lens' Activity (Maybe Text)

-- | The person who performed this activity.
actActor :: Lens' Activity (Maybe ActivityActor)

-- | Street address where this activity occurred.
actAddress :: Lens' Activity (Maybe Text)

-- | The object of this activity.
actObject :: Lens' Activity (Maybe ActivityObject)

-- | The ID of this activity.
actId :: Lens' Activity (Maybe Text)

-- | The time at which this activity was last updated. Formatted as an RFC
--   3339 timestamp.
actUpdated :: Lens' Activity (Maybe UTCTime)

-- | Title of this activity.
actTitle :: Lens' Activity (Maybe Text)

-- | This activity's verb, which indicates the action that was performed.
--   Possible values include, but are not limited to, the following values:
--   - "post" - Publish content to the stream. - "share" - Reshare an
--   activity.
actVerb :: Lens' Activity (Maybe Text)

-- | If this activity is a crosspost from another system, this property
--   specifies the ID of the original activity.
actCrosspostSource :: Lens' Activity (Maybe Text)

-- | ID of the place where this activity occurred.
actPlaceId :: Lens' Activity (Maybe Text)

-- | The service provider that initially published this activity.
actProvider :: Lens' Activity (Maybe ActivityProvider)

-- | The physical address of the place.
--   
--   <i>See:</i> <a>placeAddress</a> smart constructor.
data PlaceAddress

-- | Creates a value of <a>PlaceAddress</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>paFormatted</a></li>
--   </ul>
placeAddress :: PlaceAddress

-- | The formatted address for display.
paFormatted :: Lens' PlaceAddress (Maybe Text)
data ActivityObjectAttachmentsItemThumbnailsItem

-- | Creates a value of <a>ActivityObjectAttachmentsItemThumbnailsItem</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>aoaitiImage</a></li>
--   <li><a>aoaitiURL</a></li>
--   <li><a>aoaitiDescription</a></li>
--   </ul>
activityObjectAttachmentsItemThumbnailsItem :: ActivityObjectAttachmentsItemThumbnailsItem

-- | Image resource.
aoaitiImage :: Lens' ActivityObjectAttachmentsItemThumbnailsItem (Maybe ActivityObjectAttachmentsItemThumbnailsItemImage)

-- | URL of the webpage containing the image.
aoaitiURL :: Lens' ActivityObjectAttachmentsItemThumbnailsItem (Maybe Text)

-- | Potential name of the thumbnail.
aoaitiDescription :: Lens' ActivityObjectAttachmentsItemThumbnailsItem (Maybe Text)

-- | The cover photo content.
--   
--   <i>See:</i> <a>personCover</a> smart constructor.
data PersonCover

-- | Creates a value of <a>PersonCover</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>pcLayout</a></li>
--   <li><a>pcCoverInfo</a></li>
--   <li><a>pcCoverPhoto</a></li>
--   </ul>
personCover :: PersonCover

-- | The layout of the cover art. Possible values include, but are not
--   limited to, the following values: - "banner" - One large image banner.
pcLayout :: Lens' PersonCover (Maybe Text)

-- | Extra information about the cover photo.
pcCoverInfo :: Lens' PersonCover (Maybe PersonCoverCoverInfo)

-- | The person's primary cover image.
pcCoverPhoto :: Lens' PersonCover (Maybe PersonCoverCoverPhoto)
data CommentInReplyToItem

-- | Creates a value of <a>CommentInReplyToItem</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>cirtiURL</a></li>
--   <li><a>cirtiId</a></li>
--   </ul>
commentInReplyToItem :: CommentInReplyToItem

-- | The URL of the activity.
cirtiURL :: Lens' CommentInReplyToItem (Maybe Text)

-- | The ID of the activity.
cirtiId :: Lens' CommentInReplyToItem (Maybe Text)
data PersonOrganizationsItem

-- | Creates a value of <a>PersonOrganizationsItem</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>poiDePartment</a></li>
--   <li><a>poiLocation</a></li>
--   <li><a>poiEndDate</a></li>
--   <li><a>poiPrimary</a></li>
--   <li><a>poiStartDate</a></li>
--   <li><a>poiName</a></li>
--   <li><a>poiTitle</a></li>
--   <li><a>poiType</a></li>
--   <li><a>poiDescription</a></li>
--   </ul>
personOrganizationsItem :: PersonOrganizationsItem

-- | The department within the organization. Deprecated.
poiDePartment :: Lens' PersonOrganizationsItem (Maybe Text)

-- | The location of this organization. Deprecated.
poiLocation :: Lens' PersonOrganizationsItem (Maybe Text)

-- | The date that the person left this organization.
poiEndDate :: Lens' PersonOrganizationsItem (Maybe Text)

-- | If "true", indicates this organization is the person's primary one,
--   which is typically interpreted as the current one.
poiPrimary :: Lens' PersonOrganizationsItem (Maybe Bool)

-- | The date that the person joined this organization.
poiStartDate :: Lens' PersonOrganizationsItem (Maybe Text)

-- | The name of the organization.
poiName :: Lens' PersonOrganizationsItem (Maybe Text)

-- | The person's job title or role within the organization.
poiTitle :: Lens' PersonOrganizationsItem (Maybe Text)

-- | The type of organization. Possible values include, but are not limited
--   to, the following values: - "work" - Work. - "school" - School.
poiType :: Lens' PersonOrganizationsItem (Maybe Text)

-- | A short description of the person's role in this organization.
--   Deprecated.
poiDescription :: Lens' PersonOrganizationsItem (Maybe Text)
data PersonURLsItem

-- | Creates a value of <a>PersonURLsItem</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>puiValue</a></li>
--   <li><a>puiType</a></li>
--   <li><a>puiLabel</a></li>
--   </ul>
personURLsItem :: PersonURLsItem

-- | The URL value.
puiValue :: Lens' PersonURLsItem (Maybe Text)

-- | The type of URL. Possible values include, but are not limited to, the
--   following values: - "otherProfile" - URL for another profile. -
--   "contributor" - URL to a site for which this person is a contributor.
--   - "website" - URL for this Google+ Page's primary website. - "other" -
--   Other URL.
puiType :: Lens' PersonURLsItem (Maybe Text)

-- | The label of the URL.
puiLabel :: Lens' PersonURLsItem (Maybe Text)

-- | Specifies how to order search results.
data ActivitiesSearchOrderBy

-- | <tt>best</tt> Sort activities by relevance to the user, most relevant
--   first.
ASOBBest :: ActivitiesSearchOrderBy

-- | <tt>recent</tt> Sort activities by published date, most recent first.
ASOBRecent :: ActivitiesSearchOrderBy

-- | Extra information about the cover photo.
--   
--   <i>See:</i> <a>personCoverCoverInfo</a> smart constructor.
data PersonCoverCoverInfo

-- | Creates a value of <a>PersonCoverCoverInfo</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>pcciTopImageOffSet</a></li>
--   <li><a>pcciLeftImageOffSet</a></li>
--   </ul>
personCoverCoverInfo :: PersonCoverCoverInfo

-- | The difference between the top position of the cover image and the
--   actual displayed cover image. Only valid for banner layout.
pcciTopImageOffSet :: Lens' PersonCoverCoverInfo (Maybe Int32)

-- | The difference between the left position of the cover image and the
--   actual displayed cover image. Only valid for banner layout.
pcciLeftImageOffSet :: Lens' PersonCoverCoverInfo (Maybe Int32)

-- | People who reshared this activity.
--   
--   <i>See:</i> <a>activityObjectResharers</a> smart constructor.
data ActivityObjectResharers

-- | Creates a value of <a>ActivityObjectResharers</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>aTotalItems</a></li>
--   <li><a>aSelfLink</a></li>
--   </ul>
activityObjectResharers :: ActivityObjectResharers

-- | Total number of people who reshared this activity.
aTotalItems :: Lens' ActivityObjectResharers (Maybe Word32)

-- | The URL for the collection of resharers.
aSelfLink :: Lens' ActivityObjectResharers (Maybe Text)
data Comment

-- | Creates a value of <a>Comment</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>cEtag</a></li>
--   <li><a>cPlusoners</a></li>
--   <li><a>cKind</a></li>
--   <li><a>cPublished</a></li>
--   <li><a>cActor</a></li>
--   <li><a>cSelfLink</a></li>
--   <li><a>cObject</a></li>
--   <li><a>cId</a></li>
--   <li><a>cUpdated</a></li>
--   <li><a>cVerb</a></li>
--   <li><a>cInReplyTo</a></li>
--   </ul>
comment :: Comment

-- | ETag of this response for caching purposes.
cEtag :: Lens' Comment (Maybe Text)

-- | People who +1'd this comment.
cPlusoners :: Lens' Comment (Maybe CommentPlusoners)

-- | Identifies this resource as a comment. Value: "plus#comment".
cKind :: Lens' Comment Text

-- | The time at which this comment was initially published. Formatted as
--   an RFC 3339 timestamp.
cPublished :: Lens' Comment (Maybe UTCTime)

-- | The person who posted this comment.
cActor :: Lens' Comment (Maybe CommentActor)

-- | Link to this comment resource.
cSelfLink :: Lens' Comment (Maybe Text)

-- | The object of this comment.
cObject :: Lens' Comment (Maybe CommentObject)

-- | The ID of this comment.
cId :: Lens' Comment (Maybe Text)

-- | The time at which this comment was last updated. Formatted as an RFC
--   3339 timestamp.
cUpdated :: Lens' Comment (Maybe UTCTime)

-- | This comment's verb, indicating what action was performed. Possible
--   values are: - "post" - Publish content to the stream.
cVerb :: Lens' Comment Text

-- | The activity this comment replied to.
cInReplyTo :: Lens' Comment [CommentInReplyToItem]
data Place

-- | Creates a value of <a>Place</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>plaKind</a></li>
--   <li><a>plaAddress</a></li>
--   <li><a>plaDisplayName</a></li>
--   <li><a>plaId</a></li>
--   <li><a>plaPosition</a></li>
--   </ul>
place :: Place

-- | Identifies this resource as a place. Value: "plus#place".
plaKind :: Lens' Place Text

-- | The physical address of the place.
plaAddress :: Lens' Place (Maybe PlaceAddress)

-- | The display name of the place.
plaDisplayName :: Lens' Place (Maybe Text)

-- | The id of the place.
plaId :: Lens' Place (Maybe Text)

-- | The position of the place.
plaPosition :: Lens' Place (Maybe PlacePosition)
data ACL

-- | Creates a value of <a>ACL</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>aKind</a></li>
--   <li><a>aItems</a></li>
--   <li><a>aDescription</a></li>
--   </ul>
acl :: ACL

-- | Identifies this resource as a collection of access controls. Value:
--   "plus#acl".
aKind :: Lens' ACL Text

-- | The list of access entries.
aItems :: Lens' ACL [PlusACLentryResource]

-- | Description of the access granted, suitable for display.
aDescription :: Lens' ACL (Maybe Text)

-- | The person who performed this activity.
--   
--   <i>See:</i> <a>activityActor</a> smart constructor.
data ActivityActor

-- | Creates a value of <a>ActivityActor</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>aaClientSpecificActorInfo</a></li>
--   <li><a>aaImage</a></li>
--   <li><a>aaURL</a></li>
--   <li><a>aaName</a></li>
--   <li><a>aaDisplayName</a></li>
--   <li><a>aaId</a></li>
--   <li><a>aaVerification</a></li>
--   </ul>
activityActor :: ActivityActor

-- | Actor info specific to particular clients.
aaClientSpecificActorInfo :: Lens' ActivityActor (Maybe ActivityActorClientSpecificActorInfo)

-- | The image representation of the actor.
aaImage :: Lens' ActivityActor (Maybe ActivityActorImage)

-- | The link to the actor's Google profile.
aaURL :: Lens' ActivityActor (Maybe Text)

-- | An object representation of the individual components of name.
aaName :: Lens' ActivityActor (Maybe ActivityActorName)

-- | The name of the actor, suitable for display.
aaDisplayName :: Lens' ActivityActor (Maybe Text)

-- | The ID of the actor's Person resource.
aaId :: Lens' ActivityActor (Maybe Text)

-- | Verification status of actor.
aaVerification :: Lens' ActivityActor (Maybe ActivityActorVerification)

-- | The order in which to sort the list of comments.
data CommentsListSortOrder

-- | <tt>ascending</tt> Sort oldest comments first.
Ascending :: CommentsListSortOrder

-- | <tt>descending</tt> Sort newest comments first.
Descending :: CommentsListSortOrder

-- | The object of this comment.
--   
--   <i>See:</i> <a>commentObject</a> smart constructor.
data CommentObject

-- | Creates a value of <a>CommentObject</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>coObjectType</a></li>
--   <li><a>coOriginalContent</a></li>
--   <li><a>coContent</a></li>
--   </ul>
commentObject :: CommentObject

-- | The object type of this comment. Possible values are: - "comment" - A
--   comment in reply to an activity.
coObjectType :: Lens' CommentObject Text

-- | The content (text) as provided by the author, stored without any HTML
--   formatting. When creating or updating a comment, this value must be
--   supplied as plain text in the request.
coOriginalContent :: Lens' CommentObject (Maybe Text)

-- | The HTML-formatted content, suitable for display.
coContent :: Lens' CommentObject (Maybe Text)
data CommentFeed

-- | Creates a value of <a>CommentFeed</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>cfEtag</a></li>
--   <li><a>cfNextPageToken</a></li>
--   <li><a>cfNextLink</a></li>
--   <li><a>cfKind</a></li>
--   <li><a>cfItems</a></li>
--   <li><a>cfId</a></li>
--   <li><a>cfUpdated</a></li>
--   <li><a>cfTitle</a></li>
--   </ul>
commentFeed :: CommentFeed

-- | ETag of this response for caching purposes.
cfEtag :: Lens' CommentFeed (Maybe Text)

-- | The continuation token, which is used to page through large result
--   sets. Provide this value in a subsequent request to return the next
--   page of results.
cfNextPageToken :: Lens' CommentFeed (Maybe Text)

-- | Link to the next page of activities.
cfNextLink :: Lens' CommentFeed (Maybe Text)

-- | Identifies this resource as a collection of comments. Value:
--   "plus#commentFeed".
cfKind :: Lens' CommentFeed Text

-- | The comments in this page of results.
cfItems :: Lens' CommentFeed [Comment]

-- | The ID of this collection of comments.
cfId :: Lens' CommentFeed (Maybe Text)

-- | The time at which this collection of comments was last updated.
--   Formatted as an RFC 3339 timestamp.
cfUpdated :: Lens' CommentFeed (Maybe UTCTime)

-- | The title of this collection of comments.
cfTitle :: Lens' CommentFeed (Maybe Text)

-- | Verification status of actor.
--   
--   <i>See:</i> <a>commentActorVerification</a> smart constructor.
data CommentActorVerification

-- | Creates a value of <a>CommentActorVerification</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>cavAdHocVerified</a></li>
--   </ul>
commentActorVerification :: CommentActorVerification

-- | Verification for one-time or manual processes.
cavAdHocVerified :: Lens' CommentActorVerification (Maybe Text)

-- | An object representation of the individual components of name.
--   
--   <i>See:</i> <a>activityActorName</a> smart constructor.
data ActivityActorName

-- | Creates a value of <a>ActivityActorName</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>aanGivenName</a></li>
--   <li><a>aanFamilyName</a></li>
--   </ul>
activityActorName :: ActivityActorName

-- | The given name ("first name") of the actor.
aanGivenName :: Lens' ActivityActorName (Maybe Text)

-- | The family name ("last name") of the actor.
aanFamilyName :: Lens' ActivityActorName (Maybe Text)


-- | Get an activity.
--   
--   <i>See:</i> <a>Google+ API Reference</a> for
--   <tt>plus.activities.get</tt>.
module Network.Google.Resource.Plus.Activities.Get

-- | A resource alias for <tt>plus.activities.get</tt> method which the
--   <a>ActivitiesGet</a> request conforms to.
type ActivitiesGetResource = "plus" :> ("v1" :> ("activities" :> (Capture "activityId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Activity))))

-- | Creates a value of <a>ActivitiesGet</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>agActivityId</a></li>
--   </ul>
activitiesGet :: Text -> ActivitiesGet

-- | Get an activity.
--   
--   <i>See:</i> <a>activitiesGet</a> smart constructor.
data ActivitiesGet

-- | The ID of the activity to get.
agActivityId :: Lens' ActivitiesGet Text
instance GHC.Generics.Generic Network.Google.Resource.Plus.Activities.Get.ActivitiesGet
instance Data.Data.Data Network.Google.Resource.Plus.Activities.Get.ActivitiesGet
instance GHC.Show.Show Network.Google.Resource.Plus.Activities.Get.ActivitiesGet
instance GHC.Classes.Eq Network.Google.Resource.Plus.Activities.Get.ActivitiesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Plus.Activities.Get.ActivitiesGet


-- | List all of the activities in the specified collection for a
--   particular user.
--   
--   <i>See:</i> <a>Google+ API Reference</a> for
--   <tt>plus.activities.list</tt>.
module Network.Google.Resource.Plus.Activities.List

-- | A resource alias for <tt>plus.activities.list</tt> method which the
--   <a>ActivitiesList</a> request conforms to.
type ActivitiesListResource = "plus" :> ("v1" :> ("people" :> (Capture "userId" Text :> ("activities" :> (Capture "collection" ActivitiesListCollection :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] ActivityFeed))))))))

-- | Creates a value of <a>ActivitiesList</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>alCollection</a></li>
--   <li><a>alUserId</a></li>
--   <li><a>alPageToken</a></li>
--   <li><a>alMaxResults</a></li>
--   </ul>
activitiesList :: ActivitiesListCollection -> Text -> ActivitiesList

-- | List all of the activities in the specified collection for a
--   particular user.
--   
--   <i>See:</i> <a>activitiesList</a> smart constructor.
data ActivitiesList

-- | The collection of activities to list.
alCollection :: Lens' ActivitiesList ActivitiesListCollection

-- | The ID of the user to get activities for. The special value "me" can
--   be used to indicate the authenticated user.
alUserId :: Lens' ActivitiesList Text

-- | The continuation token, which is used to page through large result
--   sets. To get the next page of results, set this parameter to the value
--   of "nextPageToken" from the previous response.
alPageToken :: Lens' ActivitiesList (Maybe Text)

-- | The maximum number of activities to include in the response, which is
--   used for paging. For any response, the actual number returned might be
--   less than the specified maxResults.
alMaxResults :: Lens' ActivitiesList Word32
instance GHC.Generics.Generic Network.Google.Resource.Plus.Activities.List.ActivitiesList
instance Data.Data.Data Network.Google.Resource.Plus.Activities.List.ActivitiesList
instance GHC.Show.Show Network.Google.Resource.Plus.Activities.List.ActivitiesList
instance GHC.Classes.Eq Network.Google.Resource.Plus.Activities.List.ActivitiesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Plus.Activities.List.ActivitiesList


-- | Search public activities.
--   
--   <i>See:</i> <a>Google+ API Reference</a> for
--   <tt>plus.activities.search</tt>.
module Network.Google.Resource.Plus.Activities.Search

-- | A resource alias for <tt>plus.activities.search</tt> method which the
--   <a>ActivitiesSearch</a> request conforms to.
type ActivitiesSearchResource = "plus" :> ("v1" :> ("activities" :> (QueryParam "query" Text :> (QueryParam "orderBy" ActivitiesSearchOrderBy :> (QueryParam "language" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] ActivityFeed))))))))

-- | Creates a value of <a>ActivitiesSearch</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>asOrderBy</a></li>
--   <li><a>asQuery</a></li>
--   <li><a>asLanguage</a></li>
--   <li><a>asPageToken</a></li>
--   <li><a>asMaxResults</a></li>
--   </ul>
activitiesSearch :: Text -> ActivitiesSearch

-- | Search public activities.
--   
--   <i>See:</i> <a>activitiesSearch</a> smart constructor.
data ActivitiesSearch

-- | Specifies how to order search results.
asOrderBy :: Lens' ActivitiesSearch ActivitiesSearchOrderBy

-- | Full-text search query string.
asQuery :: Lens' ActivitiesSearch Text

-- | Specify the preferred language to search with. See search language
--   codes for available values.
asLanguage :: Lens' ActivitiesSearch Text

-- | The continuation token, which is used to page through large result
--   sets. To get the next page of results, set this parameter to the value
--   of "nextPageToken" from the previous response. This token can be of
--   any length.
asPageToken :: Lens' ActivitiesSearch (Maybe Text)

-- | The maximum number of activities to include in the response, which is
--   used for paging. For any response, the actual number returned might be
--   less than the specified maxResults.
asMaxResults :: Lens' ActivitiesSearch Word32
instance GHC.Generics.Generic Network.Google.Resource.Plus.Activities.Search.ActivitiesSearch
instance Data.Data.Data Network.Google.Resource.Plus.Activities.Search.ActivitiesSearch
instance GHC.Show.Show Network.Google.Resource.Plus.Activities.Search.ActivitiesSearch
instance GHC.Classes.Eq Network.Google.Resource.Plus.Activities.Search.ActivitiesSearch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Plus.Activities.Search.ActivitiesSearch


-- | Get a comment.
--   
--   <i>See:</i> <a>Google+ API Reference</a> for
--   <tt>plus.comments.get</tt>.
module Network.Google.Resource.Plus.Comments.Get

-- | A resource alias for <tt>plus.comments.get</tt> method which the
--   <a>CommentsGet</a> request conforms to.
type CommentsGetResource = "plus" :> ("v1" :> ("comments" :> (Capture "commentId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Comment))))

-- | Creates a value of <a>CommentsGet</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>cgCommentId</a></li>
--   </ul>
commentsGet :: Text -> CommentsGet

-- | Get a comment.
--   
--   <i>See:</i> <a>commentsGet</a> smart constructor.
data CommentsGet

-- | The ID of the comment to get.
cgCommentId :: Lens' CommentsGet Text
instance GHC.Generics.Generic Network.Google.Resource.Plus.Comments.Get.CommentsGet
instance Data.Data.Data Network.Google.Resource.Plus.Comments.Get.CommentsGet
instance GHC.Show.Show Network.Google.Resource.Plus.Comments.Get.CommentsGet
instance GHC.Classes.Eq Network.Google.Resource.Plus.Comments.Get.CommentsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Plus.Comments.Get.CommentsGet


-- | List all of the comments for an activity.
--   
--   <i>See:</i> <a>Google+ API Reference</a> for
--   <tt>plus.comments.list</tt>.
module Network.Google.Resource.Plus.Comments.List

-- | A resource alias for <tt>plus.comments.list</tt> method which the
--   <a>CommentsList</a> request conforms to.
type CommentsListResource = "plus" :> ("v1" :> ("activities" :> (Capture "activityId" Text :> ("comments" :> (QueryParam "sortOrder" CommentsListSortOrder :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] CommentFeed))))))))

-- | Creates a value of <a>CommentsList</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>clActivityId</a></li>
--   <li><a>clSortOrder</a></li>
--   <li><a>clPageToken</a></li>
--   <li><a>clMaxResults</a></li>
--   </ul>
commentsList :: Text -> CommentsList

-- | List all of the comments for an activity.
--   
--   <i>See:</i> <a>commentsList</a> smart constructor.
data CommentsList

-- | The ID of the activity to get comments for.
clActivityId :: Lens' CommentsList Text

-- | The order in which to sort the list of comments.
clSortOrder :: Lens' CommentsList CommentsListSortOrder

-- | The continuation token, which is used to page through large result
--   sets. To get the next page of results, set this parameter to the value
--   of "nextPageToken" from the previous response.
clPageToken :: Lens' CommentsList (Maybe Text)

-- | The maximum number of comments to include in the response, which is
--   used for paging. For any response, the actual number returned might be
--   less than the specified maxResults.
clMaxResults :: Lens' CommentsList Word32
instance GHC.Generics.Generic Network.Google.Resource.Plus.Comments.List.CommentsList
instance Data.Data.Data Network.Google.Resource.Plus.Comments.List.CommentsList
instance GHC.Show.Show Network.Google.Resource.Plus.Comments.List.CommentsList
instance GHC.Classes.Eq Network.Google.Resource.Plus.Comments.List.CommentsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Plus.Comments.List.CommentsList


-- | Get a person's profile. If your app uses scope
--   https://www.googleapis.com/auth/plus.login, this method is guaranteed
--   to return ageRange and language.
--   
--   <i>See:</i> <a>Google+ API Reference</a> for <tt>plus.people.get</tt>.
module Network.Google.Resource.Plus.People.Get

-- | A resource alias for <tt>plus.people.get</tt> method which the
--   <a>PeopleGet</a> request conforms to.
type PeopleGetResource = "plus" :> ("v1" :> ("people" :> (Capture "userId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Person))))

-- | Creates a value of <a>PeopleGet</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>pgUserId</a></li>
--   </ul>
peopleGet :: Text -> PeopleGet

-- | Get a person's profile. If your app uses scope
--   https://www.googleapis.com/auth/plus.login, this method is guaranteed
--   to return ageRange and language.
--   
--   <i>See:</i> <a>peopleGet</a> smart constructor.
data PeopleGet

-- | The ID of the person to get the profile for. The special value "me"
--   can be used to indicate the authenticated user.
pgUserId :: Lens' PeopleGet Text
instance GHC.Generics.Generic Network.Google.Resource.Plus.People.Get.PeopleGet
instance Data.Data.Data Network.Google.Resource.Plus.People.Get.PeopleGet
instance GHC.Show.Show Network.Google.Resource.Plus.People.Get.PeopleGet
instance GHC.Classes.Eq Network.Google.Resource.Plus.People.Get.PeopleGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Plus.People.Get.PeopleGet


-- | List all of the people in the specified collection.
--   
--   <i>See:</i> <a>Google+ API Reference</a> for
--   <tt>plus.people.list</tt>.
module Network.Google.Resource.Plus.People.List

-- | A resource alias for <tt>plus.people.list</tt> method which the
--   <a>PeopleList</a> request conforms to.
type PeopleListResource = "plus" :> ("v1" :> ("people" :> (Capture "userId" Text :> ("people" :> (Capture "collection" PeopleListCollection :> (QueryParam "orderBy" PeopleListOrderBy :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] PeopleFeed)))))))))

-- | Creates a value of <a>PeopleList</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>plOrderBy</a></li>
--   <li><a>plCollection</a></li>
--   <li><a>plUserId</a></li>
--   <li><a>plPageToken</a></li>
--   <li><a>plMaxResults</a></li>
--   </ul>
peopleList :: PeopleListCollection -> Text -> PeopleList

-- | List all of the people in the specified collection.
--   
--   <i>See:</i> <a>peopleList</a> smart constructor.
data PeopleList

-- | The order to return people in.
plOrderBy :: Lens' PeopleList (Maybe PeopleListOrderBy)

-- | The collection of people to list.
plCollection :: Lens' PeopleList PeopleListCollection

-- | Get the collection of people for the person identified. Use "me" to
--   indicate the authenticated user.
plUserId :: Lens' PeopleList Text

-- | The continuation token, which is used to page through large result
--   sets. To get the next page of results, set this parameter to the value
--   of "nextPageToken" from the previous response.
plPageToken :: Lens' PeopleList (Maybe Text)

-- | The maximum number of people to include in the response, which is used
--   for paging. For any response, the actual number returned might be less
--   than the specified maxResults.
plMaxResults :: Lens' PeopleList Word32
instance GHC.Generics.Generic Network.Google.Resource.Plus.People.List.PeopleList
instance Data.Data.Data Network.Google.Resource.Plus.People.List.PeopleList
instance GHC.Show.Show Network.Google.Resource.Plus.People.List.PeopleList
instance GHC.Classes.Eq Network.Google.Resource.Plus.People.List.PeopleList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Plus.People.List.PeopleList


-- | List all of the people in the specified collection for a particular
--   activity.
--   
--   <i>See:</i> <a>Google+ API Reference</a> for
--   <tt>plus.people.listByActivity</tt>.
module Network.Google.Resource.Plus.People.ListByActivity

-- | A resource alias for <tt>plus.people.listByActivity</tt> method which
--   the <a>PeopleListByActivity</a> request conforms to.
type PeopleListByActivityResource = "plus" :> ("v1" :> ("activities" :> (Capture "activityId" Text :> ("people" :> (Capture "collection" PeopleListByActivityCollection :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] PeopleFeed))))))))

-- | Creates a value of <a>PeopleListByActivity</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>plbaActivityId</a></li>
--   <li><a>plbaCollection</a></li>
--   <li><a>plbaPageToken</a></li>
--   <li><a>plbaMaxResults</a></li>
--   </ul>
peopleListByActivity :: Text -> PeopleListByActivityCollection -> PeopleListByActivity

-- | List all of the people in the specified collection for a particular
--   activity.
--   
--   <i>See:</i> <a>peopleListByActivity</a> smart constructor.
data PeopleListByActivity

-- | The ID of the activity to get the list of people for.
plbaActivityId :: Lens' PeopleListByActivity Text

-- | The collection of people to list.
plbaCollection :: Lens' PeopleListByActivity PeopleListByActivityCollection

-- | The continuation token, which is used to page through large result
--   sets. To get the next page of results, set this parameter to the value
--   of "nextPageToken" from the previous response.
plbaPageToken :: Lens' PeopleListByActivity (Maybe Text)

-- | The maximum number of people to include in the response, which is used
--   for paging. For any response, the actual number returned might be less
--   than the specified maxResults.
plbaMaxResults :: Lens' PeopleListByActivity Word32
instance GHC.Generics.Generic Network.Google.Resource.Plus.People.ListByActivity.PeopleListByActivity
instance Data.Data.Data Network.Google.Resource.Plus.People.ListByActivity.PeopleListByActivity
instance GHC.Show.Show Network.Google.Resource.Plus.People.ListByActivity.PeopleListByActivity
instance GHC.Classes.Eq Network.Google.Resource.Plus.People.ListByActivity.PeopleListByActivity
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Plus.People.ListByActivity.PeopleListByActivity


-- | Search all public profiles.
--   
--   <i>See:</i> <a>Google+ API Reference</a> for
--   <tt>plus.people.search</tt>.
module Network.Google.Resource.Plus.People.Search

-- | A resource alias for <tt>plus.people.search</tt> method which the
--   <a>PeopleSearch</a> request conforms to.
type PeopleSearchResource = "plus" :> ("v1" :> ("people" :> (QueryParam "query" Text :> (QueryParam "language" Text :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] PeopleFeed)))))))

-- | Creates a value of <a>PeopleSearch</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>psQuery</a></li>
--   <li><a>psLanguage</a></li>
--   <li><a>psPageToken</a></li>
--   <li><a>psMaxResults</a></li>
--   </ul>
peopleSearch :: Text -> PeopleSearch

-- | Search all public profiles.
--   
--   <i>See:</i> <a>peopleSearch</a> smart constructor.
data PeopleSearch

-- | Specify a query string for full text search of public text in all
--   profiles.
psQuery :: Lens' PeopleSearch Text

-- | Specify the preferred language to search with. See search language
--   codes for available values.
psLanguage :: Lens' PeopleSearch Text

-- | The continuation token, which is used to page through large result
--   sets. To get the next page of results, set this parameter to the value
--   of "nextPageToken" from the previous response. This token can be of
--   any length.
psPageToken :: Lens' PeopleSearch (Maybe Text)

-- | The maximum number of people to include in the response, which is used
--   for paging. For any response, the actual number returned might be less
--   than the specified maxResults.
psMaxResults :: Lens' PeopleSearch Word32
instance GHC.Generics.Generic Network.Google.Resource.Plus.People.Search.PeopleSearch
instance Data.Data.Data Network.Google.Resource.Plus.People.Search.PeopleSearch
instance GHC.Show.Show Network.Google.Resource.Plus.People.Search.PeopleSearch
instance GHC.Classes.Eq Network.Google.Resource.Plus.People.Search.PeopleSearch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Plus.People.Search.PeopleSearch


-- | Builds on top of the Google+ platform.
--   
--   <i>See:</i> <a>Google+ API Reference</a>
module Network.Google.Plus

-- | Default request referring to version <tt>v1</tt> of the Google+ API.
--   This contains the host and root path used as a starting point for
--   constructing service requests.
plusService :: ServiceConfig

-- | View your basic profile info
userInfoProFileScope :: Proxy '["https://www.googleapis.com/auth/userinfo.profile"]

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

-- | View your email address
userInfoEmailScope :: Proxy '["https://www.googleapis.com/auth/userinfo.email"]

-- | Know who you are on Google
plusMeScope :: Proxy '["https://www.googleapis.com/auth/plus.me"]

-- | Represents the entirety of the methods and resources available for the
--   Google+ API service.
type PlusAPI = ActivitiesListResource :<|> (ActivitiesGetResource :<|> (ActivitiesSearchResource :<|> (PeopleListResource :<|> (PeopleGetResource :<|> (PeopleListByActivityResource :<|> (PeopleSearchResource :<|> (CommentsListResource :<|> CommentsGetResource)))))))

-- | The service provider that initially published this activity.
--   
--   <i>See:</i> <a>activityProvider</a> smart constructor.
data ActivityProvider

-- | Creates a value of <a>ActivityProvider</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>apTitle</a></li>
--   </ul>
activityProvider :: ActivityProvider

-- | Name of the service provider.
apTitle :: Lens' ActivityProvider (Maybe Text)

-- | If the attachment is a video, the embeddable link.
--   
--   <i>See:</i> <a>activityObjectAttachmentsItemEmbed</a> smart
--   constructor.
data ActivityObjectAttachmentsItemEmbed

-- | Creates a value of <a>ActivityObjectAttachmentsItemEmbed</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>aoaieURL</a></li>
--   <li><a>aoaieType</a></li>
--   </ul>
activityObjectAttachmentsItemEmbed :: ActivityObjectAttachmentsItemEmbed

-- | URL of the link.
aoaieURL :: Lens' ActivityObjectAttachmentsItemEmbed (Maybe Text)

-- | Media type of the link.
aoaieType :: Lens' ActivityObjectAttachmentsItemEmbed (Maybe Text)

-- | People who +1'd this comment.
--   
--   <i>See:</i> <a>commentPlusoners</a> smart constructor.
data CommentPlusoners

-- | Creates a value of <a>CommentPlusoners</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>cpTotalItems</a></li>
--   </ul>
commentPlusoners :: CommentPlusoners

-- | Total number of people who +1'd this comment.
cpTotalItems :: Lens' CommentPlusoners (Maybe Word32)

-- | Actor info specific to particular clients.
--   
--   <i>See:</i> <a>commentActorClientSpecificActorInfo</a> smart
--   constructor.
data CommentActorClientSpecificActorInfo

-- | Creates a value of <a>CommentActorClientSpecificActorInfo</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>cacsaiYouTubeActorInfo</a></li>
--   </ul>
commentActorClientSpecificActorInfo :: CommentActorClientSpecificActorInfo

-- | Actor info specific to YouTube clients.
cacsaiYouTubeActorInfo :: Lens' CommentActorClientSpecificActorInfo (Maybe CommentActorClientSpecificActorInfoYouTubeActorInfo)

-- | Actor info specific to YouTube clients.
--   
--   <i>See:</i>
--   <a>activityObjectActorClientSpecificActorInfoYouTubeActorInfo</a>
--   smart constructor.
data ActivityObjectActorClientSpecificActorInfoYouTubeActorInfo

-- | Creates a value of
--   <a>ActivityObjectActorClientSpecificActorInfoYouTubeActorInfo</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>aoacsaiytaiChannelId</a></li>
--   </ul>
activityObjectActorClientSpecificActorInfoYouTubeActorInfo :: ActivityObjectActorClientSpecificActorInfoYouTubeActorInfo

-- | ID of the YouTube channel owned by the Actor.
aoacsaiytaiChannelId :: Lens' ActivityObjectActorClientSpecificActorInfoYouTubeActorInfo (Maybe Text)

-- | People who +1'd this activity.
--   
--   <i>See:</i> <a>activityObjectPlusoners</a> smart constructor.
data ActivityObjectPlusoners

-- | Creates a value of <a>ActivityObjectPlusoners</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>aopTotalItems</a></li>
--   <li><a>aopSelfLink</a></li>
--   </ul>
activityObjectPlusoners :: ActivityObjectPlusoners

-- | Total number of people who +1'd this activity.
aopTotalItems :: Lens' ActivityObjectPlusoners (Maybe Word32)

-- | The URL for the collection of people who +1'd this activity.
aopSelfLink :: Lens' ActivityObjectPlusoners (Maybe Text)
data PersonEmailsItem

-- | Creates a value of <a>PersonEmailsItem</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>peiValue</a></li>
--   <li><a>peiType</a></li>
--   </ul>
personEmailsItem :: PersonEmailsItem

-- | The email address.
peiValue :: Lens' PersonEmailsItem (Maybe Text)

-- | The type of address. Possible values include, but are not limited to,
--   the following values: - "account" - Google account email address. -
--   "home" - Home email address. - "work" - Work email address. - "other"
--   - Other.
peiType :: Lens' PersonEmailsItem (Maybe Text)

-- | The image representation of this actor.
--   
--   <i>See:</i> <a>commentActorImage</a> smart constructor.
data CommentActorImage

-- | Creates a value of <a>CommentActorImage</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>caiURL</a></li>
--   </ul>
commentActorImage :: CommentActorImage

-- | The URL of the actor's profile photo. To resize the image and crop it
--   to a square, append the query string ?sz=x, where x is the dimension
--   in pixels of each side.
caiURL :: Lens' CommentActorImage (Maybe Text)

-- | Image resource.
--   
--   <i>See:</i> <a>activityObjectAttachmentsItemThumbnailsItemImage</a>
--   smart constructor.
data ActivityObjectAttachmentsItemThumbnailsItemImage

-- | Creates a value of
--   <a>ActivityObjectAttachmentsItemThumbnailsItemImage</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>aoaitiiHeight</a></li>
--   <li><a>aoaitiiURL</a></li>
--   <li><a>aoaitiiWidth</a></li>
--   <li><a>aoaitiiType</a></li>
--   </ul>
activityObjectAttachmentsItemThumbnailsItemImage :: ActivityObjectAttachmentsItemThumbnailsItemImage

-- | The height, in pixels, of the linked resource.
aoaitiiHeight :: Lens' ActivityObjectAttachmentsItemThumbnailsItemImage (Maybe Word32)

-- | Image url.
aoaitiiURL :: Lens' ActivityObjectAttachmentsItemThumbnailsItemImage (Maybe Text)

-- | The width, in pixels, of the linked resource.
aoaitiiWidth :: Lens' ActivityObjectAttachmentsItemThumbnailsItemImage (Maybe Word32)

-- | Media type of the link.
aoaitiiType :: Lens' ActivityObjectAttachmentsItemThumbnailsItemImage (Maybe Text)

-- | The position of the place.
--   
--   <i>See:</i> <a>placePosition</a> smart constructor.
data PlacePosition

-- | Creates a value of <a>PlacePosition</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>ppLatitude</a></li>
--   <li><a>ppLongitude</a></li>
--   </ul>
placePosition :: PlacePosition

-- | The latitude of this position.
ppLatitude :: Lens' PlacePosition (Maybe Double)

-- | The longitude of this position.
ppLongitude :: Lens' PlacePosition (Maybe Double)
data PersonPlacesLivedItem

-- | Creates a value of <a>PersonPlacesLivedItem</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>ppliValue</a></li>
--   <li><a>ppliPrimary</a></li>
--   </ul>
personPlacesLivedItem :: PersonPlacesLivedItem

-- | A place where this person has lived. For example: "Seattle, WA", "Near
--   Toronto".
ppliValue :: Lens' PersonPlacesLivedItem (Maybe Text)

-- | If "true", this place of residence is this person's primary residence.
ppliPrimary :: Lens' PersonPlacesLivedItem (Maybe Bool)

-- | Actor info specific to particular clients.
--   
--   <i>See:</i> <a>activityActorClientSpecificActorInfo</a> smart
--   constructor.
data ActivityActorClientSpecificActorInfo

-- | Creates a value of <a>ActivityActorClientSpecificActorInfo</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>aacsaiYouTubeActorInfo</a></li>
--   </ul>
activityActorClientSpecificActorInfo :: ActivityActorClientSpecificActorInfo

-- | Actor info specific to YouTube clients.
aacsaiYouTubeActorInfo :: Lens' ActivityActorClientSpecificActorInfo (Maybe ActivityActorClientSpecificActorInfoYouTubeActorInfo)
data Person

-- | Creates a value of <a>Person</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>pCurrentLocation</a></li>
--   <li><a>pAgeRange</a></li>
--   <li><a>pEtag</a></li>
--   <li><a>pImage</a></li>
--   <li><a>pBraggingRights</a></li>
--   <li><a>pPlacesLived</a></li>
--   <li><a>pPlusOneCount</a></li>
--   <li><a>pObjectType</a></li>
--   <li><a>pCover</a></li>
--   <li><a>pKind</a></li>
--   <li><a>pRelationshipStatus</a></li>
--   <li><a>pURLs</a></li>
--   <li><a>pDomain</a></li>
--   <li><a>pURL</a></li>
--   <li><a>pVerified</a></li>
--   <li><a>pBirthday</a></li>
--   <li><a>pIsPlusUser</a></li>
--   <li><a>pTagline</a></li>
--   <li><a>pGender</a></li>
--   <li><a>pName</a></li>
--   <li><a>pEmails</a></li>
--   <li><a>pOccupation</a></li>
--   <li><a>pSkills</a></li>
--   <li><a>pLanguage</a></li>
--   <li><a>pAboutMe</a></li>
--   <li><a>pDisplayName</a></li>
--   <li><a>pId</a></li>
--   <li><a>pNickname</a></li>
--   <li><a>pOrganizations</a></li>
--   <li><a>pCircledByCount</a></li>
--   </ul>
person :: Person

-- | (this field is not currently used)
pCurrentLocation :: Lens' Person (Maybe Text)

-- | The age range of the person. Valid ranges are 17 or younger, 18 to 20,
--   and 21 or older. Age is determined from the user's birthday using
--   Western age reckoning.
pAgeRange :: Lens' Person (Maybe PersonAgeRange)

-- | ETag of this response for caching purposes.
pEtag :: Lens' Person (Maybe Text)

-- | The representation of the person's profile photo.
pImage :: Lens' Person (Maybe PersonImage)

-- | The "bragging rights" line of this person.
pBraggingRights :: Lens' Person (Maybe Text)

-- | A list of places where this person has lived.
pPlacesLived :: Lens' Person [PersonPlacesLivedItem]

-- | If a Google+ Page, the number of people who have +1'd this page.
pPlusOneCount :: Lens' Person (Maybe Int32)

-- | Type of person within Google+. Possible values include, but are not
--   limited to, the following values: - "person" - represents an actual
--   person. - "page" - represents a page.
pObjectType :: Lens' Person (Maybe Text)

-- | The cover photo content.
pCover :: Lens' Person (Maybe PersonCover)

-- | Identifies this resource as a person. Value: "plus#person".
pKind :: Lens' Person Text

-- | The person's relationship status. Possible values include, but are not
--   limited to, the following values: - "single" - Person is single. -
--   "in_a_relationship" - Person is in a relationship. - "engaged" -
--   Person is engaged. - "married" - Person is married. -
--   "its_complicated" - The relationship is complicated. -
--   "open_relationship" - Person is in an open relationship. - "widowed" -
--   Person is widowed. - "in_domestic_partnership" - Person is in a
--   domestic partnership. - "in_civil_union" - Person is in a civil union.
pRelationshipStatus :: Lens' Person (Maybe Text)

-- | A list of URLs for this person.
pURLs :: Lens' Person [PersonURLsItem]

-- | The hosted domain name for the user's Google Apps account. For
--   instance, example.com. The plus.profile.emails.read or email scope is
--   needed to get this domain name.
pDomain :: Lens' Person (Maybe Text)

-- | The URL of this person's profile.
pURL :: Lens' Person (Maybe Text)

-- | Whether the person or Google+ Page has been verified.
pVerified :: Lens' Person (Maybe Bool)

-- | The person's date of birth, represented as YYYY-MM-DD.
pBirthday :: Lens' Person (Maybe Text)

-- | Whether this user has signed up for Google+.
pIsPlusUser :: Lens' Person (Maybe Bool)

-- | The brief description (tagline) of this person.
pTagline :: Lens' Person (Maybe Text)

-- | The person's gender. Possible values include, but are not limited to,
--   the following values: - "male" - Male gender. - "female" - Female
--   gender. - "other" - Other.
pGender :: Lens' Person (Maybe Text)

-- | An object representation of the individual components of a person's
--   name.
pName :: Lens' Person (Maybe PersonName)

-- | A list of email addresses that this person has, including their Google
--   account email address, and the public verified email addresses on
--   their Google+ profile. The plus.profile.emails.read scope is needed to
--   retrieve these email addresses, or the email scope can be used to
--   retrieve just the Google account email address.
pEmails :: Lens' Person [PersonEmailsItem]

-- | The occupation of this person.
pOccupation :: Lens' Person (Maybe Text)

-- | The person's skills.
pSkills :: Lens' Person (Maybe Text)

-- | The user's preferred language for rendering.
pLanguage :: Lens' Person (Maybe Text)

-- | A short biography for this person.
pAboutMe :: Lens' Person (Maybe Text)

-- | The name of this person, which is suitable for display.
pDisplayName :: Lens' Person (Maybe Text)

-- | The ID of this person.
pId :: Lens' Person (Maybe Text)

-- | The nickname of this person.
pNickname :: Lens' Person (Maybe Text)

-- | A list of current or past organizations with which this person is
--   associated.
pOrganizations :: Lens' Person [PersonOrganizationsItem]

-- | For followers who are visible, the number of people who have added
--   this person or page to a circle.
pCircledByCount :: Lens' Person (Maybe Int32)

-- | The preview image for photos or videos.
--   
--   <i>See:</i> <a>activityObjectAttachmentsItemImage</a> smart
--   constructor.
data ActivityObjectAttachmentsItemImage

-- | Creates a value of <a>ActivityObjectAttachmentsItemImage</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>aoaiiHeight</a></li>
--   <li><a>aoaiiURL</a></li>
--   <li><a>aoaiiWidth</a></li>
--   <li><a>aoaiiType</a></li>
--   </ul>
activityObjectAttachmentsItemImage :: ActivityObjectAttachmentsItemImage

-- | The height, in pixels, of the linked resource.
aoaiiHeight :: Lens' ActivityObjectAttachmentsItemImage (Maybe Word32)

-- | Image URL.
aoaiiURL :: Lens' ActivityObjectAttachmentsItemImage (Maybe Text)

-- | The width, in pixels, of the linked resource.
aoaiiWidth :: Lens' ActivityObjectAttachmentsItemImage (Maybe Word32)

-- | Media type of the link.
aoaiiType :: Lens' ActivityObjectAttachmentsItemImage (Maybe Text)

-- | The person who posted this comment.
--   
--   <i>See:</i> <a>commentActor</a> smart constructor.
data CommentActor

-- | Creates a value of <a>CommentActor</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>caClientSpecificActorInfo</a></li>
--   <li><a>caImage</a></li>
--   <li><a>caURL</a></li>
--   <li><a>caDisplayName</a></li>
--   <li><a>caId</a></li>
--   <li><a>caVerification</a></li>
--   </ul>
commentActor :: CommentActor

-- | Actor info specific to particular clients.
caClientSpecificActorInfo :: Lens' CommentActor (Maybe CommentActorClientSpecificActorInfo)

-- | The image representation of this actor.
caImage :: Lens' CommentActor (Maybe CommentActorImage)

-- | A link to the Person resource for this actor.
caURL :: Lens' CommentActor (Maybe Text)

-- | The name of this actor, suitable for display.
caDisplayName :: Lens' CommentActor (Maybe Text)

-- | The ID of the actor.
caId :: Lens' CommentActor (Maybe Text)

-- | Verification status of actor.
caVerification :: Lens' CommentActor (Maybe CommentActorVerification)

-- | The object of this activity.
--   
--   <i>See:</i> <a>activityObject</a> smart constructor.
data ActivityObject

-- | Creates a value of <a>ActivityObject</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>aoPlusoners</a></li>
--   <li><a>aoAttachments</a></li>
--   <li><a>aoObjectType</a></li>
--   <li><a>aoOriginalContent</a></li>
--   <li><a>aoURL</a></li>
--   <li><a>aoActor</a></li>
--   <li><a>aoContent</a></li>
--   <li><a>aoReplies</a></li>
--   <li><a>aoId</a></li>
--   <li><a>aoResharers</a></li>
--   </ul>
activityObject :: ActivityObject

-- | People who +1'd this activity.
aoPlusoners :: Lens' ActivityObject (Maybe ActivityObjectPlusoners)

-- | The media objects attached to this activity.
aoAttachments :: Lens' ActivityObject [ActivityObjectAttachmentsItem]

-- | The type of the object. Possible values include, but are not limited
--   to, the following values: - "note" - Textual content. - "activity" - A
--   Google+ activity.
aoObjectType :: Lens' ActivityObject (Maybe Text)

-- | The content (text) as provided by the author, which is stored without
--   any HTML formatting. When creating or updating an activity, this value
--   must be supplied as plain text in the request.
aoOriginalContent :: Lens' ActivityObject (Maybe Text)

-- | The URL that points to the linked resource.
aoURL :: Lens' ActivityObject (Maybe Text)

-- | If this activity's object is itself another activity, such as when a
--   person reshares an activity, this property specifies the original
--   activity's actor.
aoActor :: Lens' ActivityObject (Maybe ActivityObjectActor)

-- | The HTML-formatted content, which is suitable for display.
aoContent :: Lens' ActivityObject (Maybe Text)

-- | Comments in reply to this activity.
aoReplies :: Lens' ActivityObject (Maybe ActivityObjectReplies)

-- | The ID of the object. When resharing an activity, this is the ID of
--   the activity that is being reshared.
aoId :: Lens' ActivityObject (Maybe Text)

-- | People who reshared this activity.
aoResharers :: Lens' ActivityObject (Maybe ActivityObjectResharers)

-- | If this activity's object is itself another activity, such as when a
--   person reshares an activity, this property specifies the original
--   activity's actor.
--   
--   <i>See:</i> <a>activityObjectActor</a> smart constructor.
data ActivityObjectActor

-- | Creates a value of <a>ActivityObjectActor</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>aoaClientSpecificActorInfo</a></li>
--   <li><a>aoaImage</a></li>
--   <li><a>aoaURL</a></li>
--   <li><a>aoaDisplayName</a></li>
--   <li><a>aoaId</a></li>
--   <li><a>aoaVerification</a></li>
--   </ul>
activityObjectActor :: ActivityObjectActor

-- | Actor info specific to particular clients.
aoaClientSpecificActorInfo :: Lens' ActivityObjectActor (Maybe ActivityObjectActorClientSpecificActorInfo)

-- | The image representation of the original actor.
aoaImage :: Lens' ActivityObjectActor (Maybe ActivityObjectActorImage)

-- | A link to the original actor's Google profile.
aoaURL :: Lens' ActivityObjectActor (Maybe Text)

-- | The original actor's name, which is suitable for display.
aoaDisplayName :: Lens' ActivityObjectActor (Maybe Text)

-- | ID of the original actor.
aoaId :: Lens' ActivityObjectActor (Maybe Text)

-- | Verification status of actor.
aoaVerification :: Lens' ActivityObjectActor (Maybe ActivityObjectActorVerification)

-- | The full image URL for photo attachments.
--   
--   <i>See:</i> <a>activityObjectAttachmentsItemFullImage</a> smart
--   constructor.
data ActivityObjectAttachmentsItemFullImage

-- | Creates a value of <a>ActivityObjectAttachmentsItemFullImage</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>aoaifiHeight</a></li>
--   <li><a>aoaifiURL</a></li>
--   <li><a>aoaifiWidth</a></li>
--   <li><a>aoaifiType</a></li>
--   </ul>
activityObjectAttachmentsItemFullImage :: ActivityObjectAttachmentsItemFullImage

-- | The height, in pixels, of the linked resource.
aoaifiHeight :: Lens' ActivityObjectAttachmentsItemFullImage (Maybe Word32)

-- | URL of the image.
aoaifiURL :: Lens' ActivityObjectAttachmentsItemFullImage (Maybe Text)

-- | The width, in pixels, of the linked resource.
aoaifiWidth :: Lens' ActivityObjectAttachmentsItemFullImage (Maybe Word32)

-- | Media type of the link.
aoaifiType :: Lens' ActivityObjectAttachmentsItemFullImage (Maybe Text)

-- | The collection of people to list.
data PeopleListByActivityCollection

-- | <tt>plusoners</tt> List all people who have +1'd this activity.
Plusoners :: PeopleListByActivityCollection

-- | <tt>resharers</tt> List all people who have reshared this activity.
Resharers :: PeopleListByActivityCollection

-- | The image representation of the actor.
--   
--   <i>See:</i> <a>activityActorImage</a> smart constructor.
data ActivityActorImage

-- | Creates a value of <a>ActivityActorImage</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>aaiURL</a></li>
--   </ul>
activityActorImage :: ActivityActorImage

-- | The URL of the actor's profile photo. To resize the image and crop it
--   to a square, append the query string ?sz=x, where x is the dimension
--   in pixels of each side.
aaiURL :: Lens' ActivityActorImage (Maybe Text)
data PeopleFeed

-- | Creates a value of <a>PeopleFeed</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>pfTotalItems</a></li>
--   <li><a>pfEtag</a></li>
--   <li><a>pfNextPageToken</a></li>
--   <li><a>pfKind</a></li>
--   <li><a>pfItems</a></li>
--   <li><a>pfSelfLink</a></li>
--   <li><a>pfTitle</a></li>
--   </ul>
peopleFeed :: PeopleFeed

-- | The total number of people available in this list. The number of
--   people in a response might be smaller due to paging. This might not be
--   set for all collections.
pfTotalItems :: Lens' PeopleFeed (Maybe Int32)

-- | ETag of this response for caching purposes.
pfEtag :: Lens' PeopleFeed (Maybe Text)

-- | The continuation token, which is used to page through large result
--   sets. Provide this value in a subsequent request to return the next
--   page of results.
pfNextPageToken :: Lens' PeopleFeed (Maybe Text)

-- | Identifies this resource as a collection of people. Value:
--   "plus#peopleFeed".
pfKind :: Lens' PeopleFeed Text

-- | The people in this page of results. Each item includes the id,
--   displayName, image, and url for the person. To retrieve additional
--   profile data, see the people.get method.
pfItems :: Lens' PeopleFeed [Person]

-- | Link to this resource.
pfSelfLink :: Lens' PeopleFeed (Maybe Text)

-- | The title of this collection of people.
pfTitle :: Lens' PeopleFeed (Maybe Text)

-- | The person's primary cover image.
--   
--   <i>See:</i> <a>personCoverCoverPhoto</a> smart constructor.
data PersonCoverCoverPhoto

-- | Creates a value of <a>PersonCoverCoverPhoto</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>pccpHeight</a></li>
--   <li><a>pccpURL</a></li>
--   <li><a>pccpWidth</a></li>
--   </ul>
personCoverCoverPhoto :: PersonCoverCoverPhoto

-- | The height of the image.
pccpHeight :: Lens' PersonCoverCoverPhoto (Maybe Int32)

-- | The URL of the image.
pccpURL :: Lens' PersonCoverCoverPhoto (Maybe Text)

-- | The width of the image.
pccpWidth :: Lens' PersonCoverCoverPhoto (Maybe Int32)

-- | The age range of the person. Valid ranges are 17 or younger, 18 to 20,
--   and 21 or older. Age is determined from the user's birthday using
--   Western age reckoning.
--   
--   <i>See:</i> <a>personAgeRange</a> smart constructor.
data PersonAgeRange

-- | Creates a value of <a>PersonAgeRange</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>parMax</a></li>
--   <li><a>parMin</a></li>
--   </ul>
personAgeRange :: PersonAgeRange

-- | The age range's upper bound, if any. Possible values include, but are
--   not limited to, the following: - "17" - for age 17 - "20" - for age 20
parMax :: Lens' PersonAgeRange (Maybe Int32)

-- | The age range's lower bound, if any. Possible values include, but are
--   not limited to, the following: - "21" - for age 21 - "18" - for age 18
parMin :: Lens' PersonAgeRange (Maybe Int32)

-- | The image representation of the original actor.
--   
--   <i>See:</i> <a>activityObjectActorImage</a> smart constructor.
data ActivityObjectActorImage

-- | Creates a value of <a>ActivityObjectActorImage</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>aoaiURL</a></li>
--   </ul>
activityObjectActorImage :: ActivityObjectActorImage

-- | A URL that points to a thumbnail photo of the original actor.
aoaiURL :: Lens' ActivityObjectActorImage (Maybe Text)

-- | Actor info specific to YouTube clients.
--   
--   <i>See:</i> <a>commentActorClientSpecificActorInfoYouTubeActorInfo</a>
--   smart constructor.
data CommentActorClientSpecificActorInfoYouTubeActorInfo

-- | Creates a value of
--   <a>CommentActorClientSpecificActorInfoYouTubeActorInfo</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>cacsaiytaiChannelId</a></li>
--   </ul>
commentActorClientSpecificActorInfoYouTubeActorInfo :: CommentActorClientSpecificActorInfoYouTubeActorInfo

-- | ID of the YouTube channel owned by the Actor.
cacsaiytaiChannelId :: Lens' CommentActorClientSpecificActorInfoYouTubeActorInfo (Maybe Text)

-- | The order to return people in.
data PeopleListOrderBy

-- | <tt>alphabetical</tt> Order the people by their display name.
Alphabetical :: PeopleListOrderBy

-- | <tt>best</tt> Order people based on the relevence to the viewer.
Best :: PeopleListOrderBy

-- | Comments in reply to this activity.
--   
--   <i>See:</i> <a>activityObjectReplies</a> smart constructor.
data ActivityObjectReplies

-- | Creates a value of <a>ActivityObjectReplies</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>aorTotalItems</a></li>
--   <li><a>aorSelfLink</a></li>
--   </ul>
activityObjectReplies :: ActivityObjectReplies

-- | Total number of comments on this activity.
aorTotalItems :: Lens' ActivityObjectReplies (Maybe Word32)

-- | The URL for the collection of comments in reply to this activity.
aorSelfLink :: Lens' ActivityObjectReplies (Maybe Text)

-- | The collection of activities to list.
data ActivitiesListCollection

-- | <tt>public</tt> All public activities created by the specified user.
Public :: ActivitiesListCollection

-- | Verification status of actor.
--   
--   <i>See:</i> <a>activityActorVerification</a> smart constructor.
data ActivityActorVerification

-- | Creates a value of <a>ActivityActorVerification</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>aavAdHocVerified</a></li>
--   </ul>
activityActorVerification :: ActivityActorVerification

-- | Verification for one-time or manual processes.
aavAdHocVerified :: Lens' ActivityActorVerification (Maybe Text)

-- | Actor info specific to particular clients.
--   
--   <i>See:</i> <a>activityObjectActorClientSpecificActorInfo</a> smart
--   constructor.
data ActivityObjectActorClientSpecificActorInfo

-- | Creates a value of <a>ActivityObjectActorClientSpecificActorInfo</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>aoacsaiYouTubeActorInfo</a></li>
--   </ul>
activityObjectActorClientSpecificActorInfo :: ActivityObjectActorClientSpecificActorInfo

-- | Actor info specific to YouTube clients.
aoacsaiYouTubeActorInfo :: Lens' ActivityObjectActorClientSpecificActorInfo (Maybe ActivityObjectActorClientSpecificActorInfoYouTubeActorInfo)

-- | The collection of people to list.
data PeopleListCollection

-- | <tt>connected</tt> The list of visible people in the authenticated
--   user's circles who also use the requesting app. This list is limited
--   to users who made their app activities visible to the authenticated
--   user.
Connected :: PeopleListCollection

-- | <tt>visible</tt> The list of people who this user has added to one or
--   more circles, limited to the circles visible to the requesting
--   application.
Visible :: PeopleListCollection
data ActivityObjectAttachmentsItem

-- | Creates a value of <a>ActivityObjectAttachmentsItem</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>aFullImage</a></li>
--   <li><a>aImage</a></li>
--   <li><a>aObjectType</a></li>
--   <li><a>aURL</a></li>
--   <li><a>aEmbed</a></li>
--   <li><a>aContent</a></li>
--   <li><a>aThumbnails</a></li>
--   <li><a>aDisplayName</a></li>
--   <li><a>aId</a></li>
--   </ul>
activityObjectAttachmentsItem :: ActivityObjectAttachmentsItem

-- | The full image URL for photo attachments.
aFullImage :: Lens' ActivityObjectAttachmentsItem (Maybe ActivityObjectAttachmentsItemFullImage)

-- | The preview image for photos or videos.
aImage :: Lens' ActivityObjectAttachmentsItem (Maybe ActivityObjectAttachmentsItemImage)

-- | The type of media object. Possible values include, but are not limited
--   to, the following values: - "photo" - A photo. - "album" - A photo
--   album. - "video" - A video. - "article" - An article, specified by a
--   link.
aObjectType :: Lens' ActivityObjectAttachmentsItem (Maybe Text)

-- | The link to the attachment, which should be of type text/html.
aURL :: Lens' ActivityObjectAttachmentsItem (Maybe Text)

-- | If the attachment is a video, the embeddable link.
aEmbed :: Lens' ActivityObjectAttachmentsItem (Maybe ActivityObjectAttachmentsItemEmbed)

-- | If the attachment is an article, this property contains a snippet of
--   text from the article. It can also include descriptions for other
--   types.
aContent :: Lens' ActivityObjectAttachmentsItem (Maybe Text)

-- | If the attachment is an album, this property is a list of potential
--   additional thumbnails from the album.
aThumbnails :: Lens' ActivityObjectAttachmentsItem [ActivityObjectAttachmentsItemThumbnailsItem]

-- | The title of the attachment, such as a photo caption or an article
--   title.
aDisplayName :: Lens' ActivityObjectAttachmentsItem (Maybe Text)

-- | The ID of the attachment.
aId :: Lens' ActivityObjectAttachmentsItem (Maybe Text)
data ActivityFeed

-- | Creates a value of <a>ActivityFeed</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>afEtag</a></li>
--   <li><a>afNextPageToken</a></li>
--   <li><a>afNextLink</a></li>
--   <li><a>afKind</a></li>
--   <li><a>afItems</a></li>
--   <li><a>afSelfLink</a></li>
--   <li><a>afId</a></li>
--   <li><a>afUpdated</a></li>
--   <li><a>afTitle</a></li>
--   </ul>
activityFeed :: ActivityFeed

-- | ETag of this response for caching purposes.
afEtag :: Lens' ActivityFeed (Maybe Text)

-- | The continuation token, which is used to page through large result
--   sets. Provide this value in a subsequent request to return the next
--   page of results.
afNextPageToken :: Lens' ActivityFeed (Maybe Text)

-- | Link to the next page of activities.
afNextLink :: Lens' ActivityFeed (Maybe Text)

-- | Identifies this resource as a collection of activities. Value:
--   "plus#activityFeed".
afKind :: Lens' ActivityFeed Text

-- | The activities in this page of results.
afItems :: Lens' ActivityFeed [Activity]

-- | Link to this activity resource.
afSelfLink :: Lens' ActivityFeed (Maybe Text)

-- | The ID of this collection of activities. Deprecated.
afId :: Lens' ActivityFeed (Maybe Text)

-- | The time at which this collection of activities was last updated.
--   Formatted as an RFC 3339 timestamp.
afUpdated :: Lens' ActivityFeed (Maybe UTCTime)

-- | The title of this collection of activities, which is a truncated
--   portion of the content.
afTitle :: Lens' ActivityFeed (Maybe Text)

-- | Verification status of actor.
--   
--   <i>See:</i> <a>activityObjectActorVerification</a> smart constructor.
data ActivityObjectActorVerification

-- | Creates a value of <a>ActivityObjectActorVerification</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>aoavAdHocVerified</a></li>
--   </ul>
activityObjectActorVerification :: ActivityObjectActorVerification

-- | Verification for one-time or manual processes.
aoavAdHocVerified :: Lens' ActivityObjectActorVerification (Maybe Text)

-- | An object representation of the individual components of a person's
--   name.
--   
--   <i>See:</i> <a>personName</a> smart constructor.
data PersonName

-- | Creates a value of <a>PersonName</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>pnMiddleName</a></li>
--   <li><a>pnFormatted</a></li>
--   <li><a>pnHonorificPrefix</a></li>
--   <li><a>pnFamilyName</a></li>
--   <li><a>pnHonorificSuffix</a></li>
--   </ul>
personName :: PersonName

-- | The given name (first name) of this person.
pnGivenName :: Lens' PersonName (Maybe Text)

-- | The middle name of this person.
pnMiddleName :: Lens' PersonName (Maybe Text)

-- | The full name of this person, including middle names, suffixes, etc.
pnFormatted :: Lens' PersonName (Maybe Text)

-- | The honorific prefixes (such as "Dr." or "Mrs.") for this person.
pnHonorificPrefix :: Lens' PersonName (Maybe Text)

-- | The family name (last name) of this person.
pnFamilyName :: Lens' PersonName (Maybe Text)

-- | The honorific suffixes (such as "Jr.") for this person.
pnHonorificSuffix :: Lens' PersonName (Maybe Text)

-- | The representation of the person's profile photo.
--   
--   <i>See:</i> <a>personImage</a> smart constructor.
data PersonImage

-- | Creates a value of <a>PersonImage</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>piURL</a></li>
--   <li><a>piIsDefault</a></li>
--   </ul>
personImage :: PersonImage

-- | The URL of the person's profile photo. To resize the image and crop it
--   to a square, append the query string ?sz=x, where x is the dimension
--   in pixels of each side.
piURL :: Lens' PersonImage (Maybe Text)

-- | Whether the person's profile photo is the default one
piIsDefault :: Lens' PersonImage (Maybe Bool)

-- | Actor info specific to YouTube clients.
--   
--   <i>See:</i>
--   <a>activityActorClientSpecificActorInfoYouTubeActorInfo</a> smart
--   constructor.
data ActivityActorClientSpecificActorInfoYouTubeActorInfo

-- | Creates a value of
--   <a>ActivityActorClientSpecificActorInfoYouTubeActorInfo</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>aacsaiytaiChannelId</a></li>
--   </ul>
activityActorClientSpecificActorInfoYouTubeActorInfo :: ActivityActorClientSpecificActorInfoYouTubeActorInfo

-- | ID of the YouTube channel owned by the Actor.
aacsaiytaiChannelId :: Lens' ActivityActorClientSpecificActorInfoYouTubeActorInfo (Maybe Text)
data PlusACLentryResource

-- | Creates a value of <a>PlusACLentryResource</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>parDisplayName</a></li>
--   <li><a>parId</a></li>
--   <li><a>parType</a></li>
--   </ul>
plusACLentryResource :: PlusACLentryResource

-- | A descriptive name for this entry. Suitable for display.
parDisplayName :: Lens' PlusACLentryResource (Maybe Text)

-- | The ID of the entry. For entries of type "person" or "circle", this is
--   the ID of the resource. For other types, this property is not set.
parId :: Lens' PlusACLentryResource (Maybe Text)

-- | The type of entry describing to whom access is granted. Possible
--   values are: - "person" - Access to an individual. - "circle" - Access
--   to members of a circle. - "myCircles" - Access to members of all the
--   person's circles. - "extendedCircles" - Access to members of all the
--   person's circles, plus all of the people in their circles. - "domain"
--   - Access to members of the person's Google Apps domain. - "public" -
--   Access to anyone on the web.
parType :: Lens' PlusACLentryResource (Maybe Text)
data Activity

-- | Creates a value of <a>Activity</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>actAccess</a></li>
--   <li><a>actPlaceName</a></li>
--   <li><a>actEtag</a></li>
--   <li><a>actAnnotation</a></li>
--   <li><a>actLocation</a></li>
--   <li><a>actGeocode</a></li>
--   <li><a>actKind</a></li>
--   <li><a>actRadius</a></li>
--   <li><a>actPublished</a></li>
--   <li><a>actURL</a></li>
--   <li><a>actActor</a></li>
--   <li><a>actAddress</a></li>
--   <li><a>actObject</a></li>
--   <li><a>actId</a></li>
--   <li><a>actUpdated</a></li>
--   <li><a>actTitle</a></li>
--   <li><a>actVerb</a></li>
--   <li><a>actCrosspostSource</a></li>
--   <li><a>actPlaceId</a></li>
--   <li><a>actProvider</a></li>
--   </ul>
activity :: Activity

-- | Identifies who has access to see this activity.
actAccess :: Lens' Activity (Maybe ACL)

-- | Name of the place where this activity occurred.
actPlaceName :: Lens' Activity (Maybe Text)

-- | ETag of this response for caching purposes.
actEtag :: Lens' Activity (Maybe Text)

-- | Additional content added by the person who shared this activity,
--   applicable only when resharing an activity.
actAnnotation :: Lens' Activity (Maybe Text)

-- | The location where this activity occurred.
actLocation :: Lens' Activity (Maybe Place)

-- | Latitude and longitude where this activity occurred. Format is
--   latitude followed by longitude, space separated.
actGeocode :: Lens' Activity (Maybe Text)

-- | Identifies this resource as an activity. Value: "plus#activity".
actKind :: Lens' Activity Text

-- | Radius, in meters, of the region where this activity occurred,
--   centered at the latitude and longitude identified in geocode.
actRadius :: Lens' Activity (Maybe Text)

-- | The time at which this activity was initially published. Formatted as
--   an RFC 3339 timestamp.
actPublished :: Lens' Activity (Maybe UTCTime)

-- | The link to this activity.
actURL :: Lens' Activity (Maybe Text)

-- | The person who performed this activity.
actActor :: Lens' Activity (Maybe ActivityActor)

-- | Street address where this activity occurred.
actAddress :: Lens' Activity (Maybe Text)

-- | The object of this activity.
actObject :: Lens' Activity (Maybe ActivityObject)

-- | The ID of this activity.
actId :: Lens' Activity (Maybe Text)

-- | The time at which this activity was last updated. Formatted as an RFC
--   3339 timestamp.
actUpdated :: Lens' Activity (Maybe UTCTime)

-- | Title of this activity.
actTitle :: Lens' Activity (Maybe Text)

-- | This activity's verb, which indicates the action that was performed.
--   Possible values include, but are not limited to, the following values:
--   - "post" - Publish content to the stream. - "share" - Reshare an
--   activity.
actVerb :: Lens' Activity (Maybe Text)

-- | If this activity is a crosspost from another system, this property
--   specifies the ID of the original activity.
actCrosspostSource :: Lens' Activity (Maybe Text)

-- | ID of the place where this activity occurred.
actPlaceId :: Lens' Activity (Maybe Text)

-- | The service provider that initially published this activity.
actProvider :: Lens' Activity (Maybe ActivityProvider)

-- | The physical address of the place.
--   
--   <i>See:</i> <a>placeAddress</a> smart constructor.
data PlaceAddress

-- | Creates a value of <a>PlaceAddress</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>paFormatted</a></li>
--   </ul>
placeAddress :: PlaceAddress

-- | The formatted address for display.
paFormatted :: Lens' PlaceAddress (Maybe Text)
data ActivityObjectAttachmentsItemThumbnailsItem

-- | Creates a value of <a>ActivityObjectAttachmentsItemThumbnailsItem</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>aoaitiImage</a></li>
--   <li><a>aoaitiURL</a></li>
--   <li><a>aoaitiDescription</a></li>
--   </ul>
activityObjectAttachmentsItemThumbnailsItem :: ActivityObjectAttachmentsItemThumbnailsItem

-- | Image resource.
aoaitiImage :: Lens' ActivityObjectAttachmentsItemThumbnailsItem (Maybe ActivityObjectAttachmentsItemThumbnailsItemImage)

-- | URL of the webpage containing the image.
aoaitiURL :: Lens' ActivityObjectAttachmentsItemThumbnailsItem (Maybe Text)

-- | Potential name of the thumbnail.
aoaitiDescription :: Lens' ActivityObjectAttachmentsItemThumbnailsItem (Maybe Text)

-- | The cover photo content.
--   
--   <i>See:</i> <a>personCover</a> smart constructor.
data PersonCover

-- | Creates a value of <a>PersonCover</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>pcLayout</a></li>
--   <li><a>pcCoverInfo</a></li>
--   <li><a>pcCoverPhoto</a></li>
--   </ul>
personCover :: PersonCover

-- | The layout of the cover art. Possible values include, but are not
--   limited to, the following values: - "banner" - One large image banner.
pcLayout :: Lens' PersonCover (Maybe Text)

-- | Extra information about the cover photo.
pcCoverInfo :: Lens' PersonCover (Maybe PersonCoverCoverInfo)

-- | The person's primary cover image.
pcCoverPhoto :: Lens' PersonCover (Maybe PersonCoverCoverPhoto)
data CommentInReplyToItem

-- | Creates a value of <a>CommentInReplyToItem</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>cirtiURL</a></li>
--   <li><a>cirtiId</a></li>
--   </ul>
commentInReplyToItem :: CommentInReplyToItem

-- | The URL of the activity.
cirtiURL :: Lens' CommentInReplyToItem (Maybe Text)

-- | The ID of the activity.
cirtiId :: Lens' CommentInReplyToItem (Maybe Text)
data PersonOrganizationsItem

-- | Creates a value of <a>PersonOrganizationsItem</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>poiDePartment</a></li>
--   <li><a>poiLocation</a></li>
--   <li><a>poiEndDate</a></li>
--   <li><a>poiPrimary</a></li>
--   <li><a>poiStartDate</a></li>
--   <li><a>poiName</a></li>
--   <li><a>poiTitle</a></li>
--   <li><a>poiType</a></li>
--   <li><a>poiDescription</a></li>
--   </ul>
personOrganizationsItem :: PersonOrganizationsItem

-- | The department within the organization. Deprecated.
poiDePartment :: Lens' PersonOrganizationsItem (Maybe Text)

-- | The location of this organization. Deprecated.
poiLocation :: Lens' PersonOrganizationsItem (Maybe Text)

-- | The date that the person left this organization.
poiEndDate :: Lens' PersonOrganizationsItem (Maybe Text)

-- | If "true", indicates this organization is the person's primary one,
--   which is typically interpreted as the current one.
poiPrimary :: Lens' PersonOrganizationsItem (Maybe Bool)

-- | The date that the person joined this organization.
poiStartDate :: Lens' PersonOrganizationsItem (Maybe Text)

-- | The name of the organization.
poiName :: Lens' PersonOrganizationsItem (Maybe Text)

-- | The person's job title or role within the organization.
poiTitle :: Lens' PersonOrganizationsItem (Maybe Text)

-- | The type of organization. Possible values include, but are not limited
--   to, the following values: - "work" - Work. - "school" - School.
poiType :: Lens' PersonOrganizationsItem (Maybe Text)

-- | A short description of the person's role in this organization.
--   Deprecated.
poiDescription :: Lens' PersonOrganizationsItem (Maybe Text)
data PersonURLsItem

-- | Creates a value of <a>PersonURLsItem</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>puiValue</a></li>
--   <li><a>puiType</a></li>
--   <li><a>puiLabel</a></li>
--   </ul>
personURLsItem :: PersonURLsItem

-- | The URL value.
puiValue :: Lens' PersonURLsItem (Maybe Text)

-- | The type of URL. Possible values include, but are not limited to, the
--   following values: - "otherProfile" - URL for another profile. -
--   "contributor" - URL to a site for which this person is a contributor.
--   - "website" - URL for this Google+ Page's primary website. - "other" -
--   Other URL.
puiType :: Lens' PersonURLsItem (Maybe Text)

-- | The label of the URL.
puiLabel :: Lens' PersonURLsItem (Maybe Text)

-- | Specifies how to order search results.
data ActivitiesSearchOrderBy

-- | <tt>best</tt> Sort activities by relevance to the user, most relevant
--   first.
ASOBBest :: ActivitiesSearchOrderBy

-- | <tt>recent</tt> Sort activities by published date, most recent first.
ASOBRecent :: ActivitiesSearchOrderBy

-- | Extra information about the cover photo.
--   
--   <i>See:</i> <a>personCoverCoverInfo</a> smart constructor.
data PersonCoverCoverInfo

-- | Creates a value of <a>PersonCoverCoverInfo</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>pcciTopImageOffSet</a></li>
--   <li><a>pcciLeftImageOffSet</a></li>
--   </ul>
personCoverCoverInfo :: PersonCoverCoverInfo

-- | The difference between the top position of the cover image and the
--   actual displayed cover image. Only valid for banner layout.
pcciTopImageOffSet :: Lens' PersonCoverCoverInfo (Maybe Int32)

-- | The difference between the left position of the cover image and the
--   actual displayed cover image. Only valid for banner layout.
pcciLeftImageOffSet :: Lens' PersonCoverCoverInfo (Maybe Int32)

-- | People who reshared this activity.
--   
--   <i>See:</i> <a>activityObjectResharers</a> smart constructor.
data ActivityObjectResharers

-- | Creates a value of <a>ActivityObjectResharers</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>aTotalItems</a></li>
--   <li><a>aSelfLink</a></li>
--   </ul>
activityObjectResharers :: ActivityObjectResharers

-- | Total number of people who reshared this activity.
aTotalItems :: Lens' ActivityObjectResharers (Maybe Word32)

-- | The URL for the collection of resharers.
aSelfLink :: Lens' ActivityObjectResharers (Maybe Text)
data Comment

-- | Creates a value of <a>Comment</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>cEtag</a></li>
--   <li><a>cPlusoners</a></li>
--   <li><a>cKind</a></li>
--   <li><a>cPublished</a></li>
--   <li><a>cActor</a></li>
--   <li><a>cSelfLink</a></li>
--   <li><a>cObject</a></li>
--   <li><a>cId</a></li>
--   <li><a>cUpdated</a></li>
--   <li><a>cVerb</a></li>
--   <li><a>cInReplyTo</a></li>
--   </ul>
comment :: Comment

-- | ETag of this response for caching purposes.
cEtag :: Lens' Comment (Maybe Text)

-- | People who +1'd this comment.
cPlusoners :: Lens' Comment (Maybe CommentPlusoners)

-- | Identifies this resource as a comment. Value: "plus#comment".
cKind :: Lens' Comment Text

-- | The time at which this comment was initially published. Formatted as
--   an RFC 3339 timestamp.
cPublished :: Lens' Comment (Maybe UTCTime)

-- | The person who posted this comment.
cActor :: Lens' Comment (Maybe CommentActor)

-- | Link to this comment resource.
cSelfLink :: Lens' Comment (Maybe Text)

-- | The object of this comment.
cObject :: Lens' Comment (Maybe CommentObject)

-- | The ID of this comment.
cId :: Lens' Comment (Maybe Text)

-- | The time at which this comment was last updated. Formatted as an RFC
--   3339 timestamp.
cUpdated :: Lens' Comment (Maybe UTCTime)

-- | This comment's verb, indicating what action was performed. Possible
--   values are: - "post" - Publish content to the stream.
cVerb :: Lens' Comment Text

-- | The activity this comment replied to.
cInReplyTo :: Lens' Comment [CommentInReplyToItem]
data Place

-- | Creates a value of <a>Place</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>plaKind</a></li>
--   <li><a>plaAddress</a></li>
--   <li><a>plaDisplayName</a></li>
--   <li><a>plaId</a></li>
--   <li><a>plaPosition</a></li>
--   </ul>
place :: Place

-- | Identifies this resource as a place. Value: "plus#place".
plaKind :: Lens' Place Text

-- | The physical address of the place.
plaAddress :: Lens' Place (Maybe PlaceAddress)

-- | The display name of the place.
plaDisplayName :: Lens' Place (Maybe Text)

-- | The id of the place.
plaId :: Lens' Place (Maybe Text)

-- | The position of the place.
plaPosition :: Lens' Place (Maybe PlacePosition)
data ACL

-- | Creates a value of <a>ACL</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>aKind</a></li>
--   <li><a>aItems</a></li>
--   <li><a>aDescription</a></li>
--   </ul>
acl :: ACL

-- | Identifies this resource as a collection of access controls. Value:
--   "plus#acl".
aKind :: Lens' ACL Text

-- | The list of access entries.
aItems :: Lens' ACL [PlusACLentryResource]

-- | Description of the access granted, suitable for display.
aDescription :: Lens' ACL (Maybe Text)

-- | The person who performed this activity.
--   
--   <i>See:</i> <a>activityActor</a> smart constructor.
data ActivityActor

-- | Creates a value of <a>ActivityActor</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>aaClientSpecificActorInfo</a></li>
--   <li><a>aaImage</a></li>
--   <li><a>aaURL</a></li>
--   <li><a>aaName</a></li>
--   <li><a>aaDisplayName</a></li>
--   <li><a>aaId</a></li>
--   <li><a>aaVerification</a></li>
--   </ul>
activityActor :: ActivityActor

-- | Actor info specific to particular clients.
aaClientSpecificActorInfo :: Lens' ActivityActor (Maybe ActivityActorClientSpecificActorInfo)

-- | The image representation of the actor.
aaImage :: Lens' ActivityActor (Maybe ActivityActorImage)

-- | The link to the actor's Google profile.
aaURL :: Lens' ActivityActor (Maybe Text)

-- | An object representation of the individual components of name.
aaName :: Lens' ActivityActor (Maybe ActivityActorName)

-- | The name of the actor, suitable for display.
aaDisplayName :: Lens' ActivityActor (Maybe Text)

-- | The ID of the actor's Person resource.
aaId :: Lens' ActivityActor (Maybe Text)

-- | Verification status of actor.
aaVerification :: Lens' ActivityActor (Maybe ActivityActorVerification)

-- | The order in which to sort the list of comments.
data CommentsListSortOrder

-- | <tt>ascending</tt> Sort oldest comments first.
Ascending :: CommentsListSortOrder

-- | <tt>descending</tt> Sort newest comments first.
Descending :: CommentsListSortOrder

-- | The object of this comment.
--   
--   <i>See:</i> <a>commentObject</a> smart constructor.
data CommentObject

-- | Creates a value of <a>CommentObject</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>coObjectType</a></li>
--   <li><a>coOriginalContent</a></li>
--   <li><a>coContent</a></li>
--   </ul>
commentObject :: CommentObject

-- | The object type of this comment. Possible values are: - "comment" - A
--   comment in reply to an activity.
coObjectType :: Lens' CommentObject Text

-- | The content (text) as provided by the author, stored without any HTML
--   formatting. When creating or updating a comment, this value must be
--   supplied as plain text in the request.
coOriginalContent :: Lens' CommentObject (Maybe Text)

-- | The HTML-formatted content, suitable for display.
coContent :: Lens' CommentObject (Maybe Text)
data CommentFeed

-- | Creates a value of <a>CommentFeed</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>cfEtag</a></li>
--   <li><a>cfNextPageToken</a></li>
--   <li><a>cfNextLink</a></li>
--   <li><a>cfKind</a></li>
--   <li><a>cfItems</a></li>
--   <li><a>cfId</a></li>
--   <li><a>cfUpdated</a></li>
--   <li><a>cfTitle</a></li>
--   </ul>
commentFeed :: CommentFeed

-- | ETag of this response for caching purposes.
cfEtag :: Lens' CommentFeed (Maybe Text)

-- | The continuation token, which is used to page through large result
--   sets. Provide this value in a subsequent request to return the next
--   page of results.
cfNextPageToken :: Lens' CommentFeed (Maybe Text)

-- | Link to the next page of activities.
cfNextLink :: Lens' CommentFeed (Maybe Text)

-- | Identifies this resource as a collection of comments. Value:
--   "plus#commentFeed".
cfKind :: Lens' CommentFeed Text

-- | The comments in this page of results.
cfItems :: Lens' CommentFeed [Comment]

-- | The ID of this collection of comments.
cfId :: Lens' CommentFeed (Maybe Text)

-- | The time at which this collection of comments was last updated.
--   Formatted as an RFC 3339 timestamp.
cfUpdated :: Lens' CommentFeed (Maybe UTCTime)

-- | The title of this collection of comments.
cfTitle :: Lens' CommentFeed (Maybe Text)

-- | Verification status of actor.
--   
--   <i>See:</i> <a>commentActorVerification</a> smart constructor.
data CommentActorVerification

-- | Creates a value of <a>CommentActorVerification</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>cavAdHocVerified</a></li>
--   </ul>
commentActorVerification :: CommentActorVerification

-- | Verification for one-time or manual processes.
cavAdHocVerified :: Lens' CommentActorVerification (Maybe Text)

-- | An object representation of the individual components of name.
--   
--   <i>See:</i> <a>activityActorName</a> smart constructor.
data ActivityActorName

-- | Creates a value of <a>ActivityActorName</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>aanGivenName</a></li>
--   <li><a>aanFamilyName</a></li>
--   </ul>
activityActorName :: ActivityActorName

-- | The given name ("first name") of the actor.
aanGivenName :: Lens' ActivityActorName (Maybe Text)

-- | The family name ("last name") of the actor.
aanFamilyName :: Lens' ActivityActorName (Maybe Text)
