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


-- | Google + Domains SDK.
--   
--   Builds on top of the Google+ platform for Google Apps Domains.
--   
--   <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-domains
@version 0.3.0


module Network.Google.PlusDomains.Types

-- | Default request referring to version <tt>v1</tt> of the Google+
--   Domains API. This contains the host and root path used as a starting
--   point for constructing service requests.
plusDomainsService :: 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 own Google+ profile and profiles visible to you
plusProFilesReadScope :: Proxy '["https://www.googleapis.com/auth/plus.profiles.read"]

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

-- | Manage your Google+ posts, comments, and stream
plusStreamWriteScope :: Proxy '["https://www.googleapis.com/auth/plus.stream.write"]

-- | View your Google+ posts, comments, and stream
plusStreamReadScope :: Proxy '["https://www.googleapis.com/auth/plus.stream.read"]

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

-- | View your circles and the people and pages in them
plusCirclesReadScope :: Proxy '["https://www.googleapis.com/auth/plus.circles.read"]

-- | Send your photos and videos to Google+
plusMediaUploadScope :: Proxy '["https://www.googleapis.com/auth/plus.media.upload"]

-- | Manage your circles and add people and pages. People and pages you add
--   to your circles will be notified. Others may see this information
--   publicly. People you add to circles can use Hangouts with you.
plusCirclesWriteScope :: Proxy '["https://www.googleapis.com/auth/plus.circles.write"]
data Audience

-- | Creates a value of <a>Audience</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>aEtag</a></li>
--   <li><a>aKind</a></li>
--   <li><a>aVisibility</a></li>
--   <li><a>aItem</a></li>
--   <li><a>aMemberCount</a></li>
--   </ul>
audience :: Audience

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

-- | Identifies this resource as an audience. Value: "plus#audience".
aKind :: Lens' Audience Text

-- | The circle members' visibility as chosen by the owner of the circle.
--   This only applies for items with "item.type" equals "circle". Possible
--   values are: - "public" - Members are visible to the public. -
--   "limited" - Members are visible to a limited audience. - "private" -
--   Members are visible to the owner only.
aVisibility :: Lens' Audience (Maybe Text)

-- | The access control list entry.
aItem :: Lens' Audience (Maybe PlusDomainsACLentryResource)

-- | The number of people in this circle. This only applies if entity_type
--   is CIRCLE.
aMemberCount :: Lens' Audience (Maybe Word32)

-- | 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)
data Circle

-- | Creates a value of <a>Circle</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>cKind</a></li>
--   <li><a>cPeople</a></li>
--   <li><a>cSelfLink</a></li>
--   <li><a>cDisplayName</a></li>
--   <li><a>cId</a></li>
--   <li><a>cDescription</a></li>
--   </ul>
circle :: Circle

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

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

-- | The people in this circle.
cPeople :: Lens' Circle (Maybe CirclePeople)

-- | Link to this circle resource
cSelfLink :: Lens' Circle (Maybe Text)

-- | The circle name.
cDisplayName :: Lens' Circle (Maybe Text)

-- | The ID of the circle.
cId :: Lens' Circle (Maybe Text)

-- | The description of this circle.
cDescription :: Lens' Circle (Maybe Text)

-- | 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>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>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)

-- | 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)

-- | 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)
data Videostream

-- | Creates a value of <a>Videostream</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>vHeight</a></li>
--   <li><a>vURL</a></li>
--   <li><a>vWidth</a></li>
--   <li><a>vType</a></li>
--   </ul>
videostream :: Videostream

-- | The height, in pixels, of the video resource.
vHeight :: Lens' Videostream (Maybe Int32)

-- | URL of the video stream.
vURL :: Lens' Videostream (Maybe Text)

-- | The width, in pixels, of the video resource.
vWidth :: Lens' Videostream (Maybe Int32)

-- | MIME type of the video stream.
vType :: Lens' Videostream (Maybe Text)
data MediaInsertCollection

-- | <tt>cloud</tt> Upload the media to share on Google+.
Cloud :: MediaInsertCollection
data CircleFeed

-- | Creates a value of <a>CircleFeed</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>cfTotalItems</a></li>
--   <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>cfSelfLink</a></li>
--   <li><a>cfTitle</a></li>
--   </ul>
circleFeed :: CircleFeed

-- | The total number of circles. The number of circles in this response
--   may be smaller due to paging.
cfTotalItems :: Lens' CircleFeed (Maybe Int32)

-- | ETag of this response for caching purposes.
cfEtag :: Lens' CircleFeed (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' CircleFeed (Maybe Text)

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

-- | Identifies this resource as a collection of circles. Value:
--   "plus#circleFeed".
cfKind :: Lens' CircleFeed Text

-- | The circles in this page of results.
cfItems :: Lens' CircleFeed [Circle]

-- | Link to this page of circles.
cfSelfLink :: Lens' CircleFeed (Maybe Text)

-- | The title of this list of resources.
cfTitle :: Lens' CircleFeed (Maybe Text)

-- | 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>aoStatusForViewer</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)

-- | Status of the activity as seen by the viewer.
aoStatusForViewer :: Lens' ActivityObject (Maybe ActivityObjectStatusForViewer)

-- | 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 author's Google profile image.
--   
--   <i>See:</i> <a>mediaAuthorImage</a> smart constructor.
data MediaAuthorImage

-- | Creates a value of <a>MediaAuthorImage</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>maiURL</a></li>
--   </ul>
mediaAuthorImage :: MediaAuthorImage

-- | The URL of the author'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.
maiURL :: Lens' MediaAuthorImage (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

-- | <tt>sharedto</tt> List all people who this activity was shared to.
Sharedto :: PeopleListByActivityCollection

-- | The people in this circle.
--   
--   <i>See:</i> <a>circlePeople</a> smart constructor.
data CirclePeople

-- | Creates a value of <a>CirclePeople</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>cTotalItems</a></li>
--   </ul>
circlePeople :: CirclePeople

-- | The total number of people in this circle.
cTotalItems :: Lens' CirclePeople (Maybe Word32)
data PlusDomainsACLentryResource

-- | Creates a value of <a>PlusDomainsACLentryResource</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>pdarDisplayName</a></li>
--   <li><a>pdarId</a></li>
--   <li><a>pdarType</a></li>
--   </ul>
plusDomainsACLentryResource :: PlusDomainsACLentryResource

-- | A descriptive name for this entry. Suitable for display.
pdarDisplayName :: Lens' PlusDomainsACLentryResource (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.
pdarId :: Lens' PlusDomainsACLentryResource (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.
pdarType :: Lens' PlusDomainsACLentryResource (Maybe Text)

-- | 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 person who uploaded this media.
--   
--   <i>See:</i> <a>mediaAuthor</a> smart constructor.
data MediaAuthor

-- | Creates a value of <a>MediaAuthor</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>maImage</a></li>
--   <li><a>maURL</a></li>
--   <li><a>maDisplayName</a></li>
--   <li><a>maId</a></li>
--   </ul>
mediaAuthor :: MediaAuthor

-- | The author's Google profile image.
maImage :: Lens' MediaAuthor (Maybe MediaAuthorImage)

-- | A link to the author's Google profile.
maURL :: Lens' MediaAuthor (Maybe Text)

-- | The author's name.
maDisplayName :: Lens' MediaAuthor (Maybe Text)

-- | ID of the author.
maId :: Lens' MediaAuthor (Maybe Text)

-- | 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)
data Media

-- | Creates a value of <a>Media</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>mSizeBytes</a></li>
--   <li><a>mSummary</a></li>
--   <li><a>mEtag</a></li>
--   <li><a>mHeight</a></li>
--   <li><a>mVideoDuration</a></li>
--   <li><a>mVideoStatus</a></li>
--   <li><a>mKind</a></li>
--   <li><a>mPublished</a></li>
--   <li><a>mURL</a></li>
--   <li><a>mWidth</a></li>
--   <li><a>mMediaURL</a></li>
--   <li><a>mStreams</a></li>
--   <li><a>mExif</a></li>
--   <li><a>mDisplayName</a></li>
--   <li><a>mAuthor</a></li>
--   <li><a>mId</a></li>
--   <li><a>mUpdated</a></li>
--   <li><a>mMediaCreatedTime</a></li>
--   </ul>
media :: Media

-- | The size in bytes of this video.
mSizeBytes :: Lens' Media (Maybe Int64)

-- | A description, or caption, for this media.
mSummary :: Lens' Media (Maybe Text)

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

-- | The height in pixels of the original image.
mHeight :: Lens' Media (Maybe Word32)

-- | The duration in milliseconds of this video.
mVideoDuration :: Lens' Media (Maybe Int64)

-- | The encoding status of this video. Possible values are: - "UPLOADING"
--   - Not all the video bytes have been received. - "PENDING" - Video not
--   yet processed. - "FAILED" - Video processing failed. - "READY" - A
--   single video stream is playable. - "FINAL" - All video streams are
--   playable.
mVideoStatus :: Lens' Media (Maybe Text)

-- | The type of resource.
mKind :: Lens' Media Text

-- | The time at which this media was uploaded. Formatted as an RFC 3339
--   timestamp.
mPublished :: Lens' Media (Maybe UTCTime)

-- | The URL for the page that hosts this media.
mURL :: Lens' Media (Maybe Text)

-- | The width in pixels of the original image.
mWidth :: Lens' Media (Maybe Word32)

-- | The URL of this photo or video's still image.
mMediaURL :: Lens' Media (Maybe Text)

-- | The list of video streams for this video. There might be several
--   different streams available for a single video, either Flash or MPEG,
--   of various sizes
mStreams :: Lens' Media [Videostream]

-- | Exif information of the media item.
mExif :: Lens' Media (Maybe MediaExif)

-- | The display name for this media.
mDisplayName :: Lens' Media (Maybe Text)

-- | The person who uploaded this media.
mAuthor :: Lens' Media (Maybe MediaAuthor)

-- | ID of this media, which is generated by the API.
mId :: Lens' Media (Maybe Text)

-- | The time at which this media was last updated. This includes changes
--   to media metadata. Formatted as an RFC 3339 timestamp.
mUpdated :: Lens' Media (Maybe UTCTime)

-- | The time at which this media was originally created in UTC. Formatted
--   as an RFC 3339 timestamp that matches this example:
--   2010-11-25T14:30:27.655Z
mMediaCreatedTime :: Lens' Media (Maybe UTCTime)

-- | 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>user</tt> All activities created by the specified user that the
--   authenticated user is authorized to view.
User :: ActivitiesListCollection
data ActivityObjectAttachmentsItemPreviewThumbnailsItem

-- | Creates a value of
--   <a>ActivityObjectAttachmentsItemPreviewThumbnailsItem</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>aoaiptiURL</a></li>
--   </ul>
activityObjectAttachmentsItemPreviewThumbnailsItem :: ActivityObjectAttachmentsItemPreviewThumbnailsItem

-- | URL of the thumbnail image.
aoaiptiURL :: Lens' ActivityObjectAttachmentsItemPreviewThumbnailsItem (Maybe Text)

-- | 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>circled</tt> The list of people who this user has added to one or
--   more circles.
Circled :: 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>aPreviewThumbnails</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)

-- | When previewing, these are the optional thumbnails for the post. When
--   posting an article, choose one by setting the attachment.image.url
--   property. If you don't choose one, one will be chosen for you.
aPreviewThumbnails :: Lens' ActivityObjectAttachmentsItem [ActivityObjectAttachmentsItemPreviewThumbnailsItem]

-- | 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)

-- | Status of the activity as seen by the viewer.
--   
--   <i>See:</i> <a>activityObjectStatusForViewer</a> smart constructor.
data ActivityObjectStatusForViewer

-- | Creates a value of <a>ActivityObjectStatusForViewer</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>aosfvCanComment</a></li>
--   <li><a>aosfvResharingDisabled</a></li>
--   <li><a>aosfvCanUpdate</a></li>
--   <li><a>aosfvIsPlusOned</a></li>
--   <li><a>aosfvCanPlusone</a></li>
--   </ul>
activityObjectStatusForViewer :: ActivityObjectStatusForViewer

-- | Whether the viewer can comment on the activity.
aosfvCanComment :: Lens' ActivityObjectStatusForViewer (Maybe Bool)

-- | Whether reshares are disabled for the activity.
aosfvResharingDisabled :: Lens' ActivityObjectStatusForViewer (Maybe Bool)

-- | Whether the viewer can edit or delete the activity.
aosfvCanUpdate :: Lens' ActivityObjectStatusForViewer (Maybe Bool)

-- | Whether the viewer has +1'd the activity.
aosfvIsPlusOned :: Lens' ActivityObjectStatusForViewer (Maybe Bool)

-- | Whether the viewer can +1 the activity.
aosfvCanPlusone :: Lens' ActivityObjectStatusForViewer (Maybe Bool)
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 AudiencesFeed

-- | Creates a value of <a>AudiencesFeed</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>audTotalItems</a></li>
--   <li><a>audEtag</a></li>
--   <li><a>audNextPageToken</a></li>
--   <li><a>audKind</a></li>
--   <li><a>audItems</a></li>
--   </ul>
audiencesFeed :: AudiencesFeed

-- | The total number of ACL entries. The number of entries in this
--   response may be smaller due to paging.
audTotalItems :: Lens' AudiencesFeed (Maybe Int32)

-- | ETag of this response for caching purposes.
audEtag :: Lens' AudiencesFeed (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.
audNextPageToken :: Lens' AudiencesFeed (Maybe Text)

-- | Identifies this resource as a collection of audiences. Value:
--   "plus#audienceFeed".
audKind :: Lens' AudiencesFeed Text

-- | The audiences in this result.
audItems :: Lens' AudiencesFeed [Audience]
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)

-- | 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>comEtag</a></li>
--   <li><a>comPlusoners</a></li>
--   <li><a>comKind</a></li>
--   <li><a>comPublished</a></li>
--   <li><a>comActor</a></li>
--   <li><a>comSelfLink</a></li>
--   <li><a>comObject</a></li>
--   <li><a>comId</a></li>
--   <li><a>comUpdated</a></li>
--   <li><a>comVerb</a></li>
--   <li><a>comInReplyTo</a></li>
--   </ul>
comment :: Comment

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

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

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

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

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

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

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

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

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

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

-- | The activity this comment replied to.
comInReplyTo :: 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>aclcKind</a></li>
--   <li><a>aclcItems</a></li>
--   <li><a>aclcDomainRestricted</a></li>
--   <li><a>aclcDescription</a></li>
--   </ul>
acl :: ACL

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

-- | The list of access entries.
aclcItems :: Lens' ACL [PlusDomainsACLentryResource]

-- | Whether access is restricted to the domain.
aclcDomainRestricted :: Lens' ACL (Maybe Bool)

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

-- | Exif information of the media item.
--   
--   <i>See:</i> <a>mediaExif</a> smart constructor.
data MediaExif

-- | Creates a value of <a>MediaExif</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>meTime</a></li>
--   </ul>
mediaExif :: MediaExif

-- | The time the media was captured. Formatted as an RFC 3339 timestamp.
meTime :: Lens' MediaExif (Maybe UTCTime)

-- | 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>cffEtag</a></li>
--   <li><a>cffNextPageToken</a></li>
--   <li><a>cffNextLink</a></li>
--   <li><a>cffKind</a></li>
--   <li><a>cffItems</a></li>
--   <li><a>cffId</a></li>
--   <li><a>cffUpdated</a></li>
--   <li><a>cffTitle</a></li>
--   </ul>
commentFeed :: CommentFeed

-- | ETag of this response for caching purposes.
cffEtag :: 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.
cffNextPageToken :: Lens' CommentFeed (Maybe Text)

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

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

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

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

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

-- | The title of this collection of comments.
cffTitle :: 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+ Domains API Reference</a> for
--   <tt>plusDomains.activities.get</tt>.
module Network.Google.Resource.PlusDomains.Activities.Get

-- | A resource alias for <tt>plusDomains.activities.get</tt> method which
--   the <a>ActivitiesGet</a> request conforms to.
type ActivitiesGetResource = "plusDomains" :> ("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.PlusDomains.Activities.Get.ActivitiesGet
instance Data.Data.Data Network.Google.Resource.PlusDomains.Activities.Get.ActivitiesGet
instance GHC.Show.Show Network.Google.Resource.PlusDomains.Activities.Get.ActivitiesGet
instance GHC.Classes.Eq Network.Google.Resource.PlusDomains.Activities.Get.ActivitiesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.PlusDomains.Activities.Get.ActivitiesGet


-- | Create a new activity for the authenticated user.
--   
--   <i>See:</i> <a>Google+ Domains API Reference</a> for
--   <tt>plusDomains.activities.insert</tt>.
module Network.Google.Resource.PlusDomains.Activities.Insert

-- | A resource alias for <tt>plusDomains.activities.insert</tt> method
--   which the <a>ActivitiesInsert</a> request conforms to.
type ActivitiesInsertResource = "plusDomains" :> ("v1" :> ("people" :> (Capture "userId" Text :> ("activities" :> (QueryParam "preview" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Activity :> Post '[JSON] Activity)))))))

-- | Creates a value of <a>ActivitiesInsert</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>aiPayload</a></li>
--   <li><a>aiUserId</a></li>
--   <li><a>aiPreview</a></li>
--   </ul>
activitiesInsert :: Activity -> Text -> ActivitiesInsert

-- | Create a new activity for the authenticated user.
--   
--   <i>See:</i> <a>activitiesInsert</a> smart constructor.
data ActivitiesInsert

-- | Multipart request metadata.
aiPayload :: Lens' ActivitiesInsert Activity

-- | The ID of the user to create the activity on behalf of. Its value
--   should be "me", to indicate the authenticated user.
aiUserId :: Lens' ActivitiesInsert Text

-- | If "true", extract the potential media attachments for a URL. The
--   response will include all possible attachments for a URL, including
--   video, photos, and articles based on the content of the page.
aiPreview :: Lens' ActivitiesInsert (Maybe Bool)
instance GHC.Generics.Generic Network.Google.Resource.PlusDomains.Activities.Insert.ActivitiesInsert
instance Data.Data.Data Network.Google.Resource.PlusDomains.Activities.Insert.ActivitiesInsert
instance GHC.Show.Show Network.Google.Resource.PlusDomains.Activities.Insert.ActivitiesInsert
instance GHC.Classes.Eq Network.Google.Resource.PlusDomains.Activities.Insert.ActivitiesInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.PlusDomains.Activities.Insert.ActivitiesInsert


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

-- | A resource alias for <tt>plusDomains.activities.list</tt> method which
--   the <a>ActivitiesList</a> request conforms to.
type ActivitiesListResource = "plusDomains" :> ("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.PlusDomains.Activities.List.ActivitiesList
instance Data.Data.Data Network.Google.Resource.PlusDomains.Activities.List.ActivitiesList
instance GHC.Show.Show Network.Google.Resource.PlusDomains.Activities.List.ActivitiesList
instance GHC.Classes.Eq Network.Google.Resource.PlusDomains.Activities.List.ActivitiesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.PlusDomains.Activities.List.ActivitiesList


-- | List all of the audiences to which a user can share.
--   
--   <i>See:</i> <a>Google+ Domains API Reference</a> for
--   <tt>plusDomains.audiences.list</tt>.
module Network.Google.Resource.PlusDomains.Audiences.List

-- | A resource alias for <tt>plusDomains.audiences.list</tt> method which
--   the <a>AudiencesList</a> request conforms to.
type AudiencesListResource = "plusDomains" :> ("v1" :> ("people" :> (Capture "userId" Text :> ("audiences" :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] AudiencesFeed)))))))

-- | Creates a value of <a>AudiencesList</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>aUserId</a></li>
--   <li><a>aPageToken</a></li>
--   <li><a>aMaxResults</a></li>
--   </ul>
audiencesList :: Text -> AudiencesList

-- | List all of the audiences to which a user can share.
--   
--   <i>See:</i> <a>audiencesList</a> smart constructor.
data AudiencesList

-- | The ID of the user to get audiences for. The special value "me" can be
--   used to indicate the authenticated user.
aUserId :: Lens' AudiencesList 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.
aPageToken :: Lens' AudiencesList (Maybe Text)

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


-- | Add a person to a circle. Google+ limits certain circle operations,
--   including the number of circle adds. Learn More.
--   
--   <i>See:</i> <a>Google+ Domains API Reference</a> for
--   <tt>plusDomains.circles.addPeople</tt>.
module Network.Google.Resource.PlusDomains.Circles.AddPeople

-- | A resource alias for <tt>plusDomains.circles.addPeople</tt> method
--   which the <a>CirclesAddPeople</a> request conforms to.
type CirclesAddPeopleResource = "plusDomains" :> ("v1" :> ("circles" :> (Capture "circleId" Text :> ("people" :> (QueryParams "email" Text :> (QueryParams "userId" Text :> (QueryParam "alt" AltJSON :> Put '[JSON] Circle)))))))

-- | Creates a value of <a>CirclesAddPeople</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>capEmail</a></li>
--   <li><a>capUserId</a></li>
--   <li><a>capCircleId</a></li>
--   </ul>
circlesAddPeople :: Text -> CirclesAddPeople

-- | Add a person to a circle. Google+ limits certain circle operations,
--   including the number of circle adds. Learn More.
--   
--   <i>See:</i> <a>circlesAddPeople</a> smart constructor.
data CirclesAddPeople

-- | Email of the people to add to the circle. Optional, can be repeated.
capEmail :: Lens' CirclesAddPeople [Text]

-- | IDs of the people to add to the circle. Optional, can be repeated.
capUserId :: Lens' CirclesAddPeople [Text]

-- | The ID of the circle to add the person to.
capCircleId :: Lens' CirclesAddPeople Text
instance GHC.Generics.Generic Network.Google.Resource.PlusDomains.Circles.AddPeople.CirclesAddPeople
instance Data.Data.Data Network.Google.Resource.PlusDomains.Circles.AddPeople.CirclesAddPeople
instance GHC.Show.Show Network.Google.Resource.PlusDomains.Circles.AddPeople.CirclesAddPeople
instance GHC.Classes.Eq Network.Google.Resource.PlusDomains.Circles.AddPeople.CirclesAddPeople
instance Network.Google.Types.GoogleRequest Network.Google.Resource.PlusDomains.Circles.AddPeople.CirclesAddPeople


-- | Get a circle.
--   
--   <i>See:</i> <a>Google+ Domains API Reference</a> for
--   <tt>plusDomains.circles.get</tt>.
module Network.Google.Resource.PlusDomains.Circles.Get

-- | A resource alias for <tt>plusDomains.circles.get</tt> method which the
--   <a>CirclesGet</a> request conforms to.
type CirclesGetResource = "plusDomains" :> ("v1" :> ("circles" :> (Capture "circleId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Circle))))

-- | Creates a value of <a>CirclesGet</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>cgCircleId</a></li>
--   </ul>
circlesGet :: Text -> CirclesGet

-- | Get a circle.
--   
--   <i>See:</i> <a>circlesGet</a> smart constructor.
data CirclesGet

-- | The ID of the circle to get.
cgCircleId :: Lens' CirclesGet Text
instance GHC.Generics.Generic Network.Google.Resource.PlusDomains.Circles.Get.CirclesGet
instance Data.Data.Data Network.Google.Resource.PlusDomains.Circles.Get.CirclesGet
instance GHC.Show.Show Network.Google.Resource.PlusDomains.Circles.Get.CirclesGet
instance GHC.Classes.Eq Network.Google.Resource.PlusDomains.Circles.Get.CirclesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.PlusDomains.Circles.Get.CirclesGet


-- | Create a new circle for the authenticated user.
--   
--   <i>See:</i> <a>Google+ Domains API Reference</a> for
--   <tt>plusDomains.circles.insert</tt>.
module Network.Google.Resource.PlusDomains.Circles.Insert

-- | A resource alias for <tt>plusDomains.circles.insert</tt> method which
--   the <a>CirclesInsert</a> request conforms to.
type CirclesInsertResource = "plusDomains" :> ("v1" :> ("people" :> (Capture "userId" Text :> ("circles" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Circle :> Post '[JSON] Circle))))))

-- | Creates a value of <a>CirclesInsert</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>ciPayload</a></li>
--   <li><a>ciUserId</a></li>
--   </ul>
circlesInsert :: Circle -> Text -> CirclesInsert

-- | Create a new circle for the authenticated user.
--   
--   <i>See:</i> <a>circlesInsert</a> smart constructor.
data CirclesInsert

-- | Multipart request metadata.
ciPayload :: Lens' CirclesInsert Circle

-- | The ID of the user to create the circle on behalf of. The value "me"
--   can be used to indicate the authenticated user.
ciUserId :: Lens' CirclesInsert Text
instance GHC.Generics.Generic Network.Google.Resource.PlusDomains.Circles.Insert.CirclesInsert
instance Data.Data.Data Network.Google.Resource.PlusDomains.Circles.Insert.CirclesInsert
instance GHC.Show.Show Network.Google.Resource.PlusDomains.Circles.Insert.CirclesInsert
instance GHC.Classes.Eq Network.Google.Resource.PlusDomains.Circles.Insert.CirclesInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.PlusDomains.Circles.Insert.CirclesInsert


-- | List all of the circles for a user.
--   
--   <i>See:</i> <a>Google+ Domains API Reference</a> for
--   <tt>plusDomains.circles.list</tt>.
module Network.Google.Resource.PlusDomains.Circles.List

-- | A resource alias for <tt>plusDomains.circles.list</tt> method which
--   the <a>CirclesList</a> request conforms to.
type CirclesListResource = "plusDomains" :> ("v1" :> ("people" :> (Capture "userId" Text :> ("circles" :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] CircleFeed)))))))

-- | Creates a value of <a>CirclesList</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>cUserId</a></li>
--   <li><a>cPageToken</a></li>
--   <li><a>cMaxResults</a></li>
--   </ul>
circlesList :: Text -> CirclesList

-- | List all of the circles for a user.
--   
--   <i>See:</i> <a>circlesList</a> smart constructor.
data CirclesList

-- | The ID of the user to get circles for. The special value "me" can be
--   used to indicate the authenticated user.
cUserId :: Lens' CirclesList 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.
cPageToken :: Lens' CirclesList (Maybe Text)

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


-- | Update a circle's description. This method supports patch semantics.
--   
--   <i>See:</i> <a>Google+ Domains API Reference</a> for
--   <tt>plusDomains.circles.patch</tt>.
module Network.Google.Resource.PlusDomains.Circles.Patch

-- | A resource alias for <tt>plusDomains.circles.patch</tt> method which
--   the <a>CirclesPatch</a> request conforms to.
type CirclesPatchResource = "plusDomains" :> ("v1" :> ("circles" :> (Capture "circleId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Circle :> Patch '[JSON] Circle)))))

-- | Creates a value of <a>CirclesPatch</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>cpPayload</a></li>
--   <li><a>cpCircleId</a></li>
--   </ul>
circlesPatch :: Circle -> Text -> CirclesPatch

-- | Update a circle's description. This method supports patch semantics.
--   
--   <i>See:</i> <a>circlesPatch</a> smart constructor.
data CirclesPatch

-- | Multipart request metadata.
cpPayload :: Lens' CirclesPatch Circle

-- | The ID of the circle to update.
cpCircleId :: Lens' CirclesPatch Text
instance GHC.Generics.Generic Network.Google.Resource.PlusDomains.Circles.Patch.CirclesPatch
instance Data.Data.Data Network.Google.Resource.PlusDomains.Circles.Patch.CirclesPatch
instance GHC.Show.Show Network.Google.Resource.PlusDomains.Circles.Patch.CirclesPatch
instance GHC.Classes.Eq Network.Google.Resource.PlusDomains.Circles.Patch.CirclesPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.PlusDomains.Circles.Patch.CirclesPatch


-- | Delete a circle.
--   
--   <i>See:</i> <a>Google+ Domains API Reference</a> for
--   <tt>plusDomains.circles.remove</tt>.
module Network.Google.Resource.PlusDomains.Circles.Remove

-- | A resource alias for <tt>plusDomains.circles.remove</tt> method which
--   the <a>CirclesRemove</a> request conforms to.
type CirclesRemoveResource = "plusDomains" :> ("v1" :> ("circles" :> (Capture "circleId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))

-- | Creates a value of <a>CirclesRemove</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>crCircleId</a></li>
--   </ul>
circlesRemove :: Text -> CirclesRemove

-- | Delete a circle.
--   
--   <i>See:</i> <a>circlesRemove</a> smart constructor.
data CirclesRemove

-- | The ID of the circle to delete.
crCircleId :: Lens' CirclesRemove Text
instance GHC.Generics.Generic Network.Google.Resource.PlusDomains.Circles.Remove.CirclesRemove
instance Data.Data.Data Network.Google.Resource.PlusDomains.Circles.Remove.CirclesRemove
instance GHC.Show.Show Network.Google.Resource.PlusDomains.Circles.Remove.CirclesRemove
instance GHC.Classes.Eq Network.Google.Resource.PlusDomains.Circles.Remove.CirclesRemove
instance Network.Google.Types.GoogleRequest Network.Google.Resource.PlusDomains.Circles.Remove.CirclesRemove


-- | Remove a person from a circle.
--   
--   <i>See:</i> <a>Google+ Domains API Reference</a> for
--   <tt>plusDomains.circles.removePeople</tt>.
module Network.Google.Resource.PlusDomains.Circles.RemovePeople

-- | A resource alias for <tt>plusDomains.circles.removePeople</tt> method
--   which the <a>CirclesRemovePeople</a> request conforms to.
type CirclesRemovePeopleResource = "plusDomains" :> ("v1" :> ("circles" :> (Capture "circleId" Text :> ("people" :> (QueryParams "email" Text :> (QueryParams "userId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ())))))))

-- | Creates a value of <a>CirclesRemovePeople</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>crpEmail</a></li>
--   <li><a>crpUserId</a></li>
--   <li><a>crpCircleId</a></li>
--   </ul>
circlesRemovePeople :: Text -> CirclesRemovePeople

-- | Remove a person from a circle.
--   
--   <i>See:</i> <a>circlesRemovePeople</a> smart constructor.
data CirclesRemovePeople

-- | Email of the people to add to the circle. Optional, can be repeated.
crpEmail :: Lens' CirclesRemovePeople [Text]

-- | IDs of the people to remove from the circle. Optional, can be
--   repeated.
crpUserId :: Lens' CirclesRemovePeople [Text]

-- | The ID of the circle to remove the person from.
crpCircleId :: Lens' CirclesRemovePeople Text
instance GHC.Generics.Generic Network.Google.Resource.PlusDomains.Circles.RemovePeople.CirclesRemovePeople
instance Data.Data.Data Network.Google.Resource.PlusDomains.Circles.RemovePeople.CirclesRemovePeople
instance GHC.Show.Show Network.Google.Resource.PlusDomains.Circles.RemovePeople.CirclesRemovePeople
instance GHC.Classes.Eq Network.Google.Resource.PlusDomains.Circles.RemovePeople.CirclesRemovePeople
instance Network.Google.Types.GoogleRequest Network.Google.Resource.PlusDomains.Circles.RemovePeople.CirclesRemovePeople


-- | Update a circle's description.
--   
--   <i>See:</i> <a>Google+ Domains API Reference</a> for
--   <tt>plusDomains.circles.update</tt>.
module Network.Google.Resource.PlusDomains.Circles.Update

-- | A resource alias for <tt>plusDomains.circles.update</tt> method which
--   the <a>CirclesUpdate</a> request conforms to.
type CirclesUpdateResource = "plusDomains" :> ("v1" :> ("circles" :> (Capture "circleId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Circle :> Put '[JSON] Circle)))))

-- | Creates a value of <a>CirclesUpdate</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>cuPayload</a></li>
--   <li><a>cuCircleId</a></li>
--   </ul>
circlesUpdate :: Circle -> Text -> CirclesUpdate

-- | Update a circle's description.
--   
--   <i>See:</i> <a>circlesUpdate</a> smart constructor.
data CirclesUpdate

-- | Multipart request metadata.
cuPayload :: Lens' CirclesUpdate Circle

-- | The ID of the circle to update.
cuCircleId :: Lens' CirclesUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.PlusDomains.Circles.Update.CirclesUpdate
instance Data.Data.Data Network.Google.Resource.PlusDomains.Circles.Update.CirclesUpdate
instance GHC.Show.Show Network.Google.Resource.PlusDomains.Circles.Update.CirclesUpdate
instance GHC.Classes.Eq Network.Google.Resource.PlusDomains.Circles.Update.CirclesUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.PlusDomains.Circles.Update.CirclesUpdate


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

-- | A resource alias for <tt>plusDomains.comments.get</tt> method which
--   the <a>CommentsGet</a> request conforms to.
type CommentsGetResource = "plusDomains" :> ("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.PlusDomains.Comments.Get.CommentsGet
instance Data.Data.Data Network.Google.Resource.PlusDomains.Comments.Get.CommentsGet
instance GHC.Show.Show Network.Google.Resource.PlusDomains.Comments.Get.CommentsGet
instance GHC.Classes.Eq Network.Google.Resource.PlusDomains.Comments.Get.CommentsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.PlusDomains.Comments.Get.CommentsGet


-- | Create a new comment in reply to an activity.
--   
--   <i>See:</i> <a>Google+ Domains API Reference</a> for
--   <tt>plusDomains.comments.insert</tt>.
module Network.Google.Resource.PlusDomains.Comments.Insert

-- | A resource alias for <tt>plusDomains.comments.insert</tt> method which
--   the <a>CommentsInsert</a> request conforms to.
type CommentsInsertResource = "plusDomains" :> ("v1" :> ("activities" :> (Capture "activityId" Text :> ("comments" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Comment :> Post '[JSON] Comment))))))

-- | Creates a value of <a>CommentsInsert</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>cActivityId</a></li>
--   <li><a>cPayload</a></li>
--   </ul>
commentsInsert :: Text -> Comment -> CommentsInsert

-- | Create a new comment in reply to an activity.
--   
--   <i>See:</i> <a>commentsInsert</a> smart constructor.
data CommentsInsert

-- | The ID of the activity to reply to.
cActivityId :: Lens' CommentsInsert Text

-- | Multipart request metadata.
cPayload :: Lens' CommentsInsert Comment
instance GHC.Generics.Generic Network.Google.Resource.PlusDomains.Comments.Insert.CommentsInsert
instance Data.Data.Data Network.Google.Resource.PlusDomains.Comments.Insert.CommentsInsert
instance GHC.Show.Show Network.Google.Resource.PlusDomains.Comments.Insert.CommentsInsert
instance GHC.Classes.Eq Network.Google.Resource.PlusDomains.Comments.Insert.CommentsInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.PlusDomains.Comments.Insert.CommentsInsert


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

-- | A resource alias for <tt>plusDomains.comments.list</tt> method which
--   the <a>CommentsList</a> request conforms to.
type CommentsListResource = "plusDomains" :> ("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.PlusDomains.Comments.List.CommentsList
instance Data.Data.Data Network.Google.Resource.PlusDomains.Comments.List.CommentsList
instance GHC.Show.Show Network.Google.Resource.PlusDomains.Comments.List.CommentsList
instance GHC.Classes.Eq Network.Google.Resource.PlusDomains.Comments.List.CommentsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.PlusDomains.Comments.List.CommentsList


-- | Add a new media item to an album. The current upload size limitations
--   are 36MB for a photo and 1GB for a video. Uploads do not count against
--   quota if photos are less than 2048 pixels on their longest side or
--   videos are less than 15 minutes in length.
--   
--   <i>See:</i> <a>Google+ Domains API Reference</a> for
--   <tt>plusDomains.media.insert</tt>.
module Network.Google.Resource.PlusDomains.Media.Insert

-- | A resource alias for <tt>plusDomains.media.insert</tt> method which
--   the <a>MediaInsert</a> request conforms to.
type MediaInsertResource = ("plusDomains" :> ("v1" :> ("people" :> (Capture "userId" Text :> ("media" :> (Capture "collection" MediaInsertCollection :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Media :> Post '[JSON] Media)))))))) :<|> ("upload" :> ("plusDomains" :> ("v1" :> ("people" :> (Capture "userId" Text :> ("media" :> (Capture "collection" MediaInsertCollection :> (QueryParam "alt" AltJSON :> (QueryParam "uploadType" Multipart :> (MultipartRelated '[JSON] Media :> Post '[JSON] Media))))))))))

-- | Creates a value of <a>MediaInsert</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>miCollection</a></li>
--   <li><a>miPayload</a></li>
--   <li><a>miUserId</a></li>
--   </ul>
mediaInsert :: MediaInsertCollection -> Media -> Text -> MediaInsert

-- | Add a new media item to an album. The current upload size limitations
--   are 36MB for a photo and 1GB for a video. Uploads do not count against
--   quota if photos are less than 2048 pixels on their longest side or
--   videos are less than 15 minutes in length.
--   
--   <i>See:</i> <a>mediaInsert</a> smart constructor.
data MediaInsert
miCollection :: Lens' MediaInsert MediaInsertCollection

-- | Multipart request metadata.
miPayload :: Lens' MediaInsert Media

-- | The ID of the user to create the activity on behalf of.
miUserId :: Lens' MediaInsert Text
instance GHC.Generics.Generic Network.Google.Resource.PlusDomains.Media.Insert.MediaInsert
instance Data.Data.Data Network.Google.Resource.PlusDomains.Media.Insert.MediaInsert
instance GHC.Show.Show Network.Google.Resource.PlusDomains.Media.Insert.MediaInsert
instance GHC.Classes.Eq Network.Google.Resource.PlusDomains.Media.Insert.MediaInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.PlusDomains.Media.Insert.MediaInsert
instance Network.Google.Types.GoogleRequest (Network.Google.Types.MediaUpload Network.Google.Resource.PlusDomains.Media.Insert.MediaInsert)


-- | Get a person's profile.
--   
--   <i>See:</i> <a>Google+ Domains API Reference</a> for
--   <tt>plusDomains.people.get</tt>.
module Network.Google.Resource.PlusDomains.People.Get

-- | A resource alias for <tt>plusDomains.people.get</tt> method which the
--   <a>PeopleGet</a> request conforms to.
type PeopleGetResource = "plusDomains" :> ("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.
--   
--   <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.PlusDomains.People.Get.PeopleGet
instance Data.Data.Data Network.Google.Resource.PlusDomains.People.Get.PeopleGet
instance GHC.Show.Show Network.Google.Resource.PlusDomains.People.Get.PeopleGet
instance GHC.Classes.Eq Network.Google.Resource.PlusDomains.People.Get.PeopleGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.PlusDomains.People.Get.PeopleGet


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

-- | A resource alias for <tt>plusDomains.people.list</tt> method which the
--   <a>PeopleList</a> request conforms to.
type PeopleListResource = "plusDomains" :> ("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.PlusDomains.People.List.PeopleList
instance Data.Data.Data Network.Google.Resource.PlusDomains.People.List.PeopleList
instance GHC.Show.Show Network.Google.Resource.PlusDomains.People.List.PeopleList
instance GHC.Classes.Eq Network.Google.Resource.PlusDomains.People.List.PeopleList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.PlusDomains.People.List.PeopleList


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

-- | A resource alias for <tt>plusDomains.people.listByActivity</tt> method
--   which the <a>PeopleListByActivity</a> request conforms to.
type PeopleListByActivityResource = "plusDomains" :> ("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.PlusDomains.People.ListByActivity.PeopleListByActivity
instance Data.Data.Data Network.Google.Resource.PlusDomains.People.ListByActivity.PeopleListByActivity
instance GHC.Show.Show Network.Google.Resource.PlusDomains.People.ListByActivity.PeopleListByActivity
instance GHC.Classes.Eq Network.Google.Resource.PlusDomains.People.ListByActivity.PeopleListByActivity
instance Network.Google.Types.GoogleRequest Network.Google.Resource.PlusDomains.People.ListByActivity.PeopleListByActivity


-- | List all of the people who are members of a circle.
--   
--   <i>See:</i> <a>Google+ Domains API Reference</a> for
--   <tt>plusDomains.people.listByCircle</tt>.
module Network.Google.Resource.PlusDomains.People.ListByCircle

-- | A resource alias for <tt>plusDomains.people.listByCircle</tt> method
--   which the <a>PeopleListByCircle</a> request conforms to.
type PeopleListByCircleResource = "plusDomains" :> ("v1" :> ("circles" :> (Capture "circleId" Text :> ("people" :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] PeopleFeed)))))))

-- | Creates a value of <a>PeopleListByCircle</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>plbcCircleId</a></li>
--   <li><a>plbcPageToken</a></li>
--   <li><a>plbcMaxResults</a></li>
--   </ul>
peopleListByCircle :: Text -> PeopleListByCircle

-- | List all of the people who are members of a circle.
--   
--   <i>See:</i> <a>peopleListByCircle</a> smart constructor.
data PeopleListByCircle

-- | The ID of the circle to get the members of.
plbcCircleId :: Lens' PeopleListByCircle 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.
plbcPageToken :: Lens' PeopleListByCircle (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.
plbcMaxResults :: Lens' PeopleListByCircle Word32
instance GHC.Generics.Generic Network.Google.Resource.PlusDomains.People.ListByCircle.PeopleListByCircle
instance Data.Data.Data Network.Google.Resource.PlusDomains.People.ListByCircle.PeopleListByCircle
instance GHC.Show.Show Network.Google.Resource.PlusDomains.People.ListByCircle.PeopleListByCircle
instance GHC.Classes.Eq Network.Google.Resource.PlusDomains.People.ListByCircle.PeopleListByCircle
instance Network.Google.Types.GoogleRequest Network.Google.Resource.PlusDomains.People.ListByCircle.PeopleListByCircle


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

-- | Default request referring to version <tt>v1</tt> of the Google+
--   Domains API. This contains the host and root path used as a starting
--   point for constructing service requests.
plusDomainsService :: 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 own Google+ profile and profiles visible to you
plusProFilesReadScope :: Proxy '["https://www.googleapis.com/auth/plus.profiles.read"]

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

-- | Manage your Google+ posts, comments, and stream
plusStreamWriteScope :: Proxy '["https://www.googleapis.com/auth/plus.stream.write"]

-- | View your Google+ posts, comments, and stream
plusStreamReadScope :: Proxy '["https://www.googleapis.com/auth/plus.stream.read"]

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

-- | View your circles and the people and pages in them
plusCirclesReadScope :: Proxy '["https://www.googleapis.com/auth/plus.circles.read"]

-- | Send your photos and videos to Google+
plusMediaUploadScope :: Proxy '["https://www.googleapis.com/auth/plus.media.upload"]

-- | Manage your circles and add people and pages. People and pages you add
--   to your circles will be notified. Others may see this information
--   publicly. People you add to circles can use Hangouts with you.
plusCirclesWriteScope :: Proxy '["https://www.googleapis.com/auth/plus.circles.write"]

-- | Represents the entirety of the methods and resources available for the
--   Google+ Domains API service.
type PlusDomainsAPI = ActivitiesInsertResource :<|> (ActivitiesListResource :<|> (ActivitiesGetResource :<|> (PeopleListResource :<|> (PeopleListByCircleResource :<|> (PeopleGetResource :<|> (PeopleListByActivityResource :<|> (MediaInsertResource :<|> (AudiencesListResource :<|> (CommentsInsertResource :<|> (CommentsListResource :<|> (CommentsGetResource :<|> (CirclesInsertResource :<|> (CirclesAddPeopleResource :<|> (CirclesListResource :<|> (CirclesPatchResource :<|> (CirclesGetResource :<|> (CirclesRemoveResource :<|> (CirclesRemovePeopleResource :<|> CirclesUpdateResource))))))))))))))))))
data Audience

-- | Creates a value of <a>Audience</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>aEtag</a></li>
--   <li><a>aKind</a></li>
--   <li><a>aVisibility</a></li>
--   <li><a>aItem</a></li>
--   <li><a>aMemberCount</a></li>
--   </ul>
audience :: Audience

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

-- | Identifies this resource as an audience. Value: "plus#audience".
aKind :: Lens' Audience Text

-- | The circle members' visibility as chosen by the owner of the circle.
--   This only applies for items with "item.type" equals "circle". Possible
--   values are: - "public" - Members are visible to the public. -
--   "limited" - Members are visible to a limited audience. - "private" -
--   Members are visible to the owner only.
aVisibility :: Lens' Audience (Maybe Text)

-- | The access control list entry.
aItem :: Lens' Audience (Maybe PlusDomainsACLentryResource)

-- | The number of people in this circle. This only applies if entity_type
--   is CIRCLE.
aMemberCount :: Lens' Audience (Maybe Word32)

-- | 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)
data Circle

-- | Creates a value of <a>Circle</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>cKind</a></li>
--   <li><a>cPeople</a></li>
--   <li><a>cSelfLink</a></li>
--   <li><a>cDisplayName</a></li>
--   <li><a>cId</a></li>
--   <li><a>cDescription</a></li>
--   </ul>
circle :: Circle

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

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

-- | The people in this circle.
cPeople :: Lens' Circle (Maybe CirclePeople)

-- | Link to this circle resource
cSelfLink :: Lens' Circle (Maybe Text)

-- | The circle name.
cDisplayName :: Lens' Circle (Maybe Text)

-- | The ID of the circle.
cId :: Lens' Circle (Maybe Text)

-- | The description of this circle.
cDescription :: Lens' Circle (Maybe Text)

-- | 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>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>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)

-- | 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)

-- | 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)
data Videostream

-- | Creates a value of <a>Videostream</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>vHeight</a></li>
--   <li><a>vURL</a></li>
--   <li><a>vWidth</a></li>
--   <li><a>vType</a></li>
--   </ul>
videostream :: Videostream

-- | The height, in pixels, of the video resource.
vHeight :: Lens' Videostream (Maybe Int32)

-- | URL of the video stream.
vURL :: Lens' Videostream (Maybe Text)

-- | The width, in pixels, of the video resource.
vWidth :: Lens' Videostream (Maybe Int32)

-- | MIME type of the video stream.
vType :: Lens' Videostream (Maybe Text)
data MediaInsertCollection

-- | <tt>cloud</tt> Upload the media to share on Google+.
Cloud :: MediaInsertCollection
data CircleFeed

-- | Creates a value of <a>CircleFeed</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>cfTotalItems</a></li>
--   <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>cfSelfLink</a></li>
--   <li><a>cfTitle</a></li>
--   </ul>
circleFeed :: CircleFeed

-- | The total number of circles. The number of circles in this response
--   may be smaller due to paging.
cfTotalItems :: Lens' CircleFeed (Maybe Int32)

-- | ETag of this response for caching purposes.
cfEtag :: Lens' CircleFeed (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' CircleFeed (Maybe Text)

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

-- | Identifies this resource as a collection of circles. Value:
--   "plus#circleFeed".
cfKind :: Lens' CircleFeed Text

-- | The circles in this page of results.
cfItems :: Lens' CircleFeed [Circle]

-- | Link to this page of circles.
cfSelfLink :: Lens' CircleFeed (Maybe Text)

-- | The title of this list of resources.
cfTitle :: Lens' CircleFeed (Maybe Text)

-- | 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>aoStatusForViewer</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)

-- | Status of the activity as seen by the viewer.
aoStatusForViewer :: Lens' ActivityObject (Maybe ActivityObjectStatusForViewer)

-- | 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 author's Google profile image.
--   
--   <i>See:</i> <a>mediaAuthorImage</a> smart constructor.
data MediaAuthorImage

-- | Creates a value of <a>MediaAuthorImage</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>maiURL</a></li>
--   </ul>
mediaAuthorImage :: MediaAuthorImage

-- | The URL of the author'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.
maiURL :: Lens' MediaAuthorImage (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

-- | <tt>sharedto</tt> List all people who this activity was shared to.
Sharedto :: PeopleListByActivityCollection

-- | The people in this circle.
--   
--   <i>See:</i> <a>circlePeople</a> smart constructor.
data CirclePeople

-- | Creates a value of <a>CirclePeople</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>cTotalItems</a></li>
--   </ul>
circlePeople :: CirclePeople

-- | The total number of people in this circle.
cTotalItems :: Lens' CirclePeople (Maybe Word32)
data PlusDomainsACLentryResource

-- | Creates a value of <a>PlusDomainsACLentryResource</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>pdarDisplayName</a></li>
--   <li><a>pdarId</a></li>
--   <li><a>pdarType</a></li>
--   </ul>
plusDomainsACLentryResource :: PlusDomainsACLentryResource

-- | A descriptive name for this entry. Suitable for display.
pdarDisplayName :: Lens' PlusDomainsACLentryResource (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.
pdarId :: Lens' PlusDomainsACLentryResource (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.
pdarType :: Lens' PlusDomainsACLentryResource (Maybe Text)

-- | 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 person who uploaded this media.
--   
--   <i>See:</i> <a>mediaAuthor</a> smart constructor.
data MediaAuthor

-- | Creates a value of <a>MediaAuthor</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>maImage</a></li>
--   <li><a>maURL</a></li>
--   <li><a>maDisplayName</a></li>
--   <li><a>maId</a></li>
--   </ul>
mediaAuthor :: MediaAuthor

-- | The author's Google profile image.
maImage :: Lens' MediaAuthor (Maybe MediaAuthorImage)

-- | A link to the author's Google profile.
maURL :: Lens' MediaAuthor (Maybe Text)

-- | The author's name.
maDisplayName :: Lens' MediaAuthor (Maybe Text)

-- | ID of the author.
maId :: Lens' MediaAuthor (Maybe Text)

-- | 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)
data Media

-- | Creates a value of <a>Media</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>mSizeBytes</a></li>
--   <li><a>mSummary</a></li>
--   <li><a>mEtag</a></li>
--   <li><a>mHeight</a></li>
--   <li><a>mVideoDuration</a></li>
--   <li><a>mVideoStatus</a></li>
--   <li><a>mKind</a></li>
--   <li><a>mPublished</a></li>
--   <li><a>mURL</a></li>
--   <li><a>mWidth</a></li>
--   <li><a>mMediaURL</a></li>
--   <li><a>mStreams</a></li>
--   <li><a>mExif</a></li>
--   <li><a>mDisplayName</a></li>
--   <li><a>mAuthor</a></li>
--   <li><a>mId</a></li>
--   <li><a>mUpdated</a></li>
--   <li><a>mMediaCreatedTime</a></li>
--   </ul>
media :: Media

-- | The size in bytes of this video.
mSizeBytes :: Lens' Media (Maybe Int64)

-- | A description, or caption, for this media.
mSummary :: Lens' Media (Maybe Text)

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

-- | The height in pixels of the original image.
mHeight :: Lens' Media (Maybe Word32)

-- | The duration in milliseconds of this video.
mVideoDuration :: Lens' Media (Maybe Int64)

-- | The encoding status of this video. Possible values are: - "UPLOADING"
--   - Not all the video bytes have been received. - "PENDING" - Video not
--   yet processed. - "FAILED" - Video processing failed. - "READY" - A
--   single video stream is playable. - "FINAL" - All video streams are
--   playable.
mVideoStatus :: Lens' Media (Maybe Text)

-- | The type of resource.
mKind :: Lens' Media Text

-- | The time at which this media was uploaded. Formatted as an RFC 3339
--   timestamp.
mPublished :: Lens' Media (Maybe UTCTime)

-- | The URL for the page that hosts this media.
mURL :: Lens' Media (Maybe Text)

-- | The width in pixels of the original image.
mWidth :: Lens' Media (Maybe Word32)

-- | The URL of this photo or video's still image.
mMediaURL :: Lens' Media (Maybe Text)

-- | The list of video streams for this video. There might be several
--   different streams available for a single video, either Flash or MPEG,
--   of various sizes
mStreams :: Lens' Media [Videostream]

-- | Exif information of the media item.
mExif :: Lens' Media (Maybe MediaExif)

-- | The display name for this media.
mDisplayName :: Lens' Media (Maybe Text)

-- | The person who uploaded this media.
mAuthor :: Lens' Media (Maybe MediaAuthor)

-- | ID of this media, which is generated by the API.
mId :: Lens' Media (Maybe Text)

-- | The time at which this media was last updated. This includes changes
--   to media metadata. Formatted as an RFC 3339 timestamp.
mUpdated :: Lens' Media (Maybe UTCTime)

-- | The time at which this media was originally created in UTC. Formatted
--   as an RFC 3339 timestamp that matches this example:
--   2010-11-25T14:30:27.655Z
mMediaCreatedTime :: Lens' Media (Maybe UTCTime)

-- | 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>user</tt> All activities created by the specified user that the
--   authenticated user is authorized to view.
User :: ActivitiesListCollection
data ActivityObjectAttachmentsItemPreviewThumbnailsItem

-- | Creates a value of
--   <a>ActivityObjectAttachmentsItemPreviewThumbnailsItem</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>aoaiptiURL</a></li>
--   </ul>
activityObjectAttachmentsItemPreviewThumbnailsItem :: ActivityObjectAttachmentsItemPreviewThumbnailsItem

-- | URL of the thumbnail image.
aoaiptiURL :: Lens' ActivityObjectAttachmentsItemPreviewThumbnailsItem (Maybe Text)

-- | 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>circled</tt> The list of people who this user has added to one or
--   more circles.
Circled :: 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>aPreviewThumbnails</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)

-- | When previewing, these are the optional thumbnails for the post. When
--   posting an article, choose one by setting the attachment.image.url
--   property. If you don't choose one, one will be chosen for you.
aPreviewThumbnails :: Lens' ActivityObjectAttachmentsItem [ActivityObjectAttachmentsItemPreviewThumbnailsItem]

-- | 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)

-- | Status of the activity as seen by the viewer.
--   
--   <i>See:</i> <a>activityObjectStatusForViewer</a> smart constructor.
data ActivityObjectStatusForViewer

-- | Creates a value of <a>ActivityObjectStatusForViewer</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>aosfvCanComment</a></li>
--   <li><a>aosfvResharingDisabled</a></li>
--   <li><a>aosfvCanUpdate</a></li>
--   <li><a>aosfvIsPlusOned</a></li>
--   <li><a>aosfvCanPlusone</a></li>
--   </ul>
activityObjectStatusForViewer :: ActivityObjectStatusForViewer

-- | Whether the viewer can comment on the activity.
aosfvCanComment :: Lens' ActivityObjectStatusForViewer (Maybe Bool)

-- | Whether reshares are disabled for the activity.
aosfvResharingDisabled :: Lens' ActivityObjectStatusForViewer (Maybe Bool)

-- | Whether the viewer can edit or delete the activity.
aosfvCanUpdate :: Lens' ActivityObjectStatusForViewer (Maybe Bool)

-- | Whether the viewer has +1'd the activity.
aosfvIsPlusOned :: Lens' ActivityObjectStatusForViewer (Maybe Bool)

-- | Whether the viewer can +1 the activity.
aosfvCanPlusone :: Lens' ActivityObjectStatusForViewer (Maybe Bool)
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 AudiencesFeed

-- | Creates a value of <a>AudiencesFeed</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>audTotalItems</a></li>
--   <li><a>audEtag</a></li>
--   <li><a>audNextPageToken</a></li>
--   <li><a>audKind</a></li>
--   <li><a>audItems</a></li>
--   </ul>
audiencesFeed :: AudiencesFeed

-- | The total number of ACL entries. The number of entries in this
--   response may be smaller due to paging.
audTotalItems :: Lens' AudiencesFeed (Maybe Int32)

-- | ETag of this response for caching purposes.
audEtag :: Lens' AudiencesFeed (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.
audNextPageToken :: Lens' AudiencesFeed (Maybe Text)

-- | Identifies this resource as a collection of audiences. Value:
--   "plus#audienceFeed".
audKind :: Lens' AudiencesFeed Text

-- | The audiences in this result.
audItems :: Lens' AudiencesFeed [Audience]
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)

-- | 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>comEtag</a></li>
--   <li><a>comPlusoners</a></li>
--   <li><a>comKind</a></li>
--   <li><a>comPublished</a></li>
--   <li><a>comActor</a></li>
--   <li><a>comSelfLink</a></li>
--   <li><a>comObject</a></li>
--   <li><a>comId</a></li>
--   <li><a>comUpdated</a></li>
--   <li><a>comVerb</a></li>
--   <li><a>comInReplyTo</a></li>
--   </ul>
comment :: Comment

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

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

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

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

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

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

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

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

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

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

-- | The activity this comment replied to.
comInReplyTo :: 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>aclcKind</a></li>
--   <li><a>aclcItems</a></li>
--   <li><a>aclcDomainRestricted</a></li>
--   <li><a>aclcDescription</a></li>
--   </ul>
acl :: ACL

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

-- | The list of access entries.
aclcItems :: Lens' ACL [PlusDomainsACLentryResource]

-- | Whether access is restricted to the domain.
aclcDomainRestricted :: Lens' ACL (Maybe Bool)

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

-- | Exif information of the media item.
--   
--   <i>See:</i> <a>mediaExif</a> smart constructor.
data MediaExif

-- | Creates a value of <a>MediaExif</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>meTime</a></li>
--   </ul>
mediaExif :: MediaExif

-- | The time the media was captured. Formatted as an RFC 3339 timestamp.
meTime :: Lens' MediaExif (Maybe UTCTime)

-- | 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>cffEtag</a></li>
--   <li><a>cffNextPageToken</a></li>
--   <li><a>cffNextLink</a></li>
--   <li><a>cffKind</a></li>
--   <li><a>cffItems</a></li>
--   <li><a>cffId</a></li>
--   <li><a>cffUpdated</a></li>
--   <li><a>cffTitle</a></li>
--   </ul>
commentFeed :: CommentFeed

-- | ETag of this response for caching purposes.
cffEtag :: 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.
cffNextPageToken :: Lens' CommentFeed (Maybe Text)

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

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

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

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

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

-- | The title of this collection of comments.
cffTitle :: 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)
