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


-- | Google Play Developer SDK.
--   
--   Lets Android application developers access their Google Play accounts.
--   
--   <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>v2</tt> of the API.
@package gogol-android-publisher
@version 0.3.0


module Network.Google.AndroidPublisher.Types

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

-- | View and manage your Google Play Developer account
androidPublisherScope :: Proxy '["https://www.googleapis.com/auth/androidpublisher"]

-- | List of localized title and description data.
--   
--   <i>See:</i> <a>inAppProductListings</a> smart constructor.
data InAppProductListings

-- | Creates a value of <a>InAppProductListings</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iaplAddtional</a></li>
--   </ul>
inAppProductListings :: HashMap Text InAppProductListing -> InAppProductListings

-- | The language of the localized data, as defined by BCP 47. i.e.:
--   "en-US", "en-GB".
iaplAddtional :: Lens' InAppProductListings (HashMap Text InAppProductListing)
data InAppProductsUpdateResponse

-- | Creates a value of <a>InAppProductsUpdateResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iapurInAppProduct</a></li>
--   </ul>
inAppProductsUpdateResponse :: InAppProductsUpdateResponse
iapurInAppProduct :: Lens' InAppProductsUpdateResponse (Maybe InAppProduct)
data EditsImagesDeleteallImageType

-- | <pre>
--   featureGraphic
--   </pre>
FeatureGraphic :: EditsImagesDeleteallImageType

-- | <pre>
--   icon
--   </pre>
Icon :: EditsImagesDeleteallImageType

-- | <pre>
--   phoneScreenshots
--   </pre>
PhoneScreenshots :: EditsImagesDeleteallImageType

-- | <pre>
--   promoGraphic
--   </pre>
PromoGraphic :: EditsImagesDeleteallImageType

-- | <pre>
--   sevenInchScreenshots
--   </pre>
SevenInchScreenshots :: EditsImagesDeleteallImageType

-- | <pre>
--   tenInchScreenshots
--   </pre>
TenInchScreenshots :: EditsImagesDeleteallImageType

-- | <pre>
--   tvBanner
--   </pre>
TvBanner :: EditsImagesDeleteallImageType

-- | <pre>
--   tvScreenshots
--   </pre>
TvScreenshots :: EditsImagesDeleteallImageType

-- | <pre>
--   wearScreenshots
--   </pre>
WearScreenshots :: EditsImagesDeleteallImageType
data MonthDay

-- | Creates a value of <a>MonthDay</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mdDay</a></li>
--   <li><a>mdMonth</a></li>
--   </ul>
monthDay :: MonthDay

-- | Day of a month, value in [1, 31] range. Valid range depends on the
--   specified month.
mdDay :: Lens' MonthDay (Maybe Word32)

-- | Month of a year. e.g. 1 = JAN, 2 = FEB etc.
mdMonth :: Lens' MonthDay (Maybe Word32)
data Track

-- | Creates a value of <a>Track</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tVersionCodes</a></li>
--   <li><a>tTrack</a></li>
--   <li><a>tUserFraction</a></li>
--   </ul>
track :: Track
tVersionCodes :: Lens' Track [Int32]
tTrack :: Lens' Track (Maybe Text)
tUserFraction :: Lens' Track (Maybe Double)
data Image

-- | Creates a value of <a>Image</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iURL</a></li>
--   <li><a>iSha1</a></li>
--   <li><a>iId</a></li>
--   </ul>
image :: Image

-- | A URL that will serve a preview of the image.
iURL :: Lens' Image (Maybe Text)

-- | A sha1 hash of the image that was uploaded.
iSha1 :: Lens' Image (Maybe Text)

-- | A unique id representing this image.
iId :: Lens' Image (Maybe Text)
data InAppProductsBatchRequestEntry

-- | Creates a value of <a>InAppProductsBatchRequestEntry</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iapbreMethodName</a></li>
--   <li><a>iapbreInAppProductsinsertrequest</a></li>
--   <li><a>iapbreInAppProductsupdaterequest</a></li>
--   <li><a>iapbreBatchId</a></li>
--   </ul>
inAppProductsBatchRequestEntry :: InAppProductsBatchRequestEntry
iapbreMethodName :: Lens' InAppProductsBatchRequestEntry (Maybe Text)
iapbreInAppProductsinsertrequest :: Lens' InAppProductsBatchRequestEntry (Maybe InAppProductsInsertRequest)
iapbreInAppProductsupdaterequest :: Lens' InAppProductsBatchRequestEntry (Maybe InAppProductsUpdateRequest)
iapbreBatchId :: Lens' InAppProductsBatchRequestEntry (Maybe Word32)
data InAppProductListing

-- | Creates a value of <a>InAppProductListing</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iaplTitle</a></li>
--   <li><a>iaplDescription</a></li>
--   </ul>
inAppProductListing :: InAppProductListing
iaplTitle :: Lens' InAppProductListing (Maybe Text)
iaplDescription :: Lens' InAppProductListing (Maybe Text)
data ImagesDeleteAllResponse

-- | Creates a value of <a>ImagesDeleteAllResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>idarDeleted</a></li>
--   </ul>
imagesDeleteAllResponse :: ImagesDeleteAllResponse
idarDeleted :: Lens' ImagesDeleteAllResponse [Image]
data TokenPagination

-- | Creates a value of <a>TokenPagination</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tpNextPageToken</a></li>
--   <li><a>tpPreviousPageToken</a></li>
--   </ul>
tokenPagination :: TokenPagination
tpNextPageToken :: Lens' TokenPagination (Maybe Text)
tpPreviousPageToken :: Lens' TokenPagination (Maybe Text)
data ExpansionFile

-- | Creates a value of <a>ExpansionFile</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>efFileSize</a></li>
--   <li><a>efReferencesVersion</a></li>
--   </ul>
expansionFile :: ExpansionFile

-- | If set this field indicates that this APK has an Expansion File
--   uploaded to it: this APK does not reference another APK's Expansion
--   File. The field's value is the size of the uploaded Expansion File in
--   bytes.
efFileSize :: Lens' ExpansionFile (Maybe Int64)

-- | If set this APK's Expansion File references another APK's Expansion
--   File. The file_size field will not be set.
efReferencesVersion :: Lens' ExpansionFile (Maybe Int32)

-- | The track type to read or modify.
data EditsTracksPatchTrack

-- | <pre>
--   alpha
--   </pre>
Alpha :: EditsTracksPatchTrack

-- | <pre>
--   beta
--   </pre>
Beta :: EditsTracksPatchTrack

-- | <pre>
--   production
--   </pre>
Production :: EditsTracksPatchTrack

-- | <pre>
--   rollout
--   </pre>
Rollout :: EditsTracksPatchTrack
data UserComment

-- | Creates a value of <a>UserComment</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ucAndroidOSVersion</a></li>
--   <li><a>ucText</a></li>
--   <li><a>ucDevice</a></li>
--   <li><a>ucThumbsUpCount</a></li>
--   <li><a>ucAppVersionCode</a></li>
--   <li><a>ucThumbsDownCount</a></li>
--   <li><a>ucOriginalText</a></li>
--   <li><a>ucAppVersionName</a></li>
--   <li><a>ucReviewerLanguage</a></li>
--   <li><a>ucDeviceMetadata</a></li>
--   <li><a>ucStarRating</a></li>
--   <li><a>ucLastModified</a></li>
--   </ul>
userComment :: UserComment

-- | Integer Android SDK version of the user's device at the time the
--   review was written, e.g. 23 is Marshmallow. May be absent.
ucAndroidOSVersion :: Lens' UserComment (Maybe Int32)

-- | The content of the comment, i.e. review body. In some cases users have
--   been able to write a review with separate title and body; in those
--   cases the title and body are concatenated and separated by a tab
--   character.
ucText :: Lens' UserComment (Maybe Text)

-- | Codename for the reviewer's device, e.g. klte, flounder. May be
--   absent.
ucDevice :: Lens' UserComment (Maybe Text)

-- | Number of users who have given this review a thumbs up
ucThumbsUpCount :: Lens' UserComment (Maybe Int32)

-- | Integer version code of the app as installed at the time the review
--   was written. May be absent.
ucAppVersionCode :: Lens' UserComment (Maybe Int32)

-- | Number of users who have given this review a thumbs down
ucThumbsDownCount :: Lens' UserComment (Maybe Int32)

-- | Untranslated text of the review, in the case where the review has been
--   translated. If the review has not been translated this is left blank.
ucOriginalText :: Lens' UserComment (Maybe Text)

-- | String version name of the app as installed at the time the review was
--   written. May be absent.
ucAppVersionName :: Lens' UserComment (Maybe Text)

-- | Language code for the reviewer. This is taken from the device settings
--   so is not guaranteed to match the language the review is written in.
--   May be absent.
ucReviewerLanguage :: Lens' UserComment (Maybe Text)

-- | Some information about the characteristics of the user's device
ucDeviceMetadata :: Lens' UserComment (Maybe DeviceMetadata)

-- | The star rating associated with the review, from 1 to 5.
ucStarRating :: Lens' UserComment (Maybe Int32)

-- | The last time at which this comment was updated.
ucLastModified :: Lens' UserComment (Maybe Timestamp)
data Testers

-- | Creates a value of <a>Testers</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tGooglePlusCommUnities</a></li>
--   <li><a>tGoogleGroups</a></li>
--   </ul>
testers :: Testers
tGooglePlusCommUnities :: Lens' Testers [Text]
tGoogleGroups :: Lens' Testers [Text]

-- | The track type to read or modify.
data EditsTracksGetTrack

-- | <pre>
--   alpha
--   </pre>
ETGTAlpha :: EditsTracksGetTrack

-- | <pre>
--   beta
--   </pre>
ETGTBeta :: EditsTracksGetTrack

-- | <pre>
--   production
--   </pre>
ETGTProduction :: EditsTracksGetTrack

-- | <pre>
--   rollout
--   </pre>
ETGTRollout :: EditsTracksGetTrack
data Listing

-- | Creates a value of <a>Listing</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lFullDescription</a></li>
--   <li><a>lVideo</a></li>
--   <li><a>lShortDescription</a></li>
--   <li><a>lLanguage</a></li>
--   <li><a>lTitle</a></li>
--   </ul>
listing :: Listing

-- | Full description of the app; this may be up to 4000 characters in
--   length.
lFullDescription :: Lens' Listing (Maybe Text)

-- | URL of a promotional YouTube video for the app.
lVideo :: Lens' Listing (Maybe Text)

-- | Short description of the app (previously known as promo text); this
--   may be up to 80 characters in length.
lShortDescription :: Lens' Listing (Maybe Text)

-- | Language localization code (for example, "de-AT" for Austrian German).
lLanguage :: Lens' Listing (Maybe Text)

-- | App's localized title.
lTitle :: Lens' Listing (Maybe Text)
data APK

-- | Creates a value of <a>APK</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aVersionCode</a></li>
--   <li><a>aBinary</a></li>
--   </ul>
aPK :: APK

-- | The version code of the APK, as specified in the APK's manifest file.
aVersionCode :: Lens' APK (Maybe Int32)

-- | Information about the binary payload of this APK.
aBinary :: Lens' APK (Maybe APKBinary)
data SubscriptionPurchasesDeferRequest

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

-- | The information about the new desired expiry time for the
--   subscription.
spdrDeferralInfo :: Lens' SubscriptionPurchasesDeferRequest (Maybe SubscriptionDeferralInfo)
data TracksListResponse

-- | Creates a value of <a>TracksListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tlrTracks</a></li>
--   <li><a>tlrKind</a></li>
--   </ul>
tracksListResponse :: TracksListResponse
tlrTracks :: Lens' TracksListResponse [Track]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "androidpublisher#tracksListResponse".
tlrKind :: Lens' TracksListResponse Text

-- | The track type to read or modify.
data EditsTracksUpdateTrack

-- | <pre>
--   alpha
--   </pre>
ETUTAlpha :: EditsTracksUpdateTrack

-- | <pre>
--   beta
--   </pre>
ETUTBeta :: EditsTracksUpdateTrack

-- | <pre>
--   production
--   </pre>
ETUTProduction :: EditsTracksUpdateTrack

-- | <pre>
--   rollout
--   </pre>
ETUTRollout :: EditsTracksUpdateTrack
data Season

-- | Creates a value of <a>Season</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sStart</a></li>
--   <li><a>sEnd</a></li>
--   <li><a>sProrations</a></li>
--   </ul>
season :: Season

-- | Inclusive start date of the recurrence period.
sStart :: Lens' Season (Maybe MonthDay)

-- | Inclusive end date of the recurrence period.
sEnd :: Lens' Season (Maybe MonthDay)

-- | Optionally present list of prorations for the season. Each proration
--   is a one-off discounted entry into a subscription. Each proration
--   contains the first date on which the discount is available and the new
--   pricing information.
sProrations :: Lens' Season [Prorate]
data PageInfo

-- | Creates a value of <a>PageInfo</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>piResultPerPage</a></li>
--   <li><a>piTotalResults</a></li>
--   <li><a>piStartIndex</a></li>
--   </ul>
pageInfo :: PageInfo
piResultPerPage :: Lens' PageInfo (Maybe Int32)
piTotalResults :: Lens' PageInfo (Maybe Int32)
piStartIndex :: Lens' PageInfo (Maybe Int32)
data ImagesListResponse

-- | Creates a value of <a>ImagesListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ilrImages</a></li>
--   </ul>
imagesListResponse :: ImagesListResponse
ilrImages :: Lens' ImagesListResponse [Image]

-- | Represents an edit of an app. An edit allows clients to make multiple
--   changes before committing them in one operation.
--   
--   <i>See:</i> <a>appEdit</a> smart constructor.
data AppEdit

-- | Creates a value of <a>AppEdit</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aeId</a></li>
--   <li><a>aeExpiryTimeSeconds</a></li>
--   </ul>
appEdit :: AppEdit

-- | The ID of the edit that can be used in subsequent API calls.
aeId :: Lens' AppEdit (Maybe Text)

-- | The time at which the edit will expire and will be no longer valid for
--   use in any subsequent API calls (encoded as seconds since the Epoch).
aeExpiryTimeSeconds :: Lens' AppEdit (Maybe Text)

-- | A ProductPurchase resource indicates the status of a user's inapp
--   product purchase.
--   
--   <i>See:</i> <a>productPurchase</a> smart constructor.
data ProductPurchase

-- | Creates a value of <a>ProductPurchase</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ppPurchaseState</a></li>
--   <li><a>ppConsumptionState</a></li>
--   <li><a>ppKind</a></li>
--   <li><a>ppPurchaseTimeMillis</a></li>
--   <li><a>ppDeveloperPayload</a></li>
--   </ul>
productPurchase :: ProductPurchase

-- | The purchase state of the order. Possible values are: - Purchased -
--   Cancelled
ppPurchaseState :: Lens' ProductPurchase (Maybe Int32)

-- | The consumption state of the inapp product. Possible values are: - Yet
--   to be consumed - Consumed
ppConsumptionState :: Lens' ProductPurchase (Maybe Int32)

-- | This kind represents an inappPurchase object in the androidpublisher
--   service.
ppKind :: Lens' ProductPurchase Text

-- | The time the product was purchased, in milliseconds since the epoch
--   (Jan 1, 1970).
ppPurchaseTimeMillis :: Lens' ProductPurchase (Maybe Int64)

-- | A developer-specified string that contains supplemental information
--   about an order.
ppDeveloperPayload :: Lens' ProductPurchase (Maybe Text)
data ReviewsListResponse

-- | Creates a value of <a>ReviewsListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rlrTokenPagination</a></li>
--   <li><a>rlrPageInfo</a></li>
--   <li><a>rlrReviews</a></li>
--   </ul>
reviewsListResponse :: ReviewsListResponse
rlrTokenPagination :: Lens' ReviewsListResponse (Maybe TokenPagination)
rlrPageInfo :: Lens' ReviewsListResponse (Maybe PageInfo)
rlrReviews :: Lens' ReviewsListResponse [Review]
data SubscriptionPurchasesDeferResponse

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

-- | The new expiry time for the subscription in milliseconds since the
--   Epoch.
spdrNewExpiryTimeMillis :: Lens' SubscriptionPurchasesDeferResponse (Maybe Int64)
data APKListing

-- | Creates a value of <a>APKListing</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>apklLanguage</a></li>
--   <li><a>apklRecentChanges</a></li>
--   </ul>
aPKListing :: APKListing

-- | The language code, in BCP 47 format (eg "en-US").
apklLanguage :: Lens' APKListing (Maybe Text)

-- | Describe what's new in your APK.
apklRecentChanges :: Lens' APKListing (Maybe Text)

-- | A SubscriptionPurchase resource indicates the status of a user's
--   subscription purchase.
--   
--   <i>See:</i> <a>subscriptionPurchase</a> smart constructor.
data SubscriptionPurchase

-- | Creates a value of <a>SubscriptionPurchase</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>spPaymentState</a></li>
--   <li><a>spKind</a></li>
--   <li><a>spExpiryTimeMillis</a></li>
--   <li><a>spAutoRenewing</a></li>
--   <li><a>spPriceCurrencyCode</a></li>
--   <li><a>spCancelReason</a></li>
--   <li><a>spCountryCode</a></li>
--   <li><a>spDeveloperPayload</a></li>
--   <li><a>spPriceAmountMicros</a></li>
--   <li><a>spStartTimeMillis</a></li>
--   </ul>
subscriptionPurchase :: SubscriptionPurchase

-- | The payment state of the subscription. Possible values are: - Payment
--   pending - Payment received
spPaymentState :: Lens' SubscriptionPurchase (Maybe Int32)

-- | This kind represents a subscriptionPurchase object in the
--   androidpublisher service.
spKind :: Lens' SubscriptionPurchase Text

-- | Time at which the subscription will expire, in milliseconds since the
--   Epoch.
spExpiryTimeMillis :: Lens' SubscriptionPurchase (Maybe Int64)

-- | Whether the subscription will automatically be renewed when it reaches
--   its current expiry time.
spAutoRenewing :: Lens' SubscriptionPurchase (Maybe Bool)

-- | ISO 4217 currency code for the subscription price. For example, if the
--   price is specified in British pounds sterling, price_currency_code is
--   "GBP".
spPriceCurrencyCode :: Lens' SubscriptionPurchase (Maybe Text)

-- | The reason why a subscription was cancelled or is not auto-renewing.
--   Possible values are: - User cancelled the subscription - Subscription
--   was cancelled by the system, for example because of a billing problem
spCancelReason :: Lens' SubscriptionPurchase (Maybe Int32)

-- | ISO 3166-1 alpha-2 billing country/region code of the user at the time
--   the subscription was granted.
spCountryCode :: Lens' SubscriptionPurchase (Maybe Text)

-- | A developer-specified string that contains supplemental information
--   about an order.
spDeveloperPayload :: Lens' SubscriptionPurchase (Maybe Text)

-- | Price of the subscription, not including tax. Price is expressed in
--   micro-units, where 1,000,000 micro-units represents one unit of the
--   currency. For example, if the subscription price is €1.99,
--   price_amount_micros is 1990000.
spPriceAmountMicros :: Lens' SubscriptionPurchase (Maybe Int64)

-- | Time at which the subscription was granted, in milliseconds since the
--   Epoch.
spStartTimeMillis :: Lens' SubscriptionPurchase (Maybe Int64)
data AppDetails

-- | Creates a value of <a>AppDetails</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>adContactPhone</a></li>
--   <li><a>adContactEmail</a></li>
--   <li><a>adContactWebsite</a></li>
--   <li><a>adDefaultLanguage</a></li>
--   </ul>
appDetails :: AppDetails

-- | The user-visible support telephone number for this app.
adContactPhone :: Lens' AppDetails (Maybe Text)

-- | The user-visible support email for this app.
adContactEmail :: Lens' AppDetails (Maybe Text)

-- | The user-visible website for this app.
adContactWebsite :: Lens' AppDetails (Maybe Text)

-- | Default language code, in BCP 47 format (eg "en-US").
adDefaultLanguage :: Lens' AppDetails (Maybe Text)

-- | Prices per buyer region. None of these prices should be zero. In-app
--   products can never be free.
--   
--   <i>See:</i> <a>inAppProductPrices</a> smart constructor.
data InAppProductPrices

-- | Creates a value of <a>InAppProductPrices</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iAppAddtional</a></li>
--   </ul>
inAppProductPrices :: HashMap Text Price -> InAppProductPrices

-- | Region code, as defined by ISO 3166-2.
iAppAddtional :: Lens' InAppProductPrices (HashMap Text Price)
data InAppProductsBatchRequest

-- | Creates a value of <a>InAppProductsBatchRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iapbrEntrys</a></li>
--   </ul>
inAppProductsBatchRequest :: InAppProductsBatchRequest
iapbrEntrys :: Lens' InAppProductsBatchRequest [InAppProductsBatchRequestEntry]

-- | Defines an APK available for this application that is hosted
--   externally and not uploaded to Google Play. This function is only
--   available to enterprises who are using Google Play for Work, and whos
--   application is restricted to the enterprise private channel
--   
--   <i>See:</i> <a>externallyHostedAPK</a> smart constructor.
data ExternallyHostedAPK

-- | Creates a value of <a>ExternallyHostedAPK</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ehapkApplicationLabel</a></li>
--   <li><a>ehapkMaximumSdk</a></li>
--   <li><a>ehapkNATiveCodes</a></li>
--   <li><a>ehapkVersionCode</a></li>
--   <li><a>ehapkFileSha256Base64</a></li>
--   <li><a>ehapkExternallyHostedURL</a></li>
--   <li><a>ehapkVersionName</a></li>
--   <li><a>ehapkPackageName</a></li>
--   <li><a>ehapkFileSize</a></li>
--   <li><a>ehapkIconBase64</a></li>
--   <li><a>ehapkUsesFeatures</a></li>
--   <li><a>ehapkMinimumSdk</a></li>
--   <li><a>ehapkFileSha1Base64</a></li>
--   <li><a>ehapkUsesPermissions</a></li>
--   <li><a>ehapkCertificateBase64s</a></li>
--   </ul>
externallyHostedAPK :: ExternallyHostedAPK

-- | The application label.
ehapkApplicationLabel :: Lens' ExternallyHostedAPK (Maybe Text)

-- | The maximum SDK supported by this APK (optional).
ehapkMaximumSdk :: Lens' ExternallyHostedAPK (Maybe Int32)

-- | The native code environments supported by this APK (optional).
ehapkNATiveCodes :: Lens' ExternallyHostedAPK [Text]

-- | The version code of this APK.
ehapkVersionCode :: Lens' ExternallyHostedAPK (Maybe Int32)

-- | The SHA256 checksum of this APK, represented as a base64 encoded byte
--   array.
ehapkFileSha256Base64 :: Lens' ExternallyHostedAPK (Maybe Text)

-- | The URL at which the APK is hosted. This must be an https URL.
ehapkExternallyHostedURL :: Lens' ExternallyHostedAPK (Maybe Text)

-- | The version name of this APK.
ehapkVersionName :: Lens' ExternallyHostedAPK (Maybe Text)

-- | The package name.
ehapkPackageName :: Lens' ExternallyHostedAPK (Maybe Text)

-- | The file size in bytes of this APK.
ehapkFileSize :: Lens' ExternallyHostedAPK (Maybe Int64)

-- | The icon image from the APK, as a base64 encoded byte array.
ehapkIconBase64 :: Lens' ExternallyHostedAPK (Maybe Text)

-- | The features required by this APK (optional).
ehapkUsesFeatures :: Lens' ExternallyHostedAPK [Text]

-- | The minimum SDK targeted by this APK.
ehapkMinimumSdk :: Lens' ExternallyHostedAPK (Maybe Int32)

-- | The SHA1 checksum of this APK, represented as a base64 encoded byte
--   array.
ehapkFileSha1Base64 :: Lens' ExternallyHostedAPK (Maybe Text)

-- | The permissions requested by this APK.
ehapkUsesPermissions :: Lens' ExternallyHostedAPK [ExternallyHostedAPKUsesPermission]

-- | A certificate (or array of certificates if a certificate-chain is
--   used) used to signed this APK, represented as a base64 encoded byte
--   array.
ehapkCertificateBase64s :: Lens' ExternallyHostedAPK [Text]
data EditsImagesListImageType

-- | <pre>
--   featureGraphic
--   </pre>
EILITFeatureGraphic :: EditsImagesListImageType

-- | <pre>
--   icon
--   </pre>
EILITIcon :: EditsImagesListImageType

-- | <pre>
--   phoneScreenshots
--   </pre>
EILITPhoneScreenshots :: EditsImagesListImageType

-- | <pre>
--   promoGraphic
--   </pre>
EILITPromoGraphic :: EditsImagesListImageType

-- | <pre>
--   sevenInchScreenshots
--   </pre>
EILITSevenInchScreenshots :: EditsImagesListImageType

-- | <pre>
--   tenInchScreenshots
--   </pre>
EILITTenInchScreenshots :: EditsImagesListImageType

-- | <pre>
--   tvBanner
--   </pre>
EILITTvBanner :: EditsImagesListImageType

-- | <pre>
--   tvScreenshots
--   </pre>
EILITTvScreenshots :: EditsImagesListImageType

-- | <pre>
--   wearScreenshots
--   </pre>
EILITWearScreenshots :: EditsImagesListImageType
data EditsTestersPatchTrack

-- | <pre>
--   alpha
--   </pre>
ETPTAlpha :: EditsTestersPatchTrack

-- | <pre>
--   beta
--   </pre>
ETPTBeta :: EditsTestersPatchTrack

-- | <pre>
--   production
--   </pre>
ETPTProduction :: EditsTestersPatchTrack

-- | <pre>
--   rollout
--   </pre>
ETPTRollout :: EditsTestersPatchTrack
data EditsTestersGetTrack

-- | <pre>
--   alpha
--   </pre>
EAlpha :: EditsTestersGetTrack

-- | <pre>
--   beta
--   </pre>
EBeta :: EditsTestersGetTrack

-- | <pre>
--   production
--   </pre>
EProduction :: EditsTestersGetTrack

-- | <pre>
--   rollout
--   </pre>
ERollout :: EditsTestersGetTrack

-- | Represents a deobfuscation file.
--   
--   <i>See:</i> <a>deobfuscationFile</a> smart constructor.
data DeobfuscationFile

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

-- | The type of the deobfuscation file.
dfSymbolType :: Lens' DeobfuscationFile (Maybe Text)
data VoidedPurchasesListResponse

-- | Creates a value of <a>VoidedPurchasesListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vplrTokenPagination</a></li>
--   <li><a>vplrPageInfo</a></li>
--   <li><a>vplrVoidedPurchases</a></li>
--   </ul>
voidedPurchasesListResponse :: VoidedPurchasesListResponse
vplrTokenPagination :: Lens' VoidedPurchasesListResponse (Maybe TokenPagination)
vplrPageInfo :: Lens' VoidedPurchasesListResponse (Maybe PageInfo)
vplrVoidedPurchases :: Lens' VoidedPurchasesListResponse [VoidedPurchase]
data ExpansionFilesUploadResponse

-- | Creates a value of <a>ExpansionFilesUploadResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>efurExpansionFile</a></li>
--   </ul>
expansionFilesUploadResponse :: ExpansionFilesUploadResponse
efurExpansionFile :: Lens' ExpansionFilesUploadResponse (Maybe ExpansionFile)
data ImagesUploadResponse

-- | Creates a value of <a>ImagesUploadResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iurImage</a></li>
--   </ul>
imagesUploadResponse :: ImagesUploadResponse
iurImage :: Lens' ImagesUploadResponse (Maybe Image)
data EditsImagesUploadImageType

-- | <pre>
--   featureGraphic
--   </pre>
EIUITFeatureGraphic :: EditsImagesUploadImageType

-- | <pre>
--   icon
--   </pre>
EIUITIcon :: EditsImagesUploadImageType

-- | <pre>
--   phoneScreenshots
--   </pre>
EIUITPhoneScreenshots :: EditsImagesUploadImageType

-- | <pre>
--   promoGraphic
--   </pre>
EIUITPromoGraphic :: EditsImagesUploadImageType

-- | <pre>
--   sevenInchScreenshots
--   </pre>
EIUITSevenInchScreenshots :: EditsImagesUploadImageType

-- | <pre>
--   tenInchScreenshots
--   </pre>
EIUITTenInchScreenshots :: EditsImagesUploadImageType

-- | <pre>
--   tvBanner
--   </pre>
EIUITTvBanner :: EditsImagesUploadImageType

-- | <pre>
--   tvScreenshots
--   </pre>
EIUITTvScreenshots :: EditsImagesUploadImageType

-- | <pre>
--   wearScreenshots
--   </pre>
EIUITWearScreenshots :: EditsImagesUploadImageType
data Prorate

-- | Creates a value of <a>Prorate</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pStart</a></li>
--   <li><a>pDefaultPrice</a></li>
--   </ul>
prorate :: Prorate

-- | Defines the first day on which the price takes effect.
pStart :: Lens' Prorate (Maybe MonthDay)

-- | Default price cannot be zero and must be less than the full
--   subscription price. Default price is always in the developer's
--   Checkout merchant currency. Targeted countries have their prices set
--   automatically based on the default_price.
pDefaultPrice :: Lens' Prorate (Maybe Price)
data DeobfuscationFilesUploadResponse

-- | Creates a value of <a>DeobfuscationFilesUploadResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dfurDeobfuscationFile</a></li>
--   </ul>
deobfuscationFilesUploadResponse :: DeobfuscationFilesUploadResponse
dfurDeobfuscationFile :: Lens' DeobfuscationFilesUploadResponse (Maybe DeobfuscationFile)
data InAppProductsListResponse

-- | Creates a value of <a>InAppProductsListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iaplrTokenPagination</a></li>
--   <li><a>iaplrPageInfo</a></li>
--   <li><a>iaplrKind</a></li>
--   <li><a>iaplrInAppProduct</a></li>
--   </ul>
inAppProductsListResponse :: InAppProductsListResponse
iaplrTokenPagination :: Lens' InAppProductsListResponse (Maybe TokenPagination)
iaplrPageInfo :: Lens' InAppProductsListResponse (Maybe PageInfo)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "androidpublisher#inappproductsListResponse".
iaplrKind :: Lens' InAppProductsListResponse Text
iaplrInAppProduct :: Lens' InAppProductsListResponse [InAppProduct]
data EditsDeobfuscationFilesUploadDeobfuscationFileType

-- | <pre>
--   proguard
--   </pre>
Proguard :: EditsDeobfuscationFilesUploadDeobfuscationFileType
data EditsExpansionFilesUploadExpansionFileType

-- | <pre>
--   main
--   </pre>
Main :: EditsExpansionFilesUploadExpansionFileType

-- | <pre>
--   patch
--   </pre>
Patch' :: EditsExpansionFilesUploadExpansionFileType
data APKListingsListResponse

-- | Creates a value of <a>APKListingsListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>apkllrKind</a></li>
--   <li><a>apkllrListings</a></li>
--   </ul>
aPKListingsListResponse :: APKListingsListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "androidpublisher#apkListingsListResponse".
apkllrKind :: Lens' APKListingsListResponse Text
apkllrListings :: Lens' APKListingsListResponse [APKListing]
data Review

-- | Creates a value of <a>Review</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rReviewId</a></li>
--   <li><a>rAuthorName</a></li>
--   <li><a>rComments</a></li>
--   </ul>
review :: Review

-- | Unique identifier for this review.
rReviewId :: Lens' Review (Maybe Text)

-- | The name of the user who wrote the review.
rAuthorName :: Lens' Review (Maybe Text)

-- | A repeated field containing comments for the review.
rComments :: Lens' Review [Comment]
data InAppProductsInsertResponse

-- | Creates a value of <a>InAppProductsInsertResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iapirInAppProduct</a></li>
--   </ul>
inAppProductsInsertResponse :: InAppProductsInsertResponse
iapirInAppProduct :: Lens' InAppProductsInsertResponse (Maybe InAppProduct)
data APKsAddExternallyHostedResponse

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

-- | The definition of the externally-hosted APK and where it is located.
apkaehrExternallyHostedAPK :: Lens' APKsAddExternallyHostedResponse (Maybe ExternallyHostedAPK)

-- | A SubscriptionDeferralInfo contains the data needed to defer a
--   subscription purchase to a future expiry time.
--   
--   <i>See:</i> <a>subscriptionDeferralInfo</a> smart constructor.
data SubscriptionDeferralInfo

-- | Creates a value of <a>SubscriptionDeferralInfo</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sdiDesiredExpiryTimeMillis</a></li>
--   <li><a>sdiExpectedExpiryTimeMillis</a></li>
--   </ul>
subscriptionDeferralInfo :: SubscriptionDeferralInfo

-- | The desired next expiry time to assign to the subscription, in
--   milliseconds since the Epoch. The given time must be later/greater
--   than the current expiry time for the subscription.
sdiDesiredExpiryTimeMillis :: Lens' SubscriptionDeferralInfo (Maybe Int64)

-- | The expected expiry time for the subscription. If the current expiry
--   time for the subscription is not the value specified here, the
--   deferral will not occur.
sdiExpectedExpiryTimeMillis :: Lens' SubscriptionDeferralInfo (Maybe Int64)
data EditsExpansionFilesGetExpansionFileType

-- | <pre>
--   main
--   </pre>
EEFGEFTMain :: EditsExpansionFilesGetExpansionFileType

-- | <pre>
--   patch
--   </pre>
EEFGEFTPatch' :: EditsExpansionFilesGetExpansionFileType
data ReviewsReplyRequest

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

-- | The text to set as the reply. Replies of more than approximately 350
--   characters will be rejected. HTML tags will be stripped.
rrrReplyText :: Lens' ReviewsReplyRequest (Maybe Text)
data EditsExpansionFilesPatchExpansionFileType

-- | <pre>
--   main
--   </pre>
EEFPEFTMain :: EditsExpansionFilesPatchExpansionFileType

-- | <pre>
--   patch
--   </pre>
EEFPEFTPatch' :: EditsExpansionFilesPatchExpansionFileType
data EditsExpansionFilesUpdateExpansionFileType

-- | <pre>
--   main
--   </pre>
EEFUEFTMain :: EditsExpansionFilesUpdateExpansionFileType

-- | <pre>
--   patch
--   </pre>
EEFUEFTPatch' :: EditsExpansionFilesUpdateExpansionFileType
data DeviceMetadata

-- | Creates a value of <a>DeviceMetadata</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dmProductName</a></li>
--   <li><a>dmGlEsVersion</a></li>
--   <li><a>dmManufacturer</a></li>
--   <li><a>dmScreenWidthPx</a></li>
--   <li><a>dmRamMb</a></li>
--   <li><a>dmCPUMake</a></li>
--   <li><a>dmScreenHeightPx</a></li>
--   <li><a>dmNATivePlatform</a></li>
--   <li><a>dmDeviceClass</a></li>
--   <li><a>dmCPUModel</a></li>
--   <li><a>dmScreenDensityDpi</a></li>
--   </ul>
deviceMetadata :: DeviceMetadata

-- | Device model name (e.g. Droid)
dmProductName :: Lens' DeviceMetadata (Maybe Text)

-- | OpenGL version
dmGlEsVersion :: Lens' DeviceMetadata (Maybe Int32)

-- | Device manufacturer (e.g. Motorola)
dmManufacturer :: Lens' DeviceMetadata (Maybe Text)

-- | Screen width in pixels
dmScreenWidthPx :: Lens' DeviceMetadata (Maybe Int32)

-- | Device RAM in Megabytes e.g. "2048"
dmRamMb :: Lens' DeviceMetadata (Maybe Int32)

-- | Device CPU make e.g. "Qualcomm"
dmCPUMake :: Lens' DeviceMetadata (Maybe Text)

-- | Screen height in pixels
dmScreenHeightPx :: Lens' DeviceMetadata (Maybe Int32)

-- | Comma separated list of native platforms (e.g. "arm", "arm7")
dmNATivePlatform :: Lens' DeviceMetadata (Maybe Text)

-- | Device class (e.g. tablet)
dmDeviceClass :: Lens' DeviceMetadata (Maybe Text)

-- | Device CPU model e.g. "MSM8974"
dmCPUModel :: Lens' DeviceMetadata (Maybe Text)

-- | Screen density in DPI
dmScreenDensityDpi :: Lens' DeviceMetadata (Maybe Int32)
data DeveloperComment

-- | Creates a value of <a>DeveloperComment</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcText</a></li>
--   <li><a>dcLastModified</a></li>
--   </ul>
developerComment :: DeveloperComment

-- | The content of the comment, i.e. reply body.
dcText :: Lens' DeveloperComment (Maybe Text)

-- | The last time at which this comment was updated.
dcLastModified :: Lens' DeveloperComment (Maybe Timestamp)
data InAppProduct

-- | Creates a value of <a>InAppProduct</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iapStatus</a></li>
--   <li><a>iapTrialPeriod</a></li>
--   <li><a>iapPackageName</a></li>
--   <li><a>iapSeason</a></li>
--   <li><a>iapPurchaseType</a></li>
--   <li><a>iapSubscriptionPeriod</a></li>
--   <li><a>iapPrices</a></li>
--   <li><a>iapSKU</a></li>
--   <li><a>iapDefaultPrice</a></li>
--   <li><a>iapListings</a></li>
--   <li><a>iapDefaultLanguage</a></li>
--   </ul>
inAppProduct :: InAppProduct
iapStatus :: Lens' InAppProduct (Maybe Text)

-- | Trial period, specified in ISO 8601 format. Acceptable values are
--   anything between "P7D" (seven days) and "P999D" (999 days). Seasonal
--   subscriptions cannot have a trial period.
iapTrialPeriod :: Lens' InAppProduct (Maybe Text)

-- | The package name of the parent app.
iapPackageName :: Lens' InAppProduct (Maybe Text)

-- | Definition of a season for a seasonal subscription. Can be defined
--   only for yearly subscriptions.
iapSeason :: Lens' InAppProduct (Maybe Season)

-- | Purchase type enum value. Unmodifiable after creation.
iapPurchaseType :: Lens' InAppProduct (Maybe Text)

-- | Subscription period, specified in ISO 8601 format. Acceptable values
--   are "P1W" (one week), "P1M" (one month), "P3M" (three months), "P6M"
--   (six months), and "P1Y" (one year).
iapSubscriptionPeriod :: Lens' InAppProduct (Maybe Text)

-- | Prices per buyer region. None of these prices should be zero. In-app
--   products can never be free.
iapPrices :: Lens' InAppProduct (Maybe InAppProductPrices)

-- | The stock-keeping-unit (SKU) of the product, unique within an app.
iapSKU :: Lens' InAppProduct (Maybe Text)

-- | Default price cannot be zero. In-app products can never be free.
--   Default price is always in the developer's Checkout merchant currency.
iapDefaultPrice :: Lens' InAppProduct (Maybe Price)

-- | List of localized title and description data.
iapListings :: Lens' InAppProduct (Maybe InAppProductListings)

-- | The default language of the localized data, as defined by BCP 47. e.g.
--   "en-US", "en-GB".
iapDefaultLanguage :: Lens' InAppProduct (Maybe Text)
data InAppProductsBatchResponseEntry

-- | Creates a value of <a>InAppProductsBatchResponseEntry</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iInAppProductsupdateresponse</a></li>
--   <li><a>iInAppProductsinsertresponse</a></li>
--   <li><a>iBatchId</a></li>
--   </ul>
inAppProductsBatchResponseEntry :: InAppProductsBatchResponseEntry
iInAppProductsupdateresponse :: Lens' InAppProductsBatchResponseEntry (Maybe InAppProductsUpdateResponse)
iInAppProductsinsertresponse :: Lens' InAppProductsBatchResponseEntry (Maybe InAppProductsInsertResponse)
iBatchId :: Lens' InAppProductsBatchResponseEntry (Maybe Word32)
data Price

-- | Creates a value of <a>Price</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pPriceMicros</a></li>
--   <li><a>pCurrency</a></li>
--   </ul>
price :: Price

-- | The price in millionths of the currency base unit represented as a
--   string.
pPriceMicros :: Lens' Price (Maybe Text)

-- | 3 letter Currency code, as defined by ISO 4217.
pCurrency :: Lens' Price (Maybe Text)
data EditsImagesDeleteImageType

-- | <pre>
--   featureGraphic
--   </pre>
EIDITFeatureGraphic :: EditsImagesDeleteImageType

-- | <pre>
--   icon
--   </pre>
EIDITIcon :: EditsImagesDeleteImageType

-- | <pre>
--   phoneScreenshots
--   </pre>
EIDITPhoneScreenshots :: EditsImagesDeleteImageType

-- | <pre>
--   promoGraphic
--   </pre>
EIDITPromoGraphic :: EditsImagesDeleteImageType

-- | <pre>
--   sevenInchScreenshots
--   </pre>
EIDITSevenInchScreenshots :: EditsImagesDeleteImageType

-- | <pre>
--   tenInchScreenshots
--   </pre>
EIDITTenInchScreenshots :: EditsImagesDeleteImageType

-- | <pre>
--   tvBanner
--   </pre>
EIDITTvBanner :: EditsImagesDeleteImageType

-- | <pre>
--   tvScreenshots
--   </pre>
EIDITTvScreenshots :: EditsImagesDeleteImageType

-- | <pre>
--   wearScreenshots
--   </pre>
EIDITWearScreenshots :: EditsImagesDeleteImageType

-- | Represents the binary payload of an APK.
--   
--   <i>See:</i> <a>aPKBinary</a> smart constructor.
data APKBinary

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

-- | A sha1 hash of the APK payload, encoded as a hex string and matching
--   the output of the sha1sum command.
apkbSha1 :: Lens' APKBinary (Maybe Text)
data APKsListResponse

-- | Creates a value of <a>APKsListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>apklrKind</a></li>
--   <li><a>apklrAPKs</a></li>
--   </ul>
aPKsListResponse :: APKsListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "androidpublisher#apksListResponse".
apklrKind :: Lens' APKsListResponse Text
apklrAPKs :: Lens' APKsListResponse [APK]
data ReviewsReplyResponse

-- | Creates a value of <a>ReviewsReplyResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rrrResult</a></li>
--   </ul>
reviewsReplyResponse :: ReviewsReplyResponse
rrrResult :: Lens' ReviewsReplyResponse (Maybe ReviewReplyResult)

-- | A permission used by this APK.
--   
--   <i>See:</i> <a>externallyHostedAPKUsesPermission</a> smart
--   constructor.
data ExternallyHostedAPKUsesPermission

-- | Creates a value of <a>ExternallyHostedAPKUsesPermission</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ehapkupName</a></li>
--   <li><a>ehapkupMaxSdkVersion</a></li>
--   </ul>
externallyHostedAPKUsesPermission :: ExternallyHostedAPKUsesPermission

-- | The name of the permission requested.
ehapkupName :: Lens' ExternallyHostedAPKUsesPermission (Maybe Text)

-- | Optionally, the maximum SDK version for which the permission is
--   required.
ehapkupMaxSdkVersion :: Lens' ExternallyHostedAPKUsesPermission (Maybe Int32)
data ListingsListResponse

-- | Creates a value of <a>ListingsListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>llrKind</a></li>
--   <li><a>llrListings</a></li>
--   </ul>
listingsListResponse :: ListingsListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "androidpublisher#listingsListResponse".
llrKind :: Lens' ListingsListResponse Text
llrListings :: Lens' ListingsListResponse [Listing]
data APKsAddExternallyHostedRequest

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

-- | The definition of the externally-hosted APK and where it is located.
aExternallyHostedAPK :: Lens' APKsAddExternallyHostedRequest (Maybe ExternallyHostedAPK)
data InAppProductsInsertRequest

-- | Creates a value of <a>InAppProductsInsertRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iInAppProduct</a></li>
--   </ul>
inAppProductsInsertRequest :: InAppProductsInsertRequest
iInAppProduct :: Lens' InAppProductsInsertRequest (Maybe InAppProduct)
data EntitlementsListResponse

-- | Creates a value of <a>EntitlementsListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>elrTokenPagination</a></li>
--   <li><a>elrPageInfo</a></li>
--   <li><a>elrResources</a></li>
--   </ul>
entitlementsListResponse :: EntitlementsListResponse
elrTokenPagination :: Lens' EntitlementsListResponse (Maybe TokenPagination)
elrPageInfo :: Lens' EntitlementsListResponse (Maybe PageInfo)
elrResources :: Lens' EntitlementsListResponse [Entitlement]
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>cUserComment</a></li>
--   <li><a>cDeveloperComment</a></li>
--   </ul>
comment :: Comment

-- | A comment from a user.
cUserComment :: Lens' Comment (Maybe UserComment)

-- | A comment from a developer.
cDeveloperComment :: Lens' Comment (Maybe DeveloperComment)
data EditsTestersUpdateTrack

-- | <pre>
--   alpha
--   </pre>
EDIAlpha :: EditsTestersUpdateTrack

-- | <pre>
--   beta
--   </pre>
EDIBeta :: EditsTestersUpdateTrack

-- | <pre>
--   production
--   </pre>
EDIProduction :: EditsTestersUpdateTrack

-- | <pre>
--   rollout
--   </pre>
EDIRollout :: EditsTestersUpdateTrack
data InAppProductsUpdateRequest

-- | Creates a value of <a>InAppProductsUpdateRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>inInAppProduct</a></li>
--   </ul>
inAppProductsUpdateRequest :: InAppProductsUpdateRequest
inInAppProduct :: Lens' InAppProductsUpdateRequest (Maybe InAppProduct)
data Timestamp

-- | Creates a value of <a>Timestamp</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tNanos</a></li>
--   <li><a>tSeconds</a></li>
--   </ul>
timestamp :: Timestamp
tNanos :: Lens' Timestamp (Maybe Int32)
tSeconds :: Lens' Timestamp (Maybe Int64)

-- | A VoidedPurchase resource indicates a purchase that was either
--   cancelled/refunded/charged-back.
--   
--   <i>See:</i> <a>voidedPurchase</a> smart constructor.
data VoidedPurchase

-- | Creates a value of <a>VoidedPurchase</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vpKind</a></li>
--   <li><a>vpPurchaseTimeMillis</a></li>
--   <li><a>vpPurchaseToken</a></li>
--   <li><a>vpVoidedTimeMillis</a></li>
--   </ul>
voidedPurchase :: VoidedPurchase

-- | This kind represents a voided purchase object in the androidpublisher
--   service.
vpKind :: Lens' VoidedPurchase Text

-- | The time at which the purchase was made, in milliseconds since the
--   epoch (Jan 1, 1970).
vpPurchaseTimeMillis :: Lens' VoidedPurchase (Maybe Int64)

-- | The token that was generated when a purchase was made. This uniquely
--   identifies a purchase.
vpPurchaseToken :: Lens' VoidedPurchase (Maybe Text)

-- | The time at which the purchase was cancelled/refunded/charged-back, in
--   milliseconds since the epoch (Jan 1, 1970).
vpVoidedTimeMillis :: Lens' VoidedPurchase (Maybe Int64)
data ReviewReplyResult

-- | Creates a value of <a>ReviewReplyResult</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rReplyText</a></li>
--   <li><a>rLastEdited</a></li>
--   </ul>
reviewReplyResult :: ReviewReplyResult

-- | The reply text that was applied.
rReplyText :: Lens' ReviewReplyResult (Maybe Text)

-- | The time at which the reply took effect.
rLastEdited :: Lens' ReviewReplyResult (Maybe Timestamp)

-- | An Entitlement resource indicates a user's current entitlement to an
--   inapp item or subscription.
--   
--   <i>See:</i> <a>entitlement</a> smart constructor.
data Entitlement

-- | Creates a value of <a>Entitlement</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eKind</a></li>
--   <li><a>eProductType</a></li>
--   <li><a>eToken</a></li>
--   <li><a>eProductId</a></li>
--   </ul>
entitlement :: Entitlement

-- | This kind represents an entitlement object in the androidpublisher
--   service.
eKind :: Lens' Entitlement Text

-- | The type of the inapp product. Possible values are: - In-app item:
--   "inapp" - Subscription: "subs"
eProductType :: Lens' Entitlement (Maybe Text)

-- | The token which can be verified using the subscriptions or products
--   API.
eToken :: Lens' Entitlement (Maybe Text)

-- | The SKU of the product.
eProductId :: Lens' Entitlement (Maybe Text)
data InAppProductsBatchResponse

-- | Creates a value of <a>InAppProductsBatchResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iEntrys</a></li>
--   <li><a>iKind</a></li>
--   </ul>
inAppProductsBatchResponse :: InAppProductsBatchResponse
iEntrys :: Lens' InAppProductsBatchResponse [InAppProductsBatchResponseEntry]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "androidpublisher#inappproductsBatchResponse".
iKind :: Lens' InAppProductsBatchResponse Text


-- | Deletes the APK-specific localized listing for a specified APK and
--   language code.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.apklistings.delete</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.APKListings.Delete

-- | A resource alias for
--   <tt>androidpublisher.edits.apklistings.delete</tt> method which the
--   <a>EditsAPKListingsDelete</a> request conforms to.
type EditsAPKListingsDeleteResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("apks" :> (Capture "apkVersionCode" (Textual Int32) :> ("listings" :> (Capture "language" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))))))

-- | Creates a value of <a>EditsAPKListingsDelete</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eapkldPackageName</a></li>
--   <li><a>eapkldAPKVersionCode</a></li>
--   <li><a>eapkldLanguage</a></li>
--   <li><a>eapkldEditId</a></li>
--   </ul>
editsAPKListingsDelete :: Text -> Int32 -> Text -> Text -> EditsAPKListingsDelete

-- | Deletes the APK-specific localized listing for a specified APK and
--   language code.
--   
--   <i>See:</i> <a>editsAPKListingsDelete</a> smart constructor.
data EditsAPKListingsDelete

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
eapkldPackageName :: Lens' EditsAPKListingsDelete Text

-- | The APK version code whose APK-specific listings should be read or
--   modified.
eapkldAPKVersionCode :: Lens' EditsAPKListingsDelete Int32

-- | The language code (a BCP-47 language tag) of the APK-specific
--   localized listing to read or modify. For example, to select Austrian
--   German, pass "de-AT".
eapkldLanguage :: Lens' EditsAPKListingsDelete Text

-- | Unique identifier for this edit.
eapkldEditId :: Lens' EditsAPKListingsDelete Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.APKListings.Delete.EditsAPKListingsDelete
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.APKListings.Delete.EditsAPKListingsDelete
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.APKListings.Delete.EditsAPKListingsDelete
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.APKListings.Delete.EditsAPKListingsDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.APKListings.Delete.EditsAPKListingsDelete


-- | Deletes all the APK-specific localized listings for a specified APK.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.apklistings.deleteall</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.APKListings.Deleteall

-- | A resource alias for
--   <tt>androidpublisher.edits.apklistings.deleteall</tt> method which the
--   <a>EditsAPKListingsDeleteall</a> request conforms to.
type EditsAPKListingsDeleteallResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("apks" :> (Capture "apkVersionCode" (Textual Int32) :> ("listings" :> (QueryParam "alt" AltJSON :> Delete '[JSON] ())))))))))

-- | Creates a value of <a>EditsAPKListingsDeleteall</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eapkldaPackageName</a></li>
--   <li><a>eapkldaAPKVersionCode</a></li>
--   <li><a>eapkldaEditId</a></li>
--   </ul>
editsAPKListingsDeleteall :: Text -> Int32 -> Text -> EditsAPKListingsDeleteall

-- | Deletes all the APK-specific localized listings for a specified APK.
--   
--   <i>See:</i> <a>editsAPKListingsDeleteall</a> smart constructor.
data EditsAPKListingsDeleteall

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
eapkldaPackageName :: Lens' EditsAPKListingsDeleteall Text

-- | The APK version code whose APK-specific listings should be read or
--   modified.
eapkldaAPKVersionCode :: Lens' EditsAPKListingsDeleteall Int32

-- | Unique identifier for this edit.
eapkldaEditId :: Lens' EditsAPKListingsDeleteall Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.APKListings.Deleteall.EditsAPKListingsDeleteall
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.APKListings.Deleteall.EditsAPKListingsDeleteall
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.APKListings.Deleteall.EditsAPKListingsDeleteall
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.APKListings.Deleteall.EditsAPKListingsDeleteall
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.APKListings.Deleteall.EditsAPKListingsDeleteall


-- | Fetches the APK-specific localized listing for a specified APK and
--   language code.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.apklistings.get</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.APKListings.Get

-- | A resource alias for <tt>androidpublisher.edits.apklistings.get</tt>
--   method which the <a>EditsAPKListingsGet</a> request conforms to.
type EditsAPKListingsGetResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("apks" :> (Capture "apkVersionCode" (Textual Int32) :> ("listings" :> (Capture "language" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] APKListing))))))))))

-- | Creates a value of <a>EditsAPKListingsGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eapklgPackageName</a></li>
--   <li><a>eapklgAPKVersionCode</a></li>
--   <li><a>eapklgLanguage</a></li>
--   <li><a>eapklgEditId</a></li>
--   </ul>
editsAPKListingsGet :: Text -> Int32 -> Text -> Text -> EditsAPKListingsGet

-- | Fetches the APK-specific localized listing for a specified APK and
--   language code.
--   
--   <i>See:</i> <a>editsAPKListingsGet</a> smart constructor.
data EditsAPKListingsGet

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
eapklgPackageName :: Lens' EditsAPKListingsGet Text

-- | The APK version code whose APK-specific listings should be read or
--   modified.
eapklgAPKVersionCode :: Lens' EditsAPKListingsGet Int32

-- | The language code (a BCP-47 language tag) of the APK-specific
--   localized listing to read or modify. For example, to select Austrian
--   German, pass "de-AT".
eapklgLanguage :: Lens' EditsAPKListingsGet Text

-- | Unique identifier for this edit.
eapklgEditId :: Lens' EditsAPKListingsGet Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.APKListings.Get.EditsAPKListingsGet
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.APKListings.Get.EditsAPKListingsGet
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.APKListings.Get.EditsAPKListingsGet
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.APKListings.Get.EditsAPKListingsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.APKListings.Get.EditsAPKListingsGet


-- | Lists all the APK-specific localized listings for a specified APK.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.apklistings.list</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.APKListings.List

-- | A resource alias for <tt>androidpublisher.edits.apklistings.list</tt>
--   method which the <a>EditsAPKListingsList</a> request conforms to.
type EditsAPKListingsListResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("apks" :> (Capture "apkVersionCode" (Textual Int32) :> ("listings" :> (QueryParam "alt" AltJSON :> Get '[JSON] APKListingsListResponse)))))))))

-- | Creates a value of <a>EditsAPKListingsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eapkllPackageName</a></li>
--   <li><a>eapkllAPKVersionCode</a></li>
--   <li><a>eapkllEditId</a></li>
--   </ul>
editsAPKListingsList :: Text -> Int32 -> Text -> EditsAPKListingsList

-- | Lists all the APK-specific localized listings for a specified APK.
--   
--   <i>See:</i> <a>editsAPKListingsList</a> smart constructor.
data EditsAPKListingsList

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
eapkllPackageName :: Lens' EditsAPKListingsList Text

-- | The APK version code whose APK-specific listings should be read or
--   modified.
eapkllAPKVersionCode :: Lens' EditsAPKListingsList Int32

-- | Unique identifier for this edit.
eapkllEditId :: Lens' EditsAPKListingsList Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.APKListings.List.EditsAPKListingsList
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.APKListings.List.EditsAPKListingsList
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.APKListings.List.EditsAPKListingsList
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.APKListings.List.EditsAPKListingsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.APKListings.List.EditsAPKListingsList


-- | Updates or creates the APK-specific localized listing for a specified
--   APK and language code. This method supports patch semantics.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.apklistings.patch</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.APKListings.Patch

-- | A resource alias for <tt>androidpublisher.edits.apklistings.patch</tt>
--   method which the <a>EditsAPKListingsPatch</a> request conforms to.
type EditsAPKListingsPatchResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("apks" :> (Capture "apkVersionCode" (Textual Int32) :> ("listings" :> (Capture "language" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] APKListing :> Patch '[JSON] APKListing)))))))))))

-- | Creates a value of <a>EditsAPKListingsPatch</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eapklpPackageName</a></li>
--   <li><a>eapklpAPKVersionCode</a></li>
--   <li><a>eapklpPayload</a></li>
--   <li><a>eapklpLanguage</a></li>
--   <li><a>eapklpEditId</a></li>
--   </ul>
editsAPKListingsPatch :: Text -> Int32 -> APKListing -> Text -> Text -> EditsAPKListingsPatch

-- | Updates or creates the APK-specific localized listing for a specified
--   APK and language code. This method supports patch semantics.
--   
--   <i>See:</i> <a>editsAPKListingsPatch</a> smart constructor.
data EditsAPKListingsPatch

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
eapklpPackageName :: Lens' EditsAPKListingsPatch Text

-- | The APK version code whose APK-specific listings should be read or
--   modified.
eapklpAPKVersionCode :: Lens' EditsAPKListingsPatch Int32

-- | Multipart request metadata.
eapklpPayload :: Lens' EditsAPKListingsPatch APKListing

-- | The language code (a BCP-47 language tag) of the APK-specific
--   localized listing to read or modify. For example, to select Austrian
--   German, pass "de-AT".
eapklpLanguage :: Lens' EditsAPKListingsPatch Text

-- | Unique identifier for this edit.
eapklpEditId :: Lens' EditsAPKListingsPatch Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.APKListings.Patch.EditsAPKListingsPatch
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.APKListings.Patch.EditsAPKListingsPatch
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.APKListings.Patch.EditsAPKListingsPatch
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.APKListings.Patch.EditsAPKListingsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.APKListings.Patch.EditsAPKListingsPatch


-- | Updates or creates the APK-specific localized listing for a specified
--   APK and language code.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.apklistings.update</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.APKListings.Update

-- | A resource alias for
--   <tt>androidpublisher.edits.apklistings.update</tt> method which the
--   <a>EditsAPKListingsUpdate</a> request conforms to.
type EditsAPKListingsUpdateResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("apks" :> (Capture "apkVersionCode" (Textual Int32) :> ("listings" :> (Capture "language" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] APKListing :> Put '[JSON] APKListing)))))))))))

-- | Creates a value of <a>EditsAPKListingsUpdate</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eapkluPackageName</a></li>
--   <li><a>eapkluAPKVersionCode</a></li>
--   <li><a>eapkluPayload</a></li>
--   <li><a>eapkluLanguage</a></li>
--   <li><a>eapkluEditId</a></li>
--   </ul>
editsAPKListingsUpdate :: Text -> Int32 -> APKListing -> Text -> Text -> EditsAPKListingsUpdate

-- | Updates or creates the APK-specific localized listing for a specified
--   APK and language code.
--   
--   <i>See:</i> <a>editsAPKListingsUpdate</a> smart constructor.
data EditsAPKListingsUpdate

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
eapkluPackageName :: Lens' EditsAPKListingsUpdate Text

-- | The APK version code whose APK-specific listings should be read or
--   modified.
eapkluAPKVersionCode :: Lens' EditsAPKListingsUpdate Int32

-- | Multipart request metadata.
eapkluPayload :: Lens' EditsAPKListingsUpdate APKListing

-- | The language code (a BCP-47 language tag) of the APK-specific
--   localized listing to read or modify. For example, to select Austrian
--   German, pass "de-AT".
eapkluLanguage :: Lens' EditsAPKListingsUpdate Text

-- | Unique identifier for this edit.
eapkluEditId :: Lens' EditsAPKListingsUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.APKListings.Update.EditsAPKListingsUpdate
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.APKListings.Update.EditsAPKListingsUpdate
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.APKListings.Update.EditsAPKListingsUpdate
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.APKListings.Update.EditsAPKListingsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.APKListings.Update.EditsAPKListingsUpdate


-- | Creates a new APK without uploading the APK itself to Google Play,
--   instead hosting the APK at a specified URL. This function is only
--   available to enterprises using Google Play for Work whose application
--   is configured to restrict distribution to the enterprise domain.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.apks.addexternallyhosted</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.APKs.Addexternallyhosted

-- | A resource alias for
--   <tt>androidpublisher.edits.apks.addexternallyhosted</tt> method which
--   the <a>EditsAPKsAddexternallyhosted</a> request conforms to.
type EditsAPKsAddexternallyhostedResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("apks" :> ("externallyHosted" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] APKsAddExternallyHostedRequest :> Post '[JSON] APKsAddExternallyHostedResponse)))))))))

-- | Creates a value of <a>EditsAPKsAddexternallyhosted</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eapkaPackageName</a></li>
--   <li><a>eapkaPayload</a></li>
--   <li><a>eapkaEditId</a></li>
--   </ul>
editsAPKsAddexternallyhosted :: Text -> APKsAddExternallyHostedRequest -> Text -> EditsAPKsAddexternallyhosted

-- | Creates a new APK without uploading the APK itself to Google Play,
--   instead hosting the APK at a specified URL. This function is only
--   available to enterprises using Google Play for Work whose application
--   is configured to restrict distribution to the enterprise domain.
--   
--   <i>See:</i> <a>editsAPKsAddexternallyhosted</a> smart constructor.
data EditsAPKsAddexternallyhosted

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
eapkaPackageName :: Lens' EditsAPKsAddexternallyhosted Text

-- | Multipart request metadata.
eapkaPayload :: Lens' EditsAPKsAddexternallyhosted APKsAddExternallyHostedRequest

-- | Unique identifier for this edit.
eapkaEditId :: Lens' EditsAPKsAddexternallyhosted Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.APKs.Addexternallyhosted.EditsAPKsAddexternallyhosted
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.APKs.Addexternallyhosted.EditsAPKsAddexternallyhosted
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.APKs.Addexternallyhosted.EditsAPKsAddexternallyhosted
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.APKs.Addexternallyhosted.EditsAPKsAddexternallyhosted
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.APKs.Addexternallyhosted.EditsAPKsAddexternallyhosted


-- | <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.apks.list</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.APKs.List

-- | A resource alias for <tt>androidpublisher.edits.apks.list</tt> method
--   which the <a>EditsAPKsList</a> request conforms to.
type EditsAPKsListResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("apks" :> (QueryParam "alt" AltJSON :> Get '[JSON] APKsListResponse)))))))

-- | Creates a value of <a>EditsAPKsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eapklPackageName</a></li>
--   <li><a>eapklEditId</a></li>
--   </ul>
editsAPKsList :: Text -> Text -> EditsAPKsList
data EditsAPKsList

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
eapklPackageName :: Lens' EditsAPKsList Text

-- | Unique identifier for this edit.
eapklEditId :: Lens' EditsAPKsList Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.APKs.List.EditsAPKsList
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.APKs.List.EditsAPKsList
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.APKs.List.EditsAPKsList
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.APKs.List.EditsAPKsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.APKs.List.EditsAPKsList


-- | <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.apks.upload</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.APKs.Upload

-- | A resource alias for <tt>androidpublisher.edits.apks.upload</tt>
--   method which the <a>EditsAPKsUpload</a> request conforms to.
type EditsAPKsUploadResource = ("androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("apks" :> (QueryParam "alt" AltJSON :> Post '[JSON] APK)))))))) :<|> ("upload" :> ("androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("apks" :> (QueryParam "alt" AltJSON :> (QueryParam "uploadType" AltMedia :> (AltMedia :> Post '[JSON] APK)))))))))))

-- | Creates a value of <a>EditsAPKsUpload</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eapkuPackageName</a></li>
--   <li><a>eapkuEditId</a></li>
--   </ul>
editsAPKsUpload :: Text -> Text -> EditsAPKsUpload
data EditsAPKsUpload

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
eapkuPackageName :: Lens' EditsAPKsUpload Text

-- | Unique identifier for this edit.
eapkuEditId :: Lens' EditsAPKsUpload Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.APKs.Upload.EditsAPKsUpload
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.APKs.Upload.EditsAPKsUpload
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.APKs.Upload.EditsAPKsUpload
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.APKs.Upload.EditsAPKsUpload
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.APKs.Upload.EditsAPKsUpload
instance Network.Google.Types.GoogleRequest (Network.Google.Types.MediaUpload Network.Google.Resource.AndroidPublisher.Edits.APKs.Upload.EditsAPKsUpload)


-- | Commits/applies the changes made in this edit back to the app.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.commit</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.Commit

-- | A resource alias for <tt>androidpublisher.edits.commit</tt> method
--   which the <a>EditsCommit</a> request conforms to.
type EditsCommitResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (CaptureMode "editId" "commit" Text :> (QueryParam "alt" AltJSON :> Post '[JSON] AppEdit))))))

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

-- | Commits/applies the changes made in this edit back to the app.
--   
--   <i>See:</i> <a>editsCommit</a> smart constructor.
data EditsCommit

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
ecPackageName :: Lens' EditsCommit Text

-- | Unique identifier for this edit.
ecEditId :: Lens' EditsCommit Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.Commit.EditsCommit
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.Commit.EditsCommit
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.Commit.EditsCommit
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.Commit.EditsCommit
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.Commit.EditsCommit


-- | Deletes an edit for an app. Creating a new edit will automatically
--   delete any of your previous edits so this method need only be called
--   if you want to preemptively abandon an edit.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.delete</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.Delete

-- | A resource alias for <tt>androidpublisher.edits.delete</tt> method
--   which the <a>EditsDelete</a> request conforms to.
type EditsDeleteResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))

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

-- | Deletes an edit for an app. Creating a new edit will automatically
--   delete any of your previous edits so this method need only be called
--   if you want to preemptively abandon an edit.
--   
--   <i>See:</i> <a>editsDelete</a> smart constructor.
data EditsDelete

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
edPackageName :: Lens' EditsDelete Text

-- | Unique identifier for this edit.
edEditId :: Lens' EditsDelete Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.Delete.EditsDelete
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.Delete.EditsDelete
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.Delete.EditsDelete
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.Delete.EditsDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.Delete.EditsDelete


-- | Uploads the deobfuscation file of the specified APK. If a
--   deobfuscation file already exists, it will be replaced.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.deobfuscationfiles.upload</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.DeobfuscationFiles.Upload

-- | A resource alias for
--   <tt>androidpublisher.edits.deobfuscationfiles.upload</tt> method which
--   the <a>EditsDeobfuscationFilesUpload</a> request conforms to.
type EditsDeobfuscationFilesUploadResource = ("androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("apks" :> (Capture "apkVersionCode" (Textual Int32) :> ("deobfuscationFiles" :> (Capture "deobfuscationFileType" EditsDeobfuscationFilesUploadDeobfuscationFileType :> (QueryParam "alt" AltJSON :> Post '[JSON] DeobfuscationFilesUploadResponse))))))))))) :<|> ("upload" :> ("androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("apks" :> (Capture "apkVersionCode" (Textual Int32) :> ("deobfuscationFiles" :> (Capture "deobfuscationFileType" EditsDeobfuscationFilesUploadDeobfuscationFileType :> (QueryParam "alt" AltJSON :> (QueryParam "uploadType" AltMedia :> (AltMedia :> Post '[JSON] DeobfuscationFilesUploadResponse))))))))))))))

-- | Creates a value of <a>EditsDeobfuscationFilesUpload</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>edfuDeobfuscationFileType</a></li>
--   <li><a>edfuPackageName</a></li>
--   <li><a>edfuAPKVersionCode</a></li>
--   <li><a>edfuEditId</a></li>
--   </ul>
editsDeobfuscationFilesUpload :: EditsDeobfuscationFilesUploadDeobfuscationFileType -> Text -> Int32 -> Text -> EditsDeobfuscationFilesUpload

-- | Uploads the deobfuscation file of the specified APK. If a
--   deobfuscation file already exists, it will be replaced.
--   
--   <i>See:</i> <a>editsDeobfuscationFilesUpload</a> smart constructor.
data EditsDeobfuscationFilesUpload
edfuDeobfuscationFileType :: Lens' EditsDeobfuscationFilesUpload EditsDeobfuscationFilesUploadDeobfuscationFileType

-- | Unique identifier of the Android app for which the deobfuscatiuon
--   files are being uploaded; for example, "com.spiffygame".
edfuPackageName :: Lens' EditsDeobfuscationFilesUpload Text

-- | The version code of the APK whose deobfuscation file is being
--   uploaded.
edfuAPKVersionCode :: Lens' EditsDeobfuscationFilesUpload Int32

-- | Unique identifier for this edit.
edfuEditId :: Lens' EditsDeobfuscationFilesUpload Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.DeobfuscationFiles.Upload.EditsDeobfuscationFilesUpload
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.DeobfuscationFiles.Upload.EditsDeobfuscationFilesUpload
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.DeobfuscationFiles.Upload.EditsDeobfuscationFilesUpload
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.DeobfuscationFiles.Upload.EditsDeobfuscationFilesUpload
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.DeobfuscationFiles.Upload.EditsDeobfuscationFilesUpload
instance Network.Google.Types.GoogleRequest (Network.Google.Types.MediaUpload Network.Google.Resource.AndroidPublisher.Edits.DeobfuscationFiles.Upload.EditsDeobfuscationFilesUpload)


-- | Fetches app details for this edit. This includes the default language
--   and developer support contact information.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.details.get</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.Details.Get

-- | A resource alias for <tt>androidpublisher.edits.details.get</tt>
--   method which the <a>EditsDetailsGet</a> request conforms to.
type EditsDetailsGetResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("details" :> (QueryParam "alt" AltJSON :> Get '[JSON] AppDetails)))))))

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

-- | Fetches app details for this edit. This includes the default language
--   and developer support contact information.
--   
--   <i>See:</i> <a>editsDetailsGet</a> smart constructor.
data EditsDetailsGet

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
edgPackageName :: Lens' EditsDetailsGet Text

-- | Unique identifier for this edit.
edgEditId :: Lens' EditsDetailsGet Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.Details.Get.EditsDetailsGet
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.Details.Get.EditsDetailsGet
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.Details.Get.EditsDetailsGet
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.Details.Get.EditsDetailsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.Details.Get.EditsDetailsGet


-- | Updates app details for this edit. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.details.patch</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.Details.Patch

-- | A resource alias for <tt>androidpublisher.edits.details.patch</tt>
--   method which the <a>EditsDetailsPatch</a> request conforms to.
type EditsDetailsPatchResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("details" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] AppDetails :> Patch '[JSON] AppDetails))))))))

-- | Creates a value of <a>EditsDetailsPatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>edpPackageName</a></li>
--   <li><a>edpPayload</a></li>
--   <li><a>edpEditId</a></li>
--   </ul>
editsDetailsPatch :: Text -> AppDetails -> Text -> EditsDetailsPatch

-- | Updates app details for this edit. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>editsDetailsPatch</a> smart constructor.
data EditsDetailsPatch

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
edpPackageName :: Lens' EditsDetailsPatch Text

-- | Multipart request metadata.
edpPayload :: Lens' EditsDetailsPatch AppDetails

-- | Unique identifier for this edit.
edpEditId :: Lens' EditsDetailsPatch Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.Details.Patch.EditsDetailsPatch
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.Details.Patch.EditsDetailsPatch
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.Details.Patch.EditsDetailsPatch
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.Details.Patch.EditsDetailsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.Details.Patch.EditsDetailsPatch


-- | Updates app details for this edit.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.details.update</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.Details.Update

-- | A resource alias for <tt>androidpublisher.edits.details.update</tt>
--   method which the <a>EditsDetailsUpdate</a> request conforms to.
type EditsDetailsUpdateResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("details" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] AppDetails :> Put '[JSON] AppDetails))))))))

-- | Creates a value of <a>EditsDetailsUpdate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eduPackageName</a></li>
--   <li><a>eduPayload</a></li>
--   <li><a>eduEditId</a></li>
--   </ul>
editsDetailsUpdate :: Text -> AppDetails -> Text -> EditsDetailsUpdate

-- | Updates app details for this edit.
--   
--   <i>See:</i> <a>editsDetailsUpdate</a> smart constructor.
data EditsDetailsUpdate

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
eduPackageName :: Lens' EditsDetailsUpdate Text

-- | Multipart request metadata.
eduPayload :: Lens' EditsDetailsUpdate AppDetails

-- | Unique identifier for this edit.
eduEditId :: Lens' EditsDetailsUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.Details.Update.EditsDetailsUpdate
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.Details.Update.EditsDetailsUpdate
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.Details.Update.EditsDetailsUpdate
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.Details.Update.EditsDetailsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.Details.Update.EditsDetailsUpdate


-- | Fetches the Expansion File configuration for the APK specified.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.expansionfiles.get</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.ExpansionFiles.Get

-- | A resource alias for
--   <tt>androidpublisher.edits.expansionfiles.get</tt> method which the
--   <a>EditsExpansionFilesGet</a> request conforms to.
type EditsExpansionFilesGetResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("apks" :> (Capture "apkVersionCode" (Textual Int32) :> ("expansionFiles" :> (Capture "expansionFileType" EditsExpansionFilesGetExpansionFileType :> (QueryParam "alt" AltJSON :> Get '[JSON] ExpansionFile))))))))))

-- | Creates a value of <a>EditsExpansionFilesGet</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eefgPackageName</a></li>
--   <li><a>eefgAPKVersionCode</a></li>
--   <li><a>eefgExpansionFileType</a></li>
--   <li><a>eefgEditId</a></li>
--   </ul>
editsExpansionFilesGet :: Text -> Int32 -> EditsExpansionFilesGetExpansionFileType -> Text -> EditsExpansionFilesGet

-- | Fetches the Expansion File configuration for the APK specified.
--   
--   <i>See:</i> <a>editsExpansionFilesGet</a> smart constructor.
data EditsExpansionFilesGet

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
eefgPackageName :: Lens' EditsExpansionFilesGet Text

-- | The version code of the APK whose Expansion File configuration is
--   being read or modified.
eefgAPKVersionCode :: Lens' EditsExpansionFilesGet Int32
eefgExpansionFileType :: Lens' EditsExpansionFilesGet EditsExpansionFilesGetExpansionFileType

-- | Unique identifier for this edit.
eefgEditId :: Lens' EditsExpansionFilesGet Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.ExpansionFiles.Get.EditsExpansionFilesGet
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.ExpansionFiles.Get.EditsExpansionFilesGet
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.ExpansionFiles.Get.EditsExpansionFilesGet
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.ExpansionFiles.Get.EditsExpansionFilesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.ExpansionFiles.Get.EditsExpansionFilesGet


-- | Updates the APK's Expansion File configuration to reference another
--   APK's Expansion Files. To add a new Expansion File use the Upload
--   method. This method supports patch semantics.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.expansionfiles.patch</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.ExpansionFiles.Patch

-- | A resource alias for
--   <tt>androidpublisher.edits.expansionfiles.patch</tt> method which the
--   <a>EditsExpansionFilesPatch</a> request conforms to.
type EditsExpansionFilesPatchResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("apks" :> (Capture "apkVersionCode" (Textual Int32) :> ("expansionFiles" :> (Capture "expansionFileType" EditsExpansionFilesPatchExpansionFileType :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ExpansionFile :> Patch '[JSON] ExpansionFile)))))))))))

-- | Creates a value of <a>EditsExpansionFilesPatch</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eefpPackageName</a></li>
--   <li><a>eefpAPKVersionCode</a></li>
--   <li><a>eefpPayload</a></li>
--   <li><a>eefpExpansionFileType</a></li>
--   <li><a>eefpEditId</a></li>
--   </ul>
editsExpansionFilesPatch :: Text -> Int32 -> ExpansionFile -> EditsExpansionFilesPatchExpansionFileType -> Text -> EditsExpansionFilesPatch

-- | Updates the APK's Expansion File configuration to reference another
--   APK's Expansion Files. To add a new Expansion File use the Upload
--   method. This method supports patch semantics.
--   
--   <i>See:</i> <a>editsExpansionFilesPatch</a> smart constructor.
data EditsExpansionFilesPatch

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
eefpPackageName :: Lens' EditsExpansionFilesPatch Text

-- | The version code of the APK whose Expansion File configuration is
--   being read or modified.
eefpAPKVersionCode :: Lens' EditsExpansionFilesPatch Int32

-- | Multipart request metadata.
eefpPayload :: Lens' EditsExpansionFilesPatch ExpansionFile
eefpExpansionFileType :: Lens' EditsExpansionFilesPatch EditsExpansionFilesPatchExpansionFileType

-- | Unique identifier for this edit.
eefpEditId :: Lens' EditsExpansionFilesPatch Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.ExpansionFiles.Patch.EditsExpansionFilesPatch
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.ExpansionFiles.Patch.EditsExpansionFilesPatch
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.ExpansionFiles.Patch.EditsExpansionFilesPatch
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.ExpansionFiles.Patch.EditsExpansionFilesPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.ExpansionFiles.Patch.EditsExpansionFilesPatch


-- | Updates the APK's Expansion File configuration to reference another
--   APK's Expansion Files. To add a new Expansion File use the Upload
--   method.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.expansionfiles.update</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.ExpansionFiles.Update

-- | A resource alias for
--   <tt>androidpublisher.edits.expansionfiles.update</tt> method which the
--   <a>EditsExpansionFilesUpdate</a> request conforms to.
type EditsExpansionFilesUpdateResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("apks" :> (Capture "apkVersionCode" (Textual Int32) :> ("expansionFiles" :> (Capture "expansionFileType" EditsExpansionFilesUpdateExpansionFileType :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ExpansionFile :> Put '[JSON] ExpansionFile)))))))))))

-- | Creates a value of <a>EditsExpansionFilesUpdate</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eefuPackageName</a></li>
--   <li><a>eefuAPKVersionCode</a></li>
--   <li><a>eefuPayload</a></li>
--   <li><a>eefuExpansionFileType</a></li>
--   <li><a>eefuEditId</a></li>
--   </ul>
editsExpansionFilesUpdate :: Text -> Int32 -> ExpansionFile -> EditsExpansionFilesUpdateExpansionFileType -> Text -> EditsExpansionFilesUpdate

-- | Updates the APK's Expansion File configuration to reference another
--   APK's Expansion Files. To add a new Expansion File use the Upload
--   method.
--   
--   <i>See:</i> <a>editsExpansionFilesUpdate</a> smart constructor.
data EditsExpansionFilesUpdate

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
eefuPackageName :: Lens' EditsExpansionFilesUpdate Text

-- | The version code of the APK whose Expansion File configuration is
--   being read or modified.
eefuAPKVersionCode :: Lens' EditsExpansionFilesUpdate Int32

-- | Multipart request metadata.
eefuPayload :: Lens' EditsExpansionFilesUpdate ExpansionFile
eefuExpansionFileType :: Lens' EditsExpansionFilesUpdate EditsExpansionFilesUpdateExpansionFileType

-- | Unique identifier for this edit.
eefuEditId :: Lens' EditsExpansionFilesUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.ExpansionFiles.Update.EditsExpansionFilesUpdate
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.ExpansionFiles.Update.EditsExpansionFilesUpdate
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.ExpansionFiles.Update.EditsExpansionFilesUpdate
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.ExpansionFiles.Update.EditsExpansionFilesUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.ExpansionFiles.Update.EditsExpansionFilesUpdate


-- | Uploads and attaches a new Expansion File to the APK specified.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.expansionfiles.upload</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.ExpansionFiles.Upload

-- | A resource alias for
--   <tt>androidpublisher.edits.expansionfiles.upload</tt> method which the
--   <a>EditsExpansionFilesUpload</a> request conforms to.
type EditsExpansionFilesUploadResource = ("androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("apks" :> (Capture "apkVersionCode" (Textual Int32) :> ("expansionFiles" :> (Capture "expansionFileType" EditsExpansionFilesUploadExpansionFileType :> (QueryParam "alt" AltJSON :> Post '[JSON] ExpansionFilesUploadResponse))))))))))) :<|> ("upload" :> ("androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("apks" :> (Capture "apkVersionCode" (Textual Int32) :> ("expansionFiles" :> (Capture "expansionFileType" EditsExpansionFilesUploadExpansionFileType :> (QueryParam "alt" AltJSON :> (QueryParam "uploadType" AltMedia :> (AltMedia :> Post '[JSON] ExpansionFilesUploadResponse))))))))))))))

-- | Creates a value of <a>EditsExpansionFilesUpload</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ePackageName</a></li>
--   <li><a>eAPKVersionCode</a></li>
--   <li><a>eExpansionFileType</a></li>
--   <li><a>eEditId</a></li>
--   </ul>
editsExpansionFilesUpload :: Text -> Int32 -> EditsExpansionFilesUploadExpansionFileType -> Text -> EditsExpansionFilesUpload

-- | Uploads and attaches a new Expansion File to the APK specified.
--   
--   <i>See:</i> <a>editsExpansionFilesUpload</a> smart constructor.
data EditsExpansionFilesUpload

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
ePackageName :: Lens' EditsExpansionFilesUpload Text

-- | The version code of the APK whose Expansion File configuration is
--   being read or modified.
eAPKVersionCode :: Lens' EditsExpansionFilesUpload Int32
eExpansionFileType :: Lens' EditsExpansionFilesUpload EditsExpansionFilesUploadExpansionFileType

-- | Unique identifier for this edit.
eEditId :: Lens' EditsExpansionFilesUpload Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.ExpansionFiles.Upload.EditsExpansionFilesUpload
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.ExpansionFiles.Upload.EditsExpansionFilesUpload
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.ExpansionFiles.Upload.EditsExpansionFilesUpload
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.ExpansionFiles.Upload.EditsExpansionFilesUpload
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.ExpansionFiles.Upload.EditsExpansionFilesUpload
instance Network.Google.Types.GoogleRequest (Network.Google.Types.MediaUpload Network.Google.Resource.AndroidPublisher.Edits.ExpansionFiles.Upload.EditsExpansionFilesUpload)


-- | Returns information about the edit specified. Calls will fail if the
--   edit is no long active (e.g. has been deleted, superseded or expired).
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.get</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.Get

-- | A resource alias for <tt>androidpublisher.edits.get</tt> method which
--   the <a>EditsGet</a> request conforms to.
type EditsGetResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] AppEdit))))))

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

-- | Returns information about the edit specified. Calls will fail if the
--   edit is no long active (e.g. has been deleted, superseded or expired).
--   
--   <i>See:</i> <a>editsGet</a> smart constructor.
data EditsGet

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
egPackageName :: Lens' EditsGet Text

-- | Unique identifier for this edit.
egEditId :: Lens' EditsGet Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.Get.EditsGet
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.Get.EditsGet
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.Get.EditsGet
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.Get.EditsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.Get.EditsGet


-- | Deletes the image (specified by id) from the edit.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.images.delete</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.Images.Delete

-- | A resource alias for <tt>androidpublisher.edits.images.delete</tt>
--   method which the <a>EditsImagesDelete</a> request conforms to.
type EditsImagesDeleteResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("listings" :> (Capture "language" Text :> (Capture "imageType" EditsImagesDeleteImageType :> (Capture "imageId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))))))

-- | Creates a value of <a>EditsImagesDelete</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eidPackageName</a></li>
--   <li><a>eidImageType</a></li>
--   <li><a>eidImageId</a></li>
--   <li><a>eidLanguage</a></li>
--   <li><a>eidEditId</a></li>
--   </ul>
editsImagesDelete :: Text -> EditsImagesDeleteImageType -> Text -> Text -> Text -> EditsImagesDelete

-- | Deletes the image (specified by id) from the edit.
--   
--   <i>See:</i> <a>editsImagesDelete</a> smart constructor.
data EditsImagesDelete

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
eidPackageName :: Lens' EditsImagesDelete Text
eidImageType :: Lens' EditsImagesDelete EditsImagesDeleteImageType

-- | Unique identifier an image within the set of images attached to this
--   edit.
eidImageId :: Lens' EditsImagesDelete Text

-- | The language code (a BCP-47 language tag) of the localized listing
--   whose images are to read or modified. For example, to select Austrian
--   German, pass "de-AT".
eidLanguage :: Lens' EditsImagesDelete Text

-- | Unique identifier for this edit.
eidEditId :: Lens' EditsImagesDelete Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.Images.Delete.EditsImagesDelete
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.Images.Delete.EditsImagesDelete
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.Images.Delete.EditsImagesDelete
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.Images.Delete.EditsImagesDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.Images.Delete.EditsImagesDelete


-- | Deletes all images for the specified language and image type.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.images.deleteall</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.Images.Deleteall

-- | A resource alias for <tt>androidpublisher.edits.images.deleteall</tt>
--   method which the <a>EditsImagesDeleteall</a> request conforms to.
type EditsImagesDeleteallResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("listings" :> (Capture "language" Text :> (Capture "imageType" EditsImagesDeleteallImageType :> (QueryParam "alt" AltJSON :> Delete '[JSON] ImagesDeleteAllResponse)))))))))

-- | Creates a value of <a>EditsImagesDeleteall</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ediPackageName</a></li>
--   <li><a>ediImageType</a></li>
--   <li><a>ediLanguage</a></li>
--   <li><a>ediEditId</a></li>
--   </ul>
editsImagesDeleteall :: Text -> EditsImagesDeleteallImageType -> Text -> Text -> EditsImagesDeleteall

-- | Deletes all images for the specified language and image type.
--   
--   <i>See:</i> <a>editsImagesDeleteall</a> smart constructor.
data EditsImagesDeleteall

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
ediPackageName :: Lens' EditsImagesDeleteall Text
ediImageType :: Lens' EditsImagesDeleteall EditsImagesDeleteallImageType

-- | The language code (a BCP-47 language tag) of the localized listing
--   whose images are to read or modified. For example, to select Austrian
--   German, pass "de-AT".
ediLanguage :: Lens' EditsImagesDeleteall Text

-- | Unique identifier for this edit.
ediEditId :: Lens' EditsImagesDeleteall Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.Images.Deleteall.EditsImagesDeleteall
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.Images.Deleteall.EditsImagesDeleteall
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.Images.Deleteall.EditsImagesDeleteall
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.Images.Deleteall.EditsImagesDeleteall
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.Images.Deleteall.EditsImagesDeleteall


-- | Lists all images for the specified language and image type.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.images.list</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.Images.List

-- | A resource alias for <tt>androidpublisher.edits.images.list</tt>
--   method which the <a>EditsImagesList</a> request conforms to.
type EditsImagesListResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("listings" :> (Capture "language" Text :> (Capture "imageType" EditsImagesListImageType :> (QueryParam "alt" AltJSON :> Get '[JSON] ImagesListResponse)))))))))

-- | Creates a value of <a>EditsImagesList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eilPackageName</a></li>
--   <li><a>eilImageType</a></li>
--   <li><a>eilLanguage</a></li>
--   <li><a>eilEditId</a></li>
--   </ul>
editsImagesList :: Text -> EditsImagesListImageType -> Text -> Text -> EditsImagesList

-- | Lists all images for the specified language and image type.
--   
--   <i>See:</i> <a>editsImagesList</a> smart constructor.
data EditsImagesList

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
eilPackageName :: Lens' EditsImagesList Text
eilImageType :: Lens' EditsImagesList EditsImagesListImageType

-- | The language code (a BCP-47 language tag) of the localized listing
--   whose images are to read or modified. For example, to select Austrian
--   German, pass "de-AT".
eilLanguage :: Lens' EditsImagesList Text

-- | Unique identifier for this edit.
eilEditId :: Lens' EditsImagesList Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.Images.List.EditsImagesList
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.Images.List.EditsImagesList
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.Images.List.EditsImagesList
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.Images.List.EditsImagesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.Images.List.EditsImagesList


-- | Uploads a new image and adds it to the list of images for the
--   specified language and image type.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.images.upload</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.Images.Upload

-- | A resource alias for <tt>androidpublisher.edits.images.upload</tt>
--   method which the <a>EditsImagesUpload</a> request conforms to.
type EditsImagesUploadResource = ("androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("listings" :> (Capture "language" Text :> (Capture "imageType" EditsImagesUploadImageType :> (QueryParam "alt" AltJSON :> Post '[JSON] ImagesUploadResponse)))))))))) :<|> ("upload" :> ("androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("listings" :> (Capture "language" Text :> (Capture "imageType" EditsImagesUploadImageType :> (QueryParam "alt" AltJSON :> (QueryParam "uploadType" AltMedia :> (AltMedia :> Post '[JSON] ImagesUploadResponse)))))))))))))

-- | Creates a value of <a>EditsImagesUpload</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eiuPackageName</a></li>
--   <li><a>eiuImageType</a></li>
--   <li><a>eiuLanguage</a></li>
--   <li><a>eiuEditId</a></li>
--   </ul>
editsImagesUpload :: Text -> EditsImagesUploadImageType -> Text -> Text -> EditsImagesUpload

-- | Uploads a new image and adds it to the list of images for the
--   specified language and image type.
--   
--   <i>See:</i> <a>editsImagesUpload</a> smart constructor.
data EditsImagesUpload

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
eiuPackageName :: Lens' EditsImagesUpload Text
eiuImageType :: Lens' EditsImagesUpload EditsImagesUploadImageType

-- | The language code (a BCP-47 language tag) of the localized listing
--   whose images are to read or modified. For example, to select Austrian
--   German, pass "de-AT".
eiuLanguage :: Lens' EditsImagesUpload Text

-- | Unique identifier for this edit.
eiuEditId :: Lens' EditsImagesUpload Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.Images.Upload.EditsImagesUpload
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.Images.Upload.EditsImagesUpload
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.Images.Upload.EditsImagesUpload
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.Images.Upload.EditsImagesUpload
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.Images.Upload.EditsImagesUpload
instance Network.Google.Types.GoogleRequest (Network.Google.Types.MediaUpload Network.Google.Resource.AndroidPublisher.Edits.Images.Upload.EditsImagesUpload)


-- | Creates a new edit for an app, populated with the app's current state.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.insert</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.Insert

-- | A resource alias for <tt>androidpublisher.edits.insert</tt> method
--   which the <a>EditsInsert</a> request conforms to.
type EditsInsertResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] AppEdit :> Post '[JSON] AppEdit))))))

-- | Creates a value of <a>EditsInsert</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eiPackageName</a></li>
--   <li><a>eiPayload</a></li>
--   </ul>
editsInsert :: Text -> AppEdit -> EditsInsert

-- | Creates a new edit for an app, populated with the app's current state.
--   
--   <i>See:</i> <a>editsInsert</a> smart constructor.
data EditsInsert

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
eiPackageName :: Lens' EditsInsert Text

-- | Multipart request metadata.
eiPayload :: Lens' EditsInsert AppEdit
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.Insert.EditsInsert
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.Insert.EditsInsert
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.Insert.EditsInsert
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.Insert.EditsInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.Insert.EditsInsert


-- | Deletes the specified localized store listing from an edit.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.listings.delete</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.Listings.Delete

-- | A resource alias for <tt>androidpublisher.edits.listings.delete</tt>
--   method which the <a>EditsListingsDelete</a> request conforms to.
type EditsListingsDeleteResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("listings" :> (Capture "language" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))))

-- | Creates a value of <a>EditsListingsDelete</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eldPackageName</a></li>
--   <li><a>eldLanguage</a></li>
--   <li><a>eldEditId</a></li>
--   </ul>
editsListingsDelete :: Text -> Text -> Text -> EditsListingsDelete

-- | Deletes the specified localized store listing from an edit.
--   
--   <i>See:</i> <a>editsListingsDelete</a> smart constructor.
data EditsListingsDelete

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
eldPackageName :: Lens' EditsListingsDelete Text

-- | The language code (a BCP-47 language tag) of the localized listing to
--   read or modify. For example, to select Austrian German, pass "de-AT".
eldLanguage :: Lens' EditsListingsDelete Text

-- | Unique identifier for this edit.
eldEditId :: Lens' EditsListingsDelete Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.Listings.Delete.EditsListingsDelete
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.Listings.Delete.EditsListingsDelete
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.Listings.Delete.EditsListingsDelete
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.Listings.Delete.EditsListingsDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.Listings.Delete.EditsListingsDelete


-- | Deletes all localized listings from an edit.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.listings.deleteall</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.Listings.Deleteall

-- | A resource alias for
--   <tt>androidpublisher.edits.listings.deleteall</tt> method which the
--   <a>EditsListingsDeleteall</a> request conforms to.
type EditsListingsDeleteallResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("listings" :> (QueryParam "alt" AltJSON :> Delete '[JSON] ())))))))

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

-- | Deletes all localized listings from an edit.
--   
--   <i>See:</i> <a>editsListingsDeleteall</a> smart constructor.
data EditsListingsDeleteall

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
eldlPackageName :: Lens' EditsListingsDeleteall Text

-- | Unique identifier for this edit.
eldlEditId :: Lens' EditsListingsDeleteall Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.Listings.Deleteall.EditsListingsDeleteall
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.Listings.Deleteall.EditsListingsDeleteall
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.Listings.Deleteall.EditsListingsDeleteall
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.Listings.Deleteall.EditsListingsDeleteall
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.Listings.Deleteall.EditsListingsDeleteall


-- | Fetches information about a localized store listing.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.listings.get</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.Listings.Get

-- | A resource alias for <tt>androidpublisher.edits.listings.get</tt>
--   method which the <a>EditsListingsGet</a> request conforms to.
type EditsListingsGetResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("listings" :> (Capture "language" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Listing))))))))

-- | Creates a value of <a>EditsListingsGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>elgPackageName</a></li>
--   <li><a>elgLanguage</a></li>
--   <li><a>elgEditId</a></li>
--   </ul>
editsListingsGet :: Text -> Text -> Text -> EditsListingsGet

-- | Fetches information about a localized store listing.
--   
--   <i>See:</i> <a>editsListingsGet</a> smart constructor.
data EditsListingsGet

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
elgPackageName :: Lens' EditsListingsGet Text

-- | The language code (a BCP-47 language tag) of the localized listing to
--   read or modify. For example, to select Austrian German, pass "de-AT".
elgLanguage :: Lens' EditsListingsGet Text

-- | Unique identifier for this edit.
elgEditId :: Lens' EditsListingsGet Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.Listings.Get.EditsListingsGet
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.Listings.Get.EditsListingsGet
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.Listings.Get.EditsListingsGet
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.Listings.Get.EditsListingsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.Listings.Get.EditsListingsGet


-- | Returns all of the localized store listings attached to this edit.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.listings.list</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.Listings.List

-- | A resource alias for <tt>androidpublisher.edits.listings.list</tt>
--   method which the <a>EditsListingsList</a> request conforms to.
type EditsListingsListResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("listings" :> (QueryParam "alt" AltJSON :> Get '[JSON] ListingsListResponse)))))))

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

-- | Returns all of the localized store listings attached to this edit.
--   
--   <i>See:</i> <a>editsListingsList</a> smart constructor.
data EditsListingsList

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
ellPackageName :: Lens' EditsListingsList Text

-- | Unique identifier for this edit.
ellEditId :: Lens' EditsListingsList Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.Listings.List.EditsListingsList
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.Listings.List.EditsListingsList
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.Listings.List.EditsListingsList
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.Listings.List.EditsListingsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.Listings.List.EditsListingsList


-- | Creates or updates a localized store listing. This method supports
--   patch semantics.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.listings.patch</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.Listings.Patch

-- | A resource alias for <tt>androidpublisher.edits.listings.patch</tt>
--   method which the <a>EditsListingsPatch</a> request conforms to.
type EditsListingsPatchResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("listings" :> (Capture "language" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Listing :> Patch '[JSON] Listing)))))))))

-- | Creates a value of <a>EditsListingsPatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>elpPackageName</a></li>
--   <li><a>elpPayload</a></li>
--   <li><a>elpLanguage</a></li>
--   <li><a>elpEditId</a></li>
--   </ul>
editsListingsPatch :: Text -> Listing -> Text -> Text -> EditsListingsPatch

-- | Creates or updates a localized store listing. This method supports
--   patch semantics.
--   
--   <i>See:</i> <a>editsListingsPatch</a> smart constructor.
data EditsListingsPatch

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
elpPackageName :: Lens' EditsListingsPatch Text

-- | Multipart request metadata.
elpPayload :: Lens' EditsListingsPatch Listing

-- | The language code (a BCP-47 language tag) of the localized listing to
--   read or modify. For example, to select Austrian German, pass "de-AT".
elpLanguage :: Lens' EditsListingsPatch Text

-- | Unique identifier for this edit.
elpEditId :: Lens' EditsListingsPatch Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.Listings.Patch.EditsListingsPatch
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.Listings.Patch.EditsListingsPatch
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.Listings.Patch.EditsListingsPatch
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.Listings.Patch.EditsListingsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.Listings.Patch.EditsListingsPatch


-- | Creates or updates a localized store listing.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.listings.update</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.Listings.Update

-- | A resource alias for <tt>androidpublisher.edits.listings.update</tt>
--   method which the <a>EditsListingsUpdate</a> request conforms to.
type EditsListingsUpdateResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("listings" :> (Capture "language" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Listing :> Put '[JSON] Listing)))))))))

-- | Creates a value of <a>EditsListingsUpdate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eluPackageName</a></li>
--   <li><a>eluPayload</a></li>
--   <li><a>eluLanguage</a></li>
--   <li><a>eluEditId</a></li>
--   </ul>
editsListingsUpdate :: Text -> Listing -> Text -> Text -> EditsListingsUpdate

-- | Creates or updates a localized store listing.
--   
--   <i>See:</i> <a>editsListingsUpdate</a> smart constructor.
data EditsListingsUpdate

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
eluPackageName :: Lens' EditsListingsUpdate Text

-- | Multipart request metadata.
eluPayload :: Lens' EditsListingsUpdate Listing

-- | The language code (a BCP-47 language tag) of the localized listing to
--   read or modify. For example, to select Austrian German, pass "de-AT".
eluLanguage :: Lens' EditsListingsUpdate Text

-- | Unique identifier for this edit.
eluEditId :: Lens' EditsListingsUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.Listings.Update.EditsListingsUpdate
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.Listings.Update.EditsListingsUpdate
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.Listings.Update.EditsListingsUpdate
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.Listings.Update.EditsListingsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.Listings.Update.EditsListingsUpdate


-- | <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.testers.get</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.Testers.Get

-- | A resource alias for <tt>androidpublisher.edits.testers.get</tt>
--   method which the <a>EditsTestersGet</a> request conforms to.
type EditsTestersGetResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("testers" :> (Capture "track" EditsTestersGetTrack :> (QueryParam "alt" AltJSON :> Get '[JSON] Testers))))))))

-- | Creates a value of <a>EditsTestersGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>etgTrack</a></li>
--   <li><a>etgPackageName</a></li>
--   <li><a>etgEditId</a></li>
--   </ul>
editsTestersGet :: EditsTestersGetTrack -> Text -> Text -> EditsTestersGet
data EditsTestersGet
etgTrack :: Lens' EditsTestersGet EditsTestersGetTrack

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
etgPackageName :: Lens' EditsTestersGet Text

-- | Unique identifier for this edit.
etgEditId :: Lens' EditsTestersGet Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.Testers.Get.EditsTestersGet
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.Testers.Get.EditsTestersGet
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.Testers.Get.EditsTestersGet
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.Testers.Get.EditsTestersGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.Testers.Get.EditsTestersGet


-- | <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.testers.patch</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.Testers.Patch

-- | A resource alias for <tt>androidpublisher.edits.testers.patch</tt>
--   method which the <a>EditsTestersPatch</a> request conforms to.
type EditsTestersPatchResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("testers" :> (Capture "track" EditsTestersPatchTrack :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Testers :> Patch '[JSON] Testers)))))))))

-- | Creates a value of <a>EditsTestersPatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>etpTrack</a></li>
--   <li><a>etpPackageName</a></li>
--   <li><a>etpPayload</a></li>
--   <li><a>etpEditId</a></li>
--   </ul>
editsTestersPatch :: EditsTestersPatchTrack -> Text -> Testers -> Text -> EditsTestersPatch
data EditsTestersPatch
etpTrack :: Lens' EditsTestersPatch EditsTestersPatchTrack

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
etpPackageName :: Lens' EditsTestersPatch Text

-- | Multipart request metadata.
etpPayload :: Lens' EditsTestersPatch Testers

-- | Unique identifier for this edit.
etpEditId :: Lens' EditsTestersPatch Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.Testers.Patch.EditsTestersPatch
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.Testers.Patch.EditsTestersPatch
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.Testers.Patch.EditsTestersPatch
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.Testers.Patch.EditsTestersPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.Testers.Patch.EditsTestersPatch


-- | <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.testers.update</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.Testers.Update

-- | A resource alias for <tt>androidpublisher.edits.testers.update</tt>
--   method which the <a>EditsTestersUpdate</a> request conforms to.
type EditsTestersUpdateResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("testers" :> (Capture "track" EditsTestersUpdateTrack :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Testers :> Put '[JSON] Testers)))))))))

-- | Creates a value of <a>EditsTestersUpdate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>etutTrack</a></li>
--   <li><a>etutPackageName</a></li>
--   <li><a>etutPayload</a></li>
--   <li><a>etutEditId</a></li>
--   </ul>
editsTestersUpdate :: EditsTestersUpdateTrack -> Text -> Testers -> Text -> EditsTestersUpdate
data EditsTestersUpdate
etutTrack :: Lens' EditsTestersUpdate EditsTestersUpdateTrack

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
etutPackageName :: Lens' EditsTestersUpdate Text

-- | Multipart request metadata.
etutPayload :: Lens' EditsTestersUpdate Testers

-- | Unique identifier for this edit.
etutEditId :: Lens' EditsTestersUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.Testers.Update.EditsTestersUpdate
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.Testers.Update.EditsTestersUpdate
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.Testers.Update.EditsTestersUpdate
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.Testers.Update.EditsTestersUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.Testers.Update.EditsTestersUpdate


-- | Fetches the track configuration for the specified track type. Includes
--   the APK version codes that are in this track.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.tracks.get</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.Tracks.Get

-- | A resource alias for <tt>androidpublisher.edits.tracks.get</tt> method
--   which the <a>EditsTracksGet</a> request conforms to.
type EditsTracksGetResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("tracks" :> (Capture "track" EditsTracksGetTrack :> (QueryParam "alt" AltJSON :> Get '[JSON] Track))))))))

-- | Creates a value of <a>EditsTracksGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>etgtTrack</a></li>
--   <li><a>etgtPackageName</a></li>
--   <li><a>etgtEditId</a></li>
--   </ul>
editsTracksGet :: EditsTracksGetTrack -> Text -> Text -> EditsTracksGet

-- | Fetches the track configuration for the specified track type. Includes
--   the APK version codes that are in this track.
--   
--   <i>See:</i> <a>editsTracksGet</a> smart constructor.
data EditsTracksGet

-- | The track type to read or modify.
etgtTrack :: Lens' EditsTracksGet EditsTracksGetTrack

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
etgtPackageName :: Lens' EditsTracksGet Text

-- | Unique identifier for this edit.
etgtEditId :: Lens' EditsTracksGet Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.Tracks.Get.EditsTracksGet
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.Tracks.Get.EditsTracksGet
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.Tracks.Get.EditsTracksGet
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.Tracks.Get.EditsTracksGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.Tracks.Get.EditsTracksGet


-- | Lists all the track configurations for this edit.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.tracks.list</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.Tracks.List

-- | A resource alias for <tt>androidpublisher.edits.tracks.list</tt>
--   method which the <a>EditsTracksList</a> request conforms to.
type EditsTracksListResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("tracks" :> (QueryParam "alt" AltJSON :> Get '[JSON] TracksListResponse)))))))

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

-- | Lists all the track configurations for this edit.
--   
--   <i>See:</i> <a>editsTracksList</a> smart constructor.
data EditsTracksList

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
etlPackageName :: Lens' EditsTracksList Text

-- | Unique identifier for this edit.
etlEditId :: Lens' EditsTracksList Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.Tracks.List.EditsTracksList
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.Tracks.List.EditsTracksList
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.Tracks.List.EditsTracksList
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.Tracks.List.EditsTracksList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.Tracks.List.EditsTracksList


-- | Updates the track configuration for the specified track type. When
--   halted, the rollout track cannot be updated without adding new APKs,
--   and adding new APKs will cause it to resume. This method supports
--   patch semantics.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.tracks.patch</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.Tracks.Patch

-- | A resource alias for <tt>androidpublisher.edits.tracks.patch</tt>
--   method which the <a>EditsTracksPatch</a> request conforms to.
type EditsTracksPatchResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("tracks" :> (Capture "track" EditsTracksPatchTrack :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Track :> Patch '[JSON] Track)))))))))

-- | Creates a value of <a>EditsTracksPatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>etptTrack</a></li>
--   <li><a>etptPackageName</a></li>
--   <li><a>etptPayload</a></li>
--   <li><a>etptEditId</a></li>
--   </ul>
editsTracksPatch :: EditsTracksPatchTrack -> Text -> Track -> Text -> EditsTracksPatch

-- | Updates the track configuration for the specified track type. When
--   halted, the rollout track cannot be updated without adding new APKs,
--   and adding new APKs will cause it to resume. This method supports
--   patch semantics.
--   
--   <i>See:</i> <a>editsTracksPatch</a> smart constructor.
data EditsTracksPatch

-- | The track type to read or modify.
etptTrack :: Lens' EditsTracksPatch EditsTracksPatchTrack

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
etptPackageName :: Lens' EditsTracksPatch Text

-- | Multipart request metadata.
etptPayload :: Lens' EditsTracksPatch Track

-- | Unique identifier for this edit.
etptEditId :: Lens' EditsTracksPatch Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.Tracks.Patch.EditsTracksPatch
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.Tracks.Patch.EditsTracksPatch
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.Tracks.Patch.EditsTracksPatch
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.Tracks.Patch.EditsTracksPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.Tracks.Patch.EditsTracksPatch


-- | Updates the track configuration for the specified track type. When
--   halted, the rollout track cannot be updated without adding new APKs,
--   and adding new APKs will cause it to resume.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.tracks.update</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.Tracks.Update

-- | A resource alias for <tt>androidpublisher.edits.tracks.update</tt>
--   method which the <a>EditsTracksUpdate</a> request conforms to.
type EditsTracksUpdateResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (Capture "editId" Text :> ("tracks" :> (Capture "track" EditsTracksUpdateTrack :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Track :> Put '[JSON] Track)))))))))

-- | Creates a value of <a>EditsTracksUpdate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>etuTrack</a></li>
--   <li><a>etuPackageName</a></li>
--   <li><a>etuPayload</a></li>
--   <li><a>etuEditId</a></li>
--   </ul>
editsTracksUpdate :: EditsTracksUpdateTrack -> Text -> Track -> Text -> EditsTracksUpdate

-- | Updates the track configuration for the specified track type. When
--   halted, the rollout track cannot be updated without adding new APKs,
--   and adding new APKs will cause it to resume.
--   
--   <i>See:</i> <a>editsTracksUpdate</a> smart constructor.
data EditsTracksUpdate

-- | The track type to read or modify.
etuTrack :: Lens' EditsTracksUpdate EditsTracksUpdateTrack

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
etuPackageName :: Lens' EditsTracksUpdate Text

-- | Multipart request metadata.
etuPayload :: Lens' EditsTracksUpdate Track

-- | Unique identifier for this edit.
etuEditId :: Lens' EditsTracksUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.Tracks.Update.EditsTracksUpdate
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.Tracks.Update.EditsTracksUpdate
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.Tracks.Update.EditsTracksUpdate
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.Tracks.Update.EditsTracksUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.Tracks.Update.EditsTracksUpdate


-- | Checks that the edit can be successfully committed. The edit's changes
--   are not applied to the live app.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.edits.validate</tt>.
module Network.Google.Resource.AndroidPublisher.Edits.Validate

-- | A resource alias for <tt>androidpublisher.edits.validate</tt> method
--   which the <a>EditsValidate</a> request conforms to.
type EditsValidateResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("edits" :> (CaptureMode "editId" "validate" Text :> (QueryParam "alt" AltJSON :> Post '[JSON] AppEdit))))))

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

-- | Checks that the edit can be successfully committed. The edit's changes
--   are not applied to the live app.
--   
--   <i>See:</i> <a>editsValidate</a> smart constructor.
data EditsValidate

-- | Unique identifier for the Android app that is being updated; for
--   example, "com.spiffygame".
evPackageName :: Lens' EditsValidate Text

-- | Unique identifier for this edit.
evEditId :: Lens' EditsValidate Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Edits.Validate.EditsValidate
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Edits.Validate.EditsValidate
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Edits.Validate.EditsValidate
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Edits.Validate.EditsValidate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Edits.Validate.EditsValidate


-- | Lists the user's current inapp item or subscription entitlements
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.entitlements.list</tt>.
module Network.Google.Resource.AndroidPublisher.Entitlements.List

-- | A resource alias for <tt>androidpublisher.entitlements.list</tt>
--   method which the <a>EntitlementsList</a> request conforms to.
type EntitlementsListResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("entitlements" :> (QueryParam "token" Text :> (QueryParam "startIndex" (Textual Word32) :> (QueryParam "productId" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] EntitlementsListResponse)))))))))

-- | Creates a value of <a>EntitlementsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>elPackageName</a></li>
--   <li><a>elToken</a></li>
--   <li><a>elStartIndex</a></li>
--   <li><a>elProductId</a></li>
--   <li><a>elMaxResults</a></li>
--   </ul>
entitlementsList :: Text -> EntitlementsList

-- | Lists the user's current inapp item or subscription entitlements
--   
--   <i>See:</i> <a>entitlementsList</a> smart constructor.
data EntitlementsList

-- | The package name of the application the inapp product was sold in (for
--   example, 'com.some.thing').
elPackageName :: Lens' EntitlementsList Text
elToken :: Lens' EntitlementsList (Maybe Text)
elStartIndex :: Lens' EntitlementsList (Maybe Word32)

-- | The product id of the inapp product (for example, 'sku1'). This can be
--   used to restrict the result set.
elProductId :: Lens' EntitlementsList (Maybe Text)
elMaxResults :: Lens' EntitlementsList (Maybe Word32)
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Entitlements.List.EntitlementsList
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Entitlements.List.EntitlementsList
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Entitlements.List.EntitlementsList
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Entitlements.List.EntitlementsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Entitlements.List.EntitlementsList


-- | <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.inappproducts.batch</tt>.
module Network.Google.Resource.AndroidPublisher.InAppProducts.Batch

-- | A resource alias for <tt>androidpublisher.inappproducts.batch</tt>
--   method which the <a>InAppProductsBatch</a> request conforms to.
type InAppProductsBatchResource = "androidpublisher" :> ("v2" :> ("applications" :> ("inappproducts" :> ("batch" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] InAppProductsBatchRequest :> Post '[JSON] InAppProductsBatchResponse))))))

-- | Creates a value of <a>InAppProductsBatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iapbPayload</a></li>
--   </ul>
inAppProductsBatch :: InAppProductsBatchRequest -> InAppProductsBatch
data InAppProductsBatch

-- | Multipart request metadata.
iapbPayload :: Lens' InAppProductsBatch InAppProductsBatchRequest
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.InAppProducts.Batch.InAppProductsBatch
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.InAppProducts.Batch.InAppProductsBatch
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.InAppProducts.Batch.InAppProductsBatch
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.InAppProducts.Batch.InAppProductsBatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.InAppProducts.Batch.InAppProductsBatch


-- | Delete an in-app product for an app.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.inappproducts.delete</tt>.
module Network.Google.Resource.AndroidPublisher.InAppProducts.Delete

-- | A resource alias for <tt>androidpublisher.inappproducts.delete</tt>
--   method which the <a>InAppProductsDelete</a> request conforms to.
type InAppProductsDeleteResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("inappproducts" :> (Capture "sku" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))

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

-- | Delete an in-app product for an app.
--   
--   <i>See:</i> <a>inAppProductsDelete</a> smart constructor.
data InAppProductsDelete

-- | Unique identifier for the Android app with the in-app product; for
--   example, "com.spiffygame".
iapdPackageName :: Lens' InAppProductsDelete Text

-- | Unique identifier for the in-app product.
iapdSKU :: Lens' InAppProductsDelete Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.InAppProducts.Delete.InAppProductsDelete
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.InAppProducts.Delete.InAppProductsDelete
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.InAppProducts.Delete.InAppProductsDelete
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.InAppProducts.Delete.InAppProductsDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.InAppProducts.Delete.InAppProductsDelete


-- | Returns information about the in-app product specified.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.inappproducts.get</tt>.
module Network.Google.Resource.AndroidPublisher.InAppProducts.Get

-- | A resource alias for <tt>androidpublisher.inappproducts.get</tt>
--   method which the <a>InAppProductsGet</a> request conforms to.
type InAppProductsGetResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("inappproducts" :> (Capture "sku" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] InAppProduct))))))

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

-- | Returns information about the in-app product specified.
--   
--   <i>See:</i> <a>inAppProductsGet</a> smart constructor.
data InAppProductsGet
iapgPackageName :: Lens' InAppProductsGet Text

-- | Unique identifier for the in-app product.
iapgSKU :: Lens' InAppProductsGet Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.InAppProducts.Get.InAppProductsGet
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.InAppProducts.Get.InAppProductsGet
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.InAppProducts.Get.InAppProductsGet
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.InAppProducts.Get.InAppProductsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.InAppProducts.Get.InAppProductsGet


-- | Creates a new in-app product for an app.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.inappproducts.insert</tt>.
module Network.Google.Resource.AndroidPublisher.InAppProducts.Insert

-- | A resource alias for <tt>androidpublisher.inappproducts.insert</tt>
--   method which the <a>InAppProductsInsert</a> request conforms to.
type InAppProductsInsertResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("inappproducts" :> (QueryParam "autoConvertMissingPrices" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] InAppProduct :> Post '[JSON] InAppProduct)))))))

-- | Creates a value of <a>InAppProductsInsert</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iapiAutoConvertMissingPrices</a></li>
--   <li><a>iapiPackageName</a></li>
--   <li><a>iapiPayload</a></li>
--   </ul>
inAppProductsInsert :: Text -> InAppProduct -> InAppProductsInsert

-- | Creates a new in-app product for an app.
--   
--   <i>See:</i> <a>inAppProductsInsert</a> smart constructor.
data InAppProductsInsert

-- | If true the prices for all regions targeted by the parent app that
--   don't have a price specified for this in-app product will be auto
--   converted to the target currency based on the default price. Defaults
--   to false.
iapiAutoConvertMissingPrices :: Lens' InAppProductsInsert (Maybe Bool)

-- | Unique identifier for the Android app; for example, "com.spiffygame".
iapiPackageName :: Lens' InAppProductsInsert Text

-- | Multipart request metadata.
iapiPayload :: Lens' InAppProductsInsert InAppProduct
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.InAppProducts.Insert.InAppProductsInsert
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.InAppProducts.Insert.InAppProductsInsert
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.InAppProducts.Insert.InAppProductsInsert
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.InAppProducts.Insert.InAppProductsInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.InAppProducts.Insert.InAppProductsInsert


-- | List all the in-app products for an Android app, both subscriptions
--   and managed in-app products..
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.inappproducts.list</tt>.
module Network.Google.Resource.AndroidPublisher.InAppProducts.List

-- | A resource alias for <tt>androidpublisher.inappproducts.list</tt>
--   method which the <a>InAppProductsList</a> request conforms to.
type InAppProductsListResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("inappproducts" :> (QueryParam "token" Text :> (QueryParam "startIndex" (Textual Word32) :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] InAppProductsListResponse))))))))

-- | Creates a value of <a>InAppProductsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iaplPackageName</a></li>
--   <li><a>iaplToken</a></li>
--   <li><a>iaplStartIndex</a></li>
--   <li><a>iaplMaxResults</a></li>
--   </ul>
inAppProductsList :: Text -> InAppProductsList

-- | List all the in-app products for an Android app, both subscriptions
--   and managed in-app products..
--   
--   <i>See:</i> <a>inAppProductsList</a> smart constructor.
data InAppProductsList

-- | Unique identifier for the Android app with in-app products; for
--   example, "com.spiffygame".
iaplPackageName :: Lens' InAppProductsList Text
iaplToken :: Lens' InAppProductsList (Maybe Text)
iaplStartIndex :: Lens' InAppProductsList (Maybe Word32)
iaplMaxResults :: Lens' InAppProductsList (Maybe Word32)
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.InAppProducts.List.InAppProductsList
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.InAppProducts.List.InAppProductsList
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.InAppProducts.List.InAppProductsList
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.InAppProducts.List.InAppProductsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.InAppProducts.List.InAppProductsList


-- | Updates the details of an in-app product. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.inappproducts.patch</tt>.
module Network.Google.Resource.AndroidPublisher.InAppProducts.Patch

-- | A resource alias for <tt>androidpublisher.inappproducts.patch</tt>
--   method which the <a>InAppProductsPatch</a> request conforms to.
type InAppProductsPatchResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("inappproducts" :> (Capture "sku" Text :> (QueryParam "autoConvertMissingPrices" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] InAppProduct :> Patch '[JSON] InAppProduct))))))))

-- | Creates a value of <a>InAppProductsPatch</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iAppAutoConvertMissingPrices</a></li>
--   <li><a>iAppPackageName</a></li>
--   <li><a>iAppPayload</a></li>
--   <li><a>iAppSKU</a></li>
--   </ul>
inAppProductsPatch :: Text -> InAppProduct -> Text -> InAppProductsPatch

-- | Updates the details of an in-app product. This method supports patch
--   semantics.
--   
--   <i>See:</i> <a>inAppProductsPatch</a> smart constructor.
data InAppProductsPatch

-- | If true the prices for all regions targeted by the parent app that
--   don't have a price specified for this in-app product will be auto
--   converted to the target currency based on the default price. Defaults
--   to false.
iAppAutoConvertMissingPrices :: Lens' InAppProductsPatch (Maybe Bool)

-- | Unique identifier for the Android app with the in-app product; for
--   example, "com.spiffygame".
iAppPackageName :: Lens' InAppProductsPatch Text

-- | Multipart request metadata.
iAppPayload :: Lens' InAppProductsPatch InAppProduct

-- | Unique identifier for the in-app product.
iAppSKU :: Lens' InAppProductsPatch Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.InAppProducts.Patch.InAppProductsPatch
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.InAppProducts.Patch.InAppProductsPatch
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.InAppProducts.Patch.InAppProductsPatch
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.InAppProducts.Patch.InAppProductsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.InAppProducts.Patch.InAppProductsPatch


-- | Updates the details of an in-app product.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.inappproducts.update</tt>.
module Network.Google.Resource.AndroidPublisher.InAppProducts.Update

-- | A resource alias for <tt>androidpublisher.inappproducts.update</tt>
--   method which the <a>InAppProductsUpdate</a> request conforms to.
type InAppProductsUpdateResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("inappproducts" :> (Capture "sku" Text :> (QueryParam "autoConvertMissingPrices" Bool :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] InAppProduct :> Put '[JSON] InAppProduct))))))))

-- | Creates a value of <a>InAppProductsUpdate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iapuAutoConvertMissingPrices</a></li>
--   <li><a>iapuPackageName</a></li>
--   <li><a>iapuPayload</a></li>
--   <li><a>iapuSKU</a></li>
--   </ul>
inAppProductsUpdate :: Text -> InAppProduct -> Text -> InAppProductsUpdate

-- | Updates the details of an in-app product.
--   
--   <i>See:</i> <a>inAppProductsUpdate</a> smart constructor.
data InAppProductsUpdate

-- | If true the prices for all regions targeted by the parent app that
--   don't have a price specified for this in-app product will be auto
--   converted to the target currency based on the default price. Defaults
--   to false.
iapuAutoConvertMissingPrices :: Lens' InAppProductsUpdate (Maybe Bool)

-- | Unique identifier for the Android app with the in-app product; for
--   example, "com.spiffygame".
iapuPackageName :: Lens' InAppProductsUpdate Text

-- | Multipart request metadata.
iapuPayload :: Lens' InAppProductsUpdate InAppProduct

-- | Unique identifier for the in-app product.
iapuSKU :: Lens' InAppProductsUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.InAppProducts.Update.InAppProductsUpdate
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.InAppProducts.Update.InAppProductsUpdate
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.InAppProducts.Update.InAppProductsUpdate
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.InAppProducts.Update.InAppProductsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.InAppProducts.Update.InAppProductsUpdate


-- | Checks the purchase and consumption status of an inapp item.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.purchases.products.get</tt>.
module Network.Google.Resource.AndroidPublisher.Purchases.Products.Get

-- | A resource alias for <tt>androidpublisher.purchases.products.get</tt>
--   method which the <a>PurchasesProductsGet</a> request conforms to.
type PurchasesProductsGetResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("purchases" :> ("products" :> (Capture "productId" Text :> ("tokens" :> (Capture "token" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ProductPurchase)))))))))

-- | Creates a value of <a>PurchasesProductsGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ppgPackageName</a></li>
--   <li><a>ppgToken</a></li>
--   <li><a>ppgProductId</a></li>
--   </ul>
purchasesProductsGet :: Text -> Text -> Text -> PurchasesProductsGet

-- | Checks the purchase and consumption status of an inapp item.
--   
--   <i>See:</i> <a>purchasesProductsGet</a> smart constructor.
data PurchasesProductsGet

-- | The package name of the application the inapp product was sold in (for
--   example, 'com.some.thing').
ppgPackageName :: Lens' PurchasesProductsGet Text

-- | The token provided to the user's device when the inapp product was
--   purchased.
ppgToken :: Lens' PurchasesProductsGet Text

-- | The inapp product SKU (for example, 'com.some.thing.inapp1').
ppgProductId :: Lens' PurchasesProductsGet Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Purchases.Products.Get.PurchasesProductsGet
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Purchases.Products.Get.PurchasesProductsGet
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Purchases.Products.Get.PurchasesProductsGet
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Purchases.Products.Get.PurchasesProductsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Purchases.Products.Get.PurchasesProductsGet


-- | Cancels a user's subscription purchase. The subscription remains valid
--   until its expiration time.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.purchases.subscriptions.cancel</tt>.
module Network.Google.Resource.AndroidPublisher.Purchases.Subscriptions.Cancel

-- | A resource alias for
--   <tt>androidpublisher.purchases.subscriptions.cancel</tt> method which
--   the <a>PurchasesSubscriptionsCancel</a> request conforms to.
type PurchasesSubscriptionsCancelResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("purchases" :> ("subscriptions" :> (Capture "subscriptionId" Text :> ("tokens" :> (CaptureMode "token" "cancel" Text :> (QueryParam "alt" AltJSON :> Post '[JSON] ())))))))))

-- | Creates a value of <a>PurchasesSubscriptionsCancel</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pscPackageName</a></li>
--   <li><a>pscToken</a></li>
--   <li><a>pscSubscriptionId</a></li>
--   </ul>
purchasesSubscriptionsCancel :: Text -> Text -> Text -> PurchasesSubscriptionsCancel

-- | Cancels a user's subscription purchase. The subscription remains valid
--   until its expiration time.
--   
--   <i>See:</i> <a>purchasesSubscriptionsCancel</a> smart constructor.
data PurchasesSubscriptionsCancel

-- | The package name of the application for which this subscription was
--   purchased (for example, 'com.some.thing').
pscPackageName :: Lens' PurchasesSubscriptionsCancel Text

-- | The token provided to the user's device when the subscription was
--   purchased.
pscToken :: Lens' PurchasesSubscriptionsCancel Text

-- | The purchased subscription ID (for example, 'monthly001').
pscSubscriptionId :: Lens' PurchasesSubscriptionsCancel Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Purchases.Subscriptions.Cancel.PurchasesSubscriptionsCancel
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Purchases.Subscriptions.Cancel.PurchasesSubscriptionsCancel
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Purchases.Subscriptions.Cancel.PurchasesSubscriptionsCancel
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Purchases.Subscriptions.Cancel.PurchasesSubscriptionsCancel
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Purchases.Subscriptions.Cancel.PurchasesSubscriptionsCancel


-- | Defers a user's subscription purchase until a specified future
--   expiration time.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.purchases.subscriptions.defer</tt>.
module Network.Google.Resource.AndroidPublisher.Purchases.Subscriptions.Defer

-- | A resource alias for
--   <tt>androidpublisher.purchases.subscriptions.defer</tt> method which
--   the <a>PurchasesSubscriptionsDefer</a> request conforms to.
type PurchasesSubscriptionsDeferResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("purchases" :> ("subscriptions" :> (Capture "subscriptionId" Text :> ("tokens" :> (CaptureMode "token" "defer" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] SubscriptionPurchasesDeferRequest :> Post '[JSON] SubscriptionPurchasesDeferResponse))))))))))

-- | Creates a value of <a>PurchasesSubscriptionsDefer</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psdPackageName</a></li>
--   <li><a>psdToken</a></li>
--   <li><a>psdPayload</a></li>
--   <li><a>psdSubscriptionId</a></li>
--   </ul>
purchasesSubscriptionsDefer :: Text -> Text -> SubscriptionPurchasesDeferRequest -> Text -> PurchasesSubscriptionsDefer

-- | Defers a user's subscription purchase until a specified future
--   expiration time.
--   
--   <i>See:</i> <a>purchasesSubscriptionsDefer</a> smart constructor.
data PurchasesSubscriptionsDefer

-- | The package name of the application for which this subscription was
--   purchased (for example, 'com.some.thing').
psdPackageName :: Lens' PurchasesSubscriptionsDefer Text

-- | The token provided to the user's device when the subscription was
--   purchased.
psdToken :: Lens' PurchasesSubscriptionsDefer Text

-- | Multipart request metadata.
psdPayload :: Lens' PurchasesSubscriptionsDefer SubscriptionPurchasesDeferRequest

-- | The purchased subscription ID (for example, 'monthly001').
psdSubscriptionId :: Lens' PurchasesSubscriptionsDefer Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Purchases.Subscriptions.Defer.PurchasesSubscriptionsDefer
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Purchases.Subscriptions.Defer.PurchasesSubscriptionsDefer
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Purchases.Subscriptions.Defer.PurchasesSubscriptionsDefer
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Purchases.Subscriptions.Defer.PurchasesSubscriptionsDefer
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Purchases.Subscriptions.Defer.PurchasesSubscriptionsDefer


-- | Checks whether a user's subscription purchase is valid and returns its
--   expiry time.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.purchases.subscriptions.get</tt>.
module Network.Google.Resource.AndroidPublisher.Purchases.Subscriptions.Get

-- | A resource alias for
--   <tt>androidpublisher.purchases.subscriptions.get</tt> method which the
--   <a>PurchasesSubscriptionsGet</a> request conforms to.
type PurchasesSubscriptionsGetResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("purchases" :> ("subscriptions" :> (Capture "subscriptionId" Text :> ("tokens" :> (Capture "token" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] SubscriptionPurchase)))))))))

-- | Creates a value of <a>PurchasesSubscriptionsGet</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psgPackageName</a></li>
--   <li><a>psgToken</a></li>
--   <li><a>psgSubscriptionId</a></li>
--   </ul>
purchasesSubscriptionsGet :: Text -> Text -> Text -> PurchasesSubscriptionsGet

-- | Checks whether a user's subscription purchase is valid and returns its
--   expiry time.
--   
--   <i>See:</i> <a>purchasesSubscriptionsGet</a> smart constructor.
data PurchasesSubscriptionsGet

-- | The package name of the application for which this subscription was
--   purchased (for example, 'com.some.thing').
psgPackageName :: Lens' PurchasesSubscriptionsGet Text

-- | The token provided to the user's device when the subscription was
--   purchased.
psgToken :: Lens' PurchasesSubscriptionsGet Text

-- | The purchased subscription ID (for example, 'monthly001').
psgSubscriptionId :: Lens' PurchasesSubscriptionsGet Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Purchases.Subscriptions.Get.PurchasesSubscriptionsGet
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Purchases.Subscriptions.Get.PurchasesSubscriptionsGet
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Purchases.Subscriptions.Get.PurchasesSubscriptionsGet
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Purchases.Subscriptions.Get.PurchasesSubscriptionsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Purchases.Subscriptions.Get.PurchasesSubscriptionsGet


-- | Refunds a user's subscription purchase, but the subscription remains
--   valid until its expiration time and it will continue to recur.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.purchases.subscriptions.refund</tt>.
module Network.Google.Resource.AndroidPublisher.Purchases.Subscriptions.Refund

-- | A resource alias for
--   <tt>androidpublisher.purchases.subscriptions.refund</tt> method which
--   the <a>PurchasesSubscriptionsRefund</a> request conforms to.
type PurchasesSubscriptionsRefundResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("purchases" :> ("subscriptions" :> (Capture "subscriptionId" Text :> ("tokens" :> (CaptureMode "token" "refund" Text :> (QueryParam "alt" AltJSON :> Post '[JSON] ())))))))))

-- | Creates a value of <a>PurchasesSubscriptionsRefund</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>psrPackageName</a></li>
--   <li><a>psrToken</a></li>
--   <li><a>psrSubscriptionId</a></li>
--   </ul>
purchasesSubscriptionsRefund :: Text -> Text -> Text -> PurchasesSubscriptionsRefund

-- | Refunds a user's subscription purchase, but the subscription remains
--   valid until its expiration time and it will continue to recur.
--   
--   <i>See:</i> <a>purchasesSubscriptionsRefund</a> smart constructor.
data PurchasesSubscriptionsRefund

-- | The package name of the application for which this subscription was
--   purchased (for example, 'com.some.thing').
psrPackageName :: Lens' PurchasesSubscriptionsRefund Text

-- | The token provided to the user's device when the subscription was
--   purchased.
psrToken :: Lens' PurchasesSubscriptionsRefund Text

-- | The purchased subscription ID (for example, 'monthly001').
psrSubscriptionId :: Lens' PurchasesSubscriptionsRefund Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Purchases.Subscriptions.Refund.PurchasesSubscriptionsRefund
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Purchases.Subscriptions.Refund.PurchasesSubscriptionsRefund
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Purchases.Subscriptions.Refund.PurchasesSubscriptionsRefund
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Purchases.Subscriptions.Refund.PurchasesSubscriptionsRefund
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Purchases.Subscriptions.Refund.PurchasesSubscriptionsRefund


-- | Refunds and immediately revokes a user's subscription purchase. Access
--   to the subscription will be terminated immediately and it will stop
--   recurring.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.purchases.subscriptions.revoke</tt>.
module Network.Google.Resource.AndroidPublisher.Purchases.Subscriptions.Revoke

-- | A resource alias for
--   <tt>androidpublisher.purchases.subscriptions.revoke</tt> method which
--   the <a>PurchasesSubscriptionsRevoke</a> request conforms to.
type PurchasesSubscriptionsRevokeResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("purchases" :> ("subscriptions" :> (Capture "subscriptionId" Text :> ("tokens" :> (CaptureMode "token" "revoke" Text :> (QueryParam "alt" AltJSON :> Post '[JSON] ())))))))))

-- | Creates a value of <a>PurchasesSubscriptionsRevoke</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pPackageName</a></li>
--   <li><a>pToken</a></li>
--   <li><a>pSubscriptionId</a></li>
--   </ul>
purchasesSubscriptionsRevoke :: Text -> Text -> Text -> PurchasesSubscriptionsRevoke

-- | Refunds and immediately revokes a user's subscription purchase. Access
--   to the subscription will be terminated immediately and it will stop
--   recurring.
--   
--   <i>See:</i> <a>purchasesSubscriptionsRevoke</a> smart constructor.
data PurchasesSubscriptionsRevoke

-- | The package name of the application for which this subscription was
--   purchased (for example, 'com.some.thing').
pPackageName :: Lens' PurchasesSubscriptionsRevoke Text

-- | The token provided to the user's device when the subscription was
--   purchased.
pToken :: Lens' PurchasesSubscriptionsRevoke Text

-- | The purchased subscription ID (for example, 'monthly001').
pSubscriptionId :: Lens' PurchasesSubscriptionsRevoke Text
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Purchases.Subscriptions.Revoke.PurchasesSubscriptionsRevoke
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Purchases.Subscriptions.Revoke.PurchasesSubscriptionsRevoke
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Purchases.Subscriptions.Revoke.PurchasesSubscriptionsRevoke
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Purchases.Subscriptions.Revoke.PurchasesSubscriptionsRevoke
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Purchases.Subscriptions.Revoke.PurchasesSubscriptionsRevoke


-- | Lists the purchases that were cancelled, refunded or charged-back.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.purchases.voidedpurchases.list</tt>.
module Network.Google.Resource.AndroidPublisher.Purchases.Voidedpurchases.List

-- | A resource alias for
--   <tt>androidpublisher.purchases.voidedpurchases.list</tt> method which
--   the <a>PurchasesVoidedpurchasesList</a> request conforms to.
type PurchasesVoidedpurchasesListResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("purchases" :> ("voidedpurchases" :> (QueryParam "startTime" (Textual Int64) :> (QueryParam "token" Text :> (QueryParam "endTime" (Textual Int64) :> (QueryParam "startIndex" (Textual Word32) :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] VoidedPurchasesListResponse)))))))))))

-- | Creates a value of <a>PurchasesVoidedpurchasesList</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pvlPackageName</a></li>
--   <li><a>pvlStartTime</a></li>
--   <li><a>pvlToken</a></li>
--   <li><a>pvlEndTime</a></li>
--   <li><a>pvlStartIndex</a></li>
--   <li><a>pvlMaxResults</a></li>
--   </ul>
purchasesVoidedpurchasesList :: Text -> PurchasesVoidedpurchasesList

-- | Lists the purchases that were cancelled, refunded or charged-back.
--   
--   <i>See:</i> <a>purchasesVoidedpurchasesList</a> smart constructor.
data PurchasesVoidedpurchasesList

-- | The package name of the application for which voided purchases need to
--   be returned (for example, 'com.some.thing').
pvlPackageName :: Lens' PurchasesVoidedpurchasesList Text

-- | The time, in milliseconds since the Epoch, of the oldest voided in-app
--   product purchase that you want to see in the response. The value of
--   this parameter cannot be older than 30 days and is ignored if a
--   pagination token is set. Default value is current time minus 30 days.
pvlStartTime :: Lens' PurchasesVoidedpurchasesList (Maybe Int64)
pvlToken :: Lens' PurchasesVoidedpurchasesList (Maybe Text)

-- | The time, in milliseconds since the Epoch, of the newest voided in-app
--   product purchase that you want to see in the response. The value of
--   this parameter cannot be greater than the current time and is ignored
--   if a pagination token is set. Default value is current time.
pvlEndTime :: Lens' PurchasesVoidedpurchasesList (Maybe Int64)
pvlStartIndex :: Lens' PurchasesVoidedpurchasesList (Maybe Word32)
pvlMaxResults :: Lens' PurchasesVoidedpurchasesList (Maybe Word32)
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Purchases.Voidedpurchases.List.PurchasesVoidedpurchasesList
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Purchases.Voidedpurchases.List.PurchasesVoidedpurchasesList
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Purchases.Voidedpurchases.List.PurchasesVoidedpurchasesList
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Purchases.Voidedpurchases.List.PurchasesVoidedpurchasesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Purchases.Voidedpurchases.List.PurchasesVoidedpurchasesList


-- | Returns a single review.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.reviews.get</tt>.
module Network.Google.Resource.AndroidPublisher.Reviews.Get

-- | A resource alias for <tt>androidpublisher.reviews.get</tt> method
--   which the <a>ReviewsGet</a> request conforms to.
type ReviewsGetResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("reviews" :> (Capture "reviewId" Text :> (QueryParam "translationLanguage" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Review)))))))

-- | Creates a value of <a>ReviewsGet</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rgReviewId</a></li>
--   <li><a>rgPackageName</a></li>
--   <li><a>rgTranslationLanguage</a></li>
--   </ul>
reviewsGet :: Text -> Text -> ReviewsGet

-- | Returns a single review.
--   
--   <i>See:</i> <a>reviewsGet</a> smart constructor.
data ReviewsGet
rgReviewId :: Lens' ReviewsGet Text

-- | Unique identifier for the Android app for which we want reviews; for
--   example, "com.spiffygame".
rgPackageName :: Lens' ReviewsGet Text
rgTranslationLanguage :: Lens' ReviewsGet (Maybe Text)
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Reviews.Get.ReviewsGet
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Reviews.Get.ReviewsGet
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Reviews.Get.ReviewsGet
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Reviews.Get.ReviewsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Reviews.Get.ReviewsGet


-- | Returns a list of reviews.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.reviews.list</tt>.
module Network.Google.Resource.AndroidPublisher.Reviews.List

-- | A resource alias for <tt>androidpublisher.reviews.list</tt> method
--   which the <a>ReviewsList</a> request conforms to.
type ReviewsListResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("reviews" :> (QueryParam "token" Text :> (QueryParam "translationLanguage" Text :> (QueryParam "startIndex" (Textual Word32) :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] ReviewsListResponse)))))))))

-- | Creates a value of <a>ReviewsList</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rlPackageName</a></li>
--   <li><a>rlToken</a></li>
--   <li><a>rlTranslationLanguage</a></li>
--   <li><a>rlStartIndex</a></li>
--   <li><a>rlMaxResults</a></li>
--   </ul>
reviewsList :: Text -> ReviewsList

-- | Returns a list of reviews.
--   
--   <i>See:</i> <a>reviewsList</a> smart constructor.
data ReviewsList

-- | Unique identifier for the Android app for which we want reviews; for
--   example, "com.spiffygame".
rlPackageName :: Lens' ReviewsList Text
rlToken :: Lens' ReviewsList (Maybe Text)
rlTranslationLanguage :: Lens' ReviewsList (Maybe Text)
rlStartIndex :: Lens' ReviewsList (Maybe Word32)
rlMaxResults :: Lens' ReviewsList (Maybe Word32)
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Reviews.List.ReviewsList
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Reviews.List.ReviewsList
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Reviews.List.ReviewsList
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Reviews.List.ReviewsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Reviews.List.ReviewsList


-- | Reply to a single review, or update an existing reply.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a> for
--   <tt>androidpublisher.reviews.reply</tt>.
module Network.Google.Resource.AndroidPublisher.Reviews.Reply

-- | A resource alias for <tt>androidpublisher.reviews.reply</tt> method
--   which the <a>ReviewsReply</a> request conforms to.
type ReviewsReplyResource = "androidpublisher" :> ("v2" :> ("applications" :> (Capture "packageName" Text :> ("reviews" :> (CaptureMode "reviewId" "reply" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ReviewsReplyRequest :> Post '[JSON] ReviewsReplyResponse)))))))

-- | Creates a value of <a>ReviewsReply</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rrReviewId</a></li>
--   <li><a>rrPackageName</a></li>
--   <li><a>rrPayload</a></li>
--   </ul>
reviewsReply :: Text -> Text -> ReviewsReplyRequest -> ReviewsReply

-- | Reply to a single review, or update an existing reply.
--   
--   <i>See:</i> <a>reviewsReply</a> smart constructor.
data ReviewsReply
rrReviewId :: Lens' ReviewsReply Text

-- | Unique identifier for the Android app for which we want reviews; for
--   example, "com.spiffygame".
rrPackageName :: Lens' ReviewsReply Text

-- | Multipart request metadata.
rrPayload :: Lens' ReviewsReply ReviewsReplyRequest
instance GHC.Generics.Generic Network.Google.Resource.AndroidPublisher.Reviews.Reply.ReviewsReply
instance Data.Data.Data Network.Google.Resource.AndroidPublisher.Reviews.Reply.ReviewsReply
instance GHC.Show.Show Network.Google.Resource.AndroidPublisher.Reviews.Reply.ReviewsReply
instance GHC.Classes.Eq Network.Google.Resource.AndroidPublisher.Reviews.Reply.ReviewsReply
instance Network.Google.Types.GoogleRequest Network.Google.Resource.AndroidPublisher.Reviews.Reply.ReviewsReply


-- | Lets Android application developers access their Google Play accounts.
--   
--   <i>See:</i> <a>Google Play Developer API Reference</a>
module Network.Google.AndroidPublisher

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

-- | View and manage your Google Play Developer account
androidPublisherScope :: Proxy '["https://www.googleapis.com/auth/androidpublisher"]

-- | Represents the entirety of the methods and resources available for the
--   Google Play Developer API service.
type AndroidPublisherAPI = InAppProductsBatchResource :<|> (InAppProductsInsertResource :<|> (InAppProductsListResource :<|> (InAppProductsPatchResource :<|> (InAppProductsGetResource :<|> (InAppProductsDeleteResource :<|> (InAppProductsUpdateResource :<|> (ReviewsReplyResource :<|> (ReviewsListResource :<|> (ReviewsGetResource :<|> (EditsImagesListResource :<|> (EditsImagesDeleteallResource :<|> (EditsImagesUploadResource :<|> (EditsImagesDeleteResource :<|> (EditsExpansionFilesPatchResource :<|> (EditsExpansionFilesGetResource :<|> (EditsExpansionFilesUploadResource :<|> (EditsExpansionFilesUpdateResource :<|> (EditsTracksListResource :<|> (EditsTracksPatchResource :<|> (EditsTracksGetResource :<|> (EditsTracksUpdateResource :<|> (EditsDeobfuscationFilesUploadResource :<|> (EditsTestersPatchResource :<|> (EditsTestersGetResource :<|> (EditsTestersUpdateResource :<|> (EditsDetailsPatchResource :<|> (EditsDetailsGetResource :<|> (EditsDetailsUpdateResource :<|> (EditsAPKListingsListResource :<|> (EditsAPKListingsDeleteallResource :<|> (EditsAPKListingsPatchResource :<|> (EditsAPKListingsGetResource :<|> (EditsAPKListingsDeleteResource :<|> (EditsAPKListingsUpdateResource :<|> (EditsAPKsListResource :<|> (EditsAPKsAddexternallyhostedResource :<|> (EditsAPKsUploadResource :<|> (EditsListingsListResource :<|> (EditsListingsDeleteallResource :<|> (EditsListingsPatchResource :<|> (EditsListingsGetResource :<|> (EditsListingsDeleteResource :<|> (EditsListingsUpdateResource :<|> (EditsInsertResource :<|> (EditsGetResource :<|> (EditsValidateResource :<|> (EditsDeleteResource :<|> (EditsCommitResource :<|> (EntitlementsListResource :<|> (PurchasesVoidedpurchasesListResource :<|> (PurchasesProductsGetResource :<|> (PurchasesSubscriptionsDeferResource :<|> (PurchasesSubscriptionsGetResource :<|> (PurchasesSubscriptionsRefundResource :<|> (PurchasesSubscriptionsRevokeResource :<|> PurchasesSubscriptionsCancelResource)))))))))))))))))))))))))))))))))))))))))))))))))))))))

-- | List of localized title and description data.
--   
--   <i>See:</i> <a>inAppProductListings</a> smart constructor.
data InAppProductListings

-- | Creates a value of <a>InAppProductListings</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iaplAddtional</a></li>
--   </ul>
inAppProductListings :: HashMap Text InAppProductListing -> InAppProductListings

-- | The language of the localized data, as defined by BCP 47. i.e.:
--   "en-US", "en-GB".
iaplAddtional :: Lens' InAppProductListings (HashMap Text InAppProductListing)
data InAppProductsUpdateResponse

-- | Creates a value of <a>InAppProductsUpdateResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iapurInAppProduct</a></li>
--   </ul>
inAppProductsUpdateResponse :: InAppProductsUpdateResponse
iapurInAppProduct :: Lens' InAppProductsUpdateResponse (Maybe InAppProduct)
data EditsImagesDeleteallImageType

-- | <pre>
--   featureGraphic
--   </pre>
FeatureGraphic :: EditsImagesDeleteallImageType

-- | <pre>
--   icon
--   </pre>
Icon :: EditsImagesDeleteallImageType

-- | <pre>
--   phoneScreenshots
--   </pre>
PhoneScreenshots :: EditsImagesDeleteallImageType

-- | <pre>
--   promoGraphic
--   </pre>
PromoGraphic :: EditsImagesDeleteallImageType

-- | <pre>
--   sevenInchScreenshots
--   </pre>
SevenInchScreenshots :: EditsImagesDeleteallImageType

-- | <pre>
--   tenInchScreenshots
--   </pre>
TenInchScreenshots :: EditsImagesDeleteallImageType

-- | <pre>
--   tvBanner
--   </pre>
TvBanner :: EditsImagesDeleteallImageType

-- | <pre>
--   tvScreenshots
--   </pre>
TvScreenshots :: EditsImagesDeleteallImageType

-- | <pre>
--   wearScreenshots
--   </pre>
WearScreenshots :: EditsImagesDeleteallImageType
data MonthDay

-- | Creates a value of <a>MonthDay</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mdDay</a></li>
--   <li><a>mdMonth</a></li>
--   </ul>
monthDay :: MonthDay

-- | Day of a month, value in [1, 31] range. Valid range depends on the
--   specified month.
mdDay :: Lens' MonthDay (Maybe Word32)

-- | Month of a year. e.g. 1 = JAN, 2 = FEB etc.
mdMonth :: Lens' MonthDay (Maybe Word32)
data Track

-- | Creates a value of <a>Track</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tVersionCodes</a></li>
--   <li><a>tTrack</a></li>
--   <li><a>tUserFraction</a></li>
--   </ul>
track :: Track
tVersionCodes :: Lens' Track [Int32]
tTrack :: Lens' Track (Maybe Text)
tUserFraction :: Lens' Track (Maybe Double)
data Image

-- | Creates a value of <a>Image</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iURL</a></li>
--   <li><a>iSha1</a></li>
--   <li><a>iId</a></li>
--   </ul>
image :: Image

-- | A URL that will serve a preview of the image.
iURL :: Lens' Image (Maybe Text)

-- | A sha1 hash of the image that was uploaded.
iSha1 :: Lens' Image (Maybe Text)

-- | A unique id representing this image.
iId :: Lens' Image (Maybe Text)
data InAppProductsBatchRequestEntry

-- | Creates a value of <a>InAppProductsBatchRequestEntry</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iapbreMethodName</a></li>
--   <li><a>iapbreInAppProductsinsertrequest</a></li>
--   <li><a>iapbreInAppProductsupdaterequest</a></li>
--   <li><a>iapbreBatchId</a></li>
--   </ul>
inAppProductsBatchRequestEntry :: InAppProductsBatchRequestEntry
iapbreMethodName :: Lens' InAppProductsBatchRequestEntry (Maybe Text)
iapbreInAppProductsinsertrequest :: Lens' InAppProductsBatchRequestEntry (Maybe InAppProductsInsertRequest)
iapbreInAppProductsupdaterequest :: Lens' InAppProductsBatchRequestEntry (Maybe InAppProductsUpdateRequest)
iapbreBatchId :: Lens' InAppProductsBatchRequestEntry (Maybe Word32)
data InAppProductListing

-- | Creates a value of <a>InAppProductListing</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iaplTitle</a></li>
--   <li><a>iaplDescription</a></li>
--   </ul>
inAppProductListing :: InAppProductListing
iaplTitle :: Lens' InAppProductListing (Maybe Text)
iaplDescription :: Lens' InAppProductListing (Maybe Text)
data ImagesDeleteAllResponse

-- | Creates a value of <a>ImagesDeleteAllResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>idarDeleted</a></li>
--   </ul>
imagesDeleteAllResponse :: ImagesDeleteAllResponse
idarDeleted :: Lens' ImagesDeleteAllResponse [Image]
data TokenPagination

-- | Creates a value of <a>TokenPagination</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tpNextPageToken</a></li>
--   <li><a>tpPreviousPageToken</a></li>
--   </ul>
tokenPagination :: TokenPagination
tpNextPageToken :: Lens' TokenPagination (Maybe Text)
tpPreviousPageToken :: Lens' TokenPagination (Maybe Text)
data ExpansionFile

-- | Creates a value of <a>ExpansionFile</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>efFileSize</a></li>
--   <li><a>efReferencesVersion</a></li>
--   </ul>
expansionFile :: ExpansionFile

-- | If set this field indicates that this APK has an Expansion File
--   uploaded to it: this APK does not reference another APK's Expansion
--   File. The field's value is the size of the uploaded Expansion File in
--   bytes.
efFileSize :: Lens' ExpansionFile (Maybe Int64)

-- | If set this APK's Expansion File references another APK's Expansion
--   File. The file_size field will not be set.
efReferencesVersion :: Lens' ExpansionFile (Maybe Int32)

-- | The track type to read or modify.
data EditsTracksPatchTrack

-- | <pre>
--   alpha
--   </pre>
Alpha :: EditsTracksPatchTrack

-- | <pre>
--   beta
--   </pre>
Beta :: EditsTracksPatchTrack

-- | <pre>
--   production
--   </pre>
Production :: EditsTracksPatchTrack

-- | <pre>
--   rollout
--   </pre>
Rollout :: EditsTracksPatchTrack
data UserComment

-- | Creates a value of <a>UserComment</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ucAndroidOSVersion</a></li>
--   <li><a>ucText</a></li>
--   <li><a>ucDevice</a></li>
--   <li><a>ucThumbsUpCount</a></li>
--   <li><a>ucAppVersionCode</a></li>
--   <li><a>ucThumbsDownCount</a></li>
--   <li><a>ucOriginalText</a></li>
--   <li><a>ucAppVersionName</a></li>
--   <li><a>ucReviewerLanguage</a></li>
--   <li><a>ucDeviceMetadata</a></li>
--   <li><a>ucStarRating</a></li>
--   <li><a>ucLastModified</a></li>
--   </ul>
userComment :: UserComment

-- | Integer Android SDK version of the user's device at the time the
--   review was written, e.g. 23 is Marshmallow. May be absent.
ucAndroidOSVersion :: Lens' UserComment (Maybe Int32)

-- | The content of the comment, i.e. review body. In some cases users have
--   been able to write a review with separate title and body; in those
--   cases the title and body are concatenated and separated by a tab
--   character.
ucText :: Lens' UserComment (Maybe Text)

-- | Codename for the reviewer's device, e.g. klte, flounder. May be
--   absent.
ucDevice :: Lens' UserComment (Maybe Text)

-- | Number of users who have given this review a thumbs up
ucThumbsUpCount :: Lens' UserComment (Maybe Int32)

-- | Integer version code of the app as installed at the time the review
--   was written. May be absent.
ucAppVersionCode :: Lens' UserComment (Maybe Int32)

-- | Number of users who have given this review a thumbs down
ucThumbsDownCount :: Lens' UserComment (Maybe Int32)

-- | Untranslated text of the review, in the case where the review has been
--   translated. If the review has not been translated this is left blank.
ucOriginalText :: Lens' UserComment (Maybe Text)

-- | String version name of the app as installed at the time the review was
--   written. May be absent.
ucAppVersionName :: Lens' UserComment (Maybe Text)

-- | Language code for the reviewer. This is taken from the device settings
--   so is not guaranteed to match the language the review is written in.
--   May be absent.
ucReviewerLanguage :: Lens' UserComment (Maybe Text)

-- | Some information about the characteristics of the user's device
ucDeviceMetadata :: Lens' UserComment (Maybe DeviceMetadata)

-- | The star rating associated with the review, from 1 to 5.
ucStarRating :: Lens' UserComment (Maybe Int32)

-- | The last time at which this comment was updated.
ucLastModified :: Lens' UserComment (Maybe Timestamp)
data Testers

-- | Creates a value of <a>Testers</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tGooglePlusCommUnities</a></li>
--   <li><a>tGoogleGroups</a></li>
--   </ul>
testers :: Testers
tGooglePlusCommUnities :: Lens' Testers [Text]
tGoogleGroups :: Lens' Testers [Text]

-- | The track type to read or modify.
data EditsTracksGetTrack

-- | <pre>
--   alpha
--   </pre>
ETGTAlpha :: EditsTracksGetTrack

-- | <pre>
--   beta
--   </pre>
ETGTBeta :: EditsTracksGetTrack

-- | <pre>
--   production
--   </pre>
ETGTProduction :: EditsTracksGetTrack

-- | <pre>
--   rollout
--   </pre>
ETGTRollout :: EditsTracksGetTrack
data Listing

-- | Creates a value of <a>Listing</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lFullDescription</a></li>
--   <li><a>lVideo</a></li>
--   <li><a>lShortDescription</a></li>
--   <li><a>lLanguage</a></li>
--   <li><a>lTitle</a></li>
--   </ul>
listing :: Listing

-- | Full description of the app; this may be up to 4000 characters in
--   length.
lFullDescription :: Lens' Listing (Maybe Text)

-- | URL of a promotional YouTube video for the app.
lVideo :: Lens' Listing (Maybe Text)

-- | Short description of the app (previously known as promo text); this
--   may be up to 80 characters in length.
lShortDescription :: Lens' Listing (Maybe Text)

-- | Language localization code (for example, "de-AT" for Austrian German).
lLanguage :: Lens' Listing (Maybe Text)

-- | App's localized title.
lTitle :: Lens' Listing (Maybe Text)
data APK

-- | Creates a value of <a>APK</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aVersionCode</a></li>
--   <li><a>aBinary</a></li>
--   </ul>
aPK :: APK

-- | The version code of the APK, as specified in the APK's manifest file.
aVersionCode :: Lens' APK (Maybe Int32)

-- | Information about the binary payload of this APK.
aBinary :: Lens' APK (Maybe APKBinary)
data SubscriptionPurchasesDeferRequest

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

-- | The information about the new desired expiry time for the
--   subscription.
spdrDeferralInfo :: Lens' SubscriptionPurchasesDeferRequest (Maybe SubscriptionDeferralInfo)
data TracksListResponse

-- | Creates a value of <a>TracksListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tlrTracks</a></li>
--   <li><a>tlrKind</a></li>
--   </ul>
tracksListResponse :: TracksListResponse
tlrTracks :: Lens' TracksListResponse [Track]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "androidpublisher#tracksListResponse".
tlrKind :: Lens' TracksListResponse Text

-- | The track type to read or modify.
data EditsTracksUpdateTrack

-- | <pre>
--   alpha
--   </pre>
ETUTAlpha :: EditsTracksUpdateTrack

-- | <pre>
--   beta
--   </pre>
ETUTBeta :: EditsTracksUpdateTrack

-- | <pre>
--   production
--   </pre>
ETUTProduction :: EditsTracksUpdateTrack

-- | <pre>
--   rollout
--   </pre>
ETUTRollout :: EditsTracksUpdateTrack
data Season

-- | Creates a value of <a>Season</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sStart</a></li>
--   <li><a>sEnd</a></li>
--   <li><a>sProrations</a></li>
--   </ul>
season :: Season

-- | Inclusive start date of the recurrence period.
sStart :: Lens' Season (Maybe MonthDay)

-- | Inclusive end date of the recurrence period.
sEnd :: Lens' Season (Maybe MonthDay)

-- | Optionally present list of prorations for the season. Each proration
--   is a one-off discounted entry into a subscription. Each proration
--   contains the first date on which the discount is available and the new
--   pricing information.
sProrations :: Lens' Season [Prorate]
data PageInfo

-- | Creates a value of <a>PageInfo</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>piResultPerPage</a></li>
--   <li><a>piTotalResults</a></li>
--   <li><a>piStartIndex</a></li>
--   </ul>
pageInfo :: PageInfo
piResultPerPage :: Lens' PageInfo (Maybe Int32)
piTotalResults :: Lens' PageInfo (Maybe Int32)
piStartIndex :: Lens' PageInfo (Maybe Int32)
data ImagesListResponse

-- | Creates a value of <a>ImagesListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ilrImages</a></li>
--   </ul>
imagesListResponse :: ImagesListResponse
ilrImages :: Lens' ImagesListResponse [Image]

-- | Represents an edit of an app. An edit allows clients to make multiple
--   changes before committing them in one operation.
--   
--   <i>See:</i> <a>appEdit</a> smart constructor.
data AppEdit

-- | Creates a value of <a>AppEdit</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aeId</a></li>
--   <li><a>aeExpiryTimeSeconds</a></li>
--   </ul>
appEdit :: AppEdit

-- | The ID of the edit that can be used in subsequent API calls.
aeId :: Lens' AppEdit (Maybe Text)

-- | The time at which the edit will expire and will be no longer valid for
--   use in any subsequent API calls (encoded as seconds since the Epoch).
aeExpiryTimeSeconds :: Lens' AppEdit (Maybe Text)

-- | A ProductPurchase resource indicates the status of a user's inapp
--   product purchase.
--   
--   <i>See:</i> <a>productPurchase</a> smart constructor.
data ProductPurchase

-- | Creates a value of <a>ProductPurchase</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ppPurchaseState</a></li>
--   <li><a>ppConsumptionState</a></li>
--   <li><a>ppKind</a></li>
--   <li><a>ppPurchaseTimeMillis</a></li>
--   <li><a>ppDeveloperPayload</a></li>
--   </ul>
productPurchase :: ProductPurchase

-- | The purchase state of the order. Possible values are: - Purchased -
--   Cancelled
ppPurchaseState :: Lens' ProductPurchase (Maybe Int32)

-- | The consumption state of the inapp product. Possible values are: - Yet
--   to be consumed - Consumed
ppConsumptionState :: Lens' ProductPurchase (Maybe Int32)

-- | This kind represents an inappPurchase object in the androidpublisher
--   service.
ppKind :: Lens' ProductPurchase Text

-- | The time the product was purchased, in milliseconds since the epoch
--   (Jan 1, 1970).
ppPurchaseTimeMillis :: Lens' ProductPurchase (Maybe Int64)

-- | A developer-specified string that contains supplemental information
--   about an order.
ppDeveloperPayload :: Lens' ProductPurchase (Maybe Text)
data ReviewsListResponse

-- | Creates a value of <a>ReviewsListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rlrTokenPagination</a></li>
--   <li><a>rlrPageInfo</a></li>
--   <li><a>rlrReviews</a></li>
--   </ul>
reviewsListResponse :: ReviewsListResponse
rlrTokenPagination :: Lens' ReviewsListResponse (Maybe TokenPagination)
rlrPageInfo :: Lens' ReviewsListResponse (Maybe PageInfo)
rlrReviews :: Lens' ReviewsListResponse [Review]
data SubscriptionPurchasesDeferResponse

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

-- | The new expiry time for the subscription in milliseconds since the
--   Epoch.
spdrNewExpiryTimeMillis :: Lens' SubscriptionPurchasesDeferResponse (Maybe Int64)
data APKListing

-- | Creates a value of <a>APKListing</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>apklLanguage</a></li>
--   <li><a>apklRecentChanges</a></li>
--   </ul>
aPKListing :: APKListing

-- | The language code, in BCP 47 format (eg "en-US").
apklLanguage :: Lens' APKListing (Maybe Text)

-- | Describe what's new in your APK.
apklRecentChanges :: Lens' APKListing (Maybe Text)

-- | A SubscriptionPurchase resource indicates the status of a user's
--   subscription purchase.
--   
--   <i>See:</i> <a>subscriptionPurchase</a> smart constructor.
data SubscriptionPurchase

-- | Creates a value of <a>SubscriptionPurchase</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>spPaymentState</a></li>
--   <li><a>spKind</a></li>
--   <li><a>spExpiryTimeMillis</a></li>
--   <li><a>spAutoRenewing</a></li>
--   <li><a>spPriceCurrencyCode</a></li>
--   <li><a>spCancelReason</a></li>
--   <li><a>spCountryCode</a></li>
--   <li><a>spDeveloperPayload</a></li>
--   <li><a>spPriceAmountMicros</a></li>
--   <li><a>spStartTimeMillis</a></li>
--   </ul>
subscriptionPurchase :: SubscriptionPurchase

-- | The payment state of the subscription. Possible values are: - Payment
--   pending - Payment received
spPaymentState :: Lens' SubscriptionPurchase (Maybe Int32)

-- | This kind represents a subscriptionPurchase object in the
--   androidpublisher service.
spKind :: Lens' SubscriptionPurchase Text

-- | Time at which the subscription will expire, in milliseconds since the
--   Epoch.
spExpiryTimeMillis :: Lens' SubscriptionPurchase (Maybe Int64)

-- | Whether the subscription will automatically be renewed when it reaches
--   its current expiry time.
spAutoRenewing :: Lens' SubscriptionPurchase (Maybe Bool)

-- | ISO 4217 currency code for the subscription price. For example, if the
--   price is specified in British pounds sterling, price_currency_code is
--   "GBP".
spPriceCurrencyCode :: Lens' SubscriptionPurchase (Maybe Text)

-- | The reason why a subscription was cancelled or is not auto-renewing.
--   Possible values are: - User cancelled the subscription - Subscription
--   was cancelled by the system, for example because of a billing problem
spCancelReason :: Lens' SubscriptionPurchase (Maybe Int32)

-- | ISO 3166-1 alpha-2 billing country/region code of the user at the time
--   the subscription was granted.
spCountryCode :: Lens' SubscriptionPurchase (Maybe Text)

-- | A developer-specified string that contains supplemental information
--   about an order.
spDeveloperPayload :: Lens' SubscriptionPurchase (Maybe Text)

-- | Price of the subscription, not including tax. Price is expressed in
--   micro-units, where 1,000,000 micro-units represents one unit of the
--   currency. For example, if the subscription price is €1.99,
--   price_amount_micros is 1990000.
spPriceAmountMicros :: Lens' SubscriptionPurchase (Maybe Int64)

-- | Time at which the subscription was granted, in milliseconds since the
--   Epoch.
spStartTimeMillis :: Lens' SubscriptionPurchase (Maybe Int64)
data AppDetails

-- | Creates a value of <a>AppDetails</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>adContactPhone</a></li>
--   <li><a>adContactEmail</a></li>
--   <li><a>adContactWebsite</a></li>
--   <li><a>adDefaultLanguage</a></li>
--   </ul>
appDetails :: AppDetails

-- | The user-visible support telephone number for this app.
adContactPhone :: Lens' AppDetails (Maybe Text)

-- | The user-visible support email for this app.
adContactEmail :: Lens' AppDetails (Maybe Text)

-- | The user-visible website for this app.
adContactWebsite :: Lens' AppDetails (Maybe Text)

-- | Default language code, in BCP 47 format (eg "en-US").
adDefaultLanguage :: Lens' AppDetails (Maybe Text)

-- | Prices per buyer region. None of these prices should be zero. In-app
--   products can never be free.
--   
--   <i>See:</i> <a>inAppProductPrices</a> smart constructor.
data InAppProductPrices

-- | Creates a value of <a>InAppProductPrices</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iAppAddtional</a></li>
--   </ul>
inAppProductPrices :: HashMap Text Price -> InAppProductPrices

-- | Region code, as defined by ISO 3166-2.
iAppAddtional :: Lens' InAppProductPrices (HashMap Text Price)
data InAppProductsBatchRequest

-- | Creates a value of <a>InAppProductsBatchRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iapbrEntrys</a></li>
--   </ul>
inAppProductsBatchRequest :: InAppProductsBatchRequest
iapbrEntrys :: Lens' InAppProductsBatchRequest [InAppProductsBatchRequestEntry]

-- | Defines an APK available for this application that is hosted
--   externally and not uploaded to Google Play. This function is only
--   available to enterprises who are using Google Play for Work, and whos
--   application is restricted to the enterprise private channel
--   
--   <i>See:</i> <a>externallyHostedAPK</a> smart constructor.
data ExternallyHostedAPK

-- | Creates a value of <a>ExternallyHostedAPK</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ehapkApplicationLabel</a></li>
--   <li><a>ehapkMaximumSdk</a></li>
--   <li><a>ehapkNATiveCodes</a></li>
--   <li><a>ehapkVersionCode</a></li>
--   <li><a>ehapkFileSha256Base64</a></li>
--   <li><a>ehapkExternallyHostedURL</a></li>
--   <li><a>ehapkVersionName</a></li>
--   <li><a>ehapkPackageName</a></li>
--   <li><a>ehapkFileSize</a></li>
--   <li><a>ehapkIconBase64</a></li>
--   <li><a>ehapkUsesFeatures</a></li>
--   <li><a>ehapkMinimumSdk</a></li>
--   <li><a>ehapkFileSha1Base64</a></li>
--   <li><a>ehapkUsesPermissions</a></li>
--   <li><a>ehapkCertificateBase64s</a></li>
--   </ul>
externallyHostedAPK :: ExternallyHostedAPK

-- | The application label.
ehapkApplicationLabel :: Lens' ExternallyHostedAPK (Maybe Text)

-- | The maximum SDK supported by this APK (optional).
ehapkMaximumSdk :: Lens' ExternallyHostedAPK (Maybe Int32)

-- | The native code environments supported by this APK (optional).
ehapkNATiveCodes :: Lens' ExternallyHostedAPK [Text]

-- | The version code of this APK.
ehapkVersionCode :: Lens' ExternallyHostedAPK (Maybe Int32)

-- | The SHA256 checksum of this APK, represented as a base64 encoded byte
--   array.
ehapkFileSha256Base64 :: Lens' ExternallyHostedAPK (Maybe Text)

-- | The URL at which the APK is hosted. This must be an https URL.
ehapkExternallyHostedURL :: Lens' ExternallyHostedAPK (Maybe Text)

-- | The version name of this APK.
ehapkVersionName :: Lens' ExternallyHostedAPK (Maybe Text)

-- | The package name.
ehapkPackageName :: Lens' ExternallyHostedAPK (Maybe Text)

-- | The file size in bytes of this APK.
ehapkFileSize :: Lens' ExternallyHostedAPK (Maybe Int64)

-- | The icon image from the APK, as a base64 encoded byte array.
ehapkIconBase64 :: Lens' ExternallyHostedAPK (Maybe Text)

-- | The features required by this APK (optional).
ehapkUsesFeatures :: Lens' ExternallyHostedAPK [Text]

-- | The minimum SDK targeted by this APK.
ehapkMinimumSdk :: Lens' ExternallyHostedAPK (Maybe Int32)

-- | The SHA1 checksum of this APK, represented as a base64 encoded byte
--   array.
ehapkFileSha1Base64 :: Lens' ExternallyHostedAPK (Maybe Text)

-- | The permissions requested by this APK.
ehapkUsesPermissions :: Lens' ExternallyHostedAPK [ExternallyHostedAPKUsesPermission]

-- | A certificate (or array of certificates if a certificate-chain is
--   used) used to signed this APK, represented as a base64 encoded byte
--   array.
ehapkCertificateBase64s :: Lens' ExternallyHostedAPK [Text]
data EditsImagesListImageType

-- | <pre>
--   featureGraphic
--   </pre>
EILITFeatureGraphic :: EditsImagesListImageType

-- | <pre>
--   icon
--   </pre>
EILITIcon :: EditsImagesListImageType

-- | <pre>
--   phoneScreenshots
--   </pre>
EILITPhoneScreenshots :: EditsImagesListImageType

-- | <pre>
--   promoGraphic
--   </pre>
EILITPromoGraphic :: EditsImagesListImageType

-- | <pre>
--   sevenInchScreenshots
--   </pre>
EILITSevenInchScreenshots :: EditsImagesListImageType

-- | <pre>
--   tenInchScreenshots
--   </pre>
EILITTenInchScreenshots :: EditsImagesListImageType

-- | <pre>
--   tvBanner
--   </pre>
EILITTvBanner :: EditsImagesListImageType

-- | <pre>
--   tvScreenshots
--   </pre>
EILITTvScreenshots :: EditsImagesListImageType

-- | <pre>
--   wearScreenshots
--   </pre>
EILITWearScreenshots :: EditsImagesListImageType
data EditsTestersPatchTrack

-- | <pre>
--   alpha
--   </pre>
ETPTAlpha :: EditsTestersPatchTrack

-- | <pre>
--   beta
--   </pre>
ETPTBeta :: EditsTestersPatchTrack

-- | <pre>
--   production
--   </pre>
ETPTProduction :: EditsTestersPatchTrack

-- | <pre>
--   rollout
--   </pre>
ETPTRollout :: EditsTestersPatchTrack
data EditsTestersGetTrack

-- | <pre>
--   alpha
--   </pre>
EAlpha :: EditsTestersGetTrack

-- | <pre>
--   beta
--   </pre>
EBeta :: EditsTestersGetTrack

-- | <pre>
--   production
--   </pre>
EProduction :: EditsTestersGetTrack

-- | <pre>
--   rollout
--   </pre>
ERollout :: EditsTestersGetTrack

-- | Represents a deobfuscation file.
--   
--   <i>See:</i> <a>deobfuscationFile</a> smart constructor.
data DeobfuscationFile

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

-- | The type of the deobfuscation file.
dfSymbolType :: Lens' DeobfuscationFile (Maybe Text)
data VoidedPurchasesListResponse

-- | Creates a value of <a>VoidedPurchasesListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vplrTokenPagination</a></li>
--   <li><a>vplrPageInfo</a></li>
--   <li><a>vplrVoidedPurchases</a></li>
--   </ul>
voidedPurchasesListResponse :: VoidedPurchasesListResponse
vplrTokenPagination :: Lens' VoidedPurchasesListResponse (Maybe TokenPagination)
vplrPageInfo :: Lens' VoidedPurchasesListResponse (Maybe PageInfo)
vplrVoidedPurchases :: Lens' VoidedPurchasesListResponse [VoidedPurchase]
data ExpansionFilesUploadResponse

-- | Creates a value of <a>ExpansionFilesUploadResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>efurExpansionFile</a></li>
--   </ul>
expansionFilesUploadResponse :: ExpansionFilesUploadResponse
efurExpansionFile :: Lens' ExpansionFilesUploadResponse (Maybe ExpansionFile)
data ImagesUploadResponse

-- | Creates a value of <a>ImagesUploadResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iurImage</a></li>
--   </ul>
imagesUploadResponse :: ImagesUploadResponse
iurImage :: Lens' ImagesUploadResponse (Maybe Image)
data EditsImagesUploadImageType

-- | <pre>
--   featureGraphic
--   </pre>
EIUITFeatureGraphic :: EditsImagesUploadImageType

-- | <pre>
--   icon
--   </pre>
EIUITIcon :: EditsImagesUploadImageType

-- | <pre>
--   phoneScreenshots
--   </pre>
EIUITPhoneScreenshots :: EditsImagesUploadImageType

-- | <pre>
--   promoGraphic
--   </pre>
EIUITPromoGraphic :: EditsImagesUploadImageType

-- | <pre>
--   sevenInchScreenshots
--   </pre>
EIUITSevenInchScreenshots :: EditsImagesUploadImageType

-- | <pre>
--   tenInchScreenshots
--   </pre>
EIUITTenInchScreenshots :: EditsImagesUploadImageType

-- | <pre>
--   tvBanner
--   </pre>
EIUITTvBanner :: EditsImagesUploadImageType

-- | <pre>
--   tvScreenshots
--   </pre>
EIUITTvScreenshots :: EditsImagesUploadImageType

-- | <pre>
--   wearScreenshots
--   </pre>
EIUITWearScreenshots :: EditsImagesUploadImageType
data Prorate

-- | Creates a value of <a>Prorate</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pStart</a></li>
--   <li><a>pDefaultPrice</a></li>
--   </ul>
prorate :: Prorate

-- | Defines the first day on which the price takes effect.
pStart :: Lens' Prorate (Maybe MonthDay)

-- | Default price cannot be zero and must be less than the full
--   subscription price. Default price is always in the developer's
--   Checkout merchant currency. Targeted countries have their prices set
--   automatically based on the default_price.
pDefaultPrice :: Lens' Prorate (Maybe Price)
data DeobfuscationFilesUploadResponse

-- | Creates a value of <a>DeobfuscationFilesUploadResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dfurDeobfuscationFile</a></li>
--   </ul>
deobfuscationFilesUploadResponse :: DeobfuscationFilesUploadResponse
dfurDeobfuscationFile :: Lens' DeobfuscationFilesUploadResponse (Maybe DeobfuscationFile)
data InAppProductsListResponse

-- | Creates a value of <a>InAppProductsListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iaplrTokenPagination</a></li>
--   <li><a>iaplrPageInfo</a></li>
--   <li><a>iaplrKind</a></li>
--   <li><a>iaplrInAppProduct</a></li>
--   </ul>
inAppProductsListResponse :: InAppProductsListResponse
iaplrTokenPagination :: Lens' InAppProductsListResponse (Maybe TokenPagination)
iaplrPageInfo :: Lens' InAppProductsListResponse (Maybe PageInfo)

-- | Identifies what kind of resource this is. Value: the fixed string
--   "androidpublisher#inappproductsListResponse".
iaplrKind :: Lens' InAppProductsListResponse Text
iaplrInAppProduct :: Lens' InAppProductsListResponse [InAppProduct]
data EditsDeobfuscationFilesUploadDeobfuscationFileType

-- | <pre>
--   proguard
--   </pre>
Proguard :: EditsDeobfuscationFilesUploadDeobfuscationFileType
data EditsExpansionFilesUploadExpansionFileType

-- | <pre>
--   main
--   </pre>
Main :: EditsExpansionFilesUploadExpansionFileType

-- | <pre>
--   patch
--   </pre>
Patch' :: EditsExpansionFilesUploadExpansionFileType
data APKListingsListResponse

-- | Creates a value of <a>APKListingsListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>apkllrKind</a></li>
--   <li><a>apkllrListings</a></li>
--   </ul>
aPKListingsListResponse :: APKListingsListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "androidpublisher#apkListingsListResponse".
apkllrKind :: Lens' APKListingsListResponse Text
apkllrListings :: Lens' APKListingsListResponse [APKListing]
data Review

-- | Creates a value of <a>Review</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rReviewId</a></li>
--   <li><a>rAuthorName</a></li>
--   <li><a>rComments</a></li>
--   </ul>
review :: Review

-- | Unique identifier for this review.
rReviewId :: Lens' Review (Maybe Text)

-- | The name of the user who wrote the review.
rAuthorName :: Lens' Review (Maybe Text)

-- | A repeated field containing comments for the review.
rComments :: Lens' Review [Comment]
data InAppProductsInsertResponse

-- | Creates a value of <a>InAppProductsInsertResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iapirInAppProduct</a></li>
--   </ul>
inAppProductsInsertResponse :: InAppProductsInsertResponse
iapirInAppProduct :: Lens' InAppProductsInsertResponse (Maybe InAppProduct)
data APKsAddExternallyHostedResponse

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

-- | The definition of the externally-hosted APK and where it is located.
apkaehrExternallyHostedAPK :: Lens' APKsAddExternallyHostedResponse (Maybe ExternallyHostedAPK)

-- | A SubscriptionDeferralInfo contains the data needed to defer a
--   subscription purchase to a future expiry time.
--   
--   <i>See:</i> <a>subscriptionDeferralInfo</a> smart constructor.
data SubscriptionDeferralInfo

-- | Creates a value of <a>SubscriptionDeferralInfo</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sdiDesiredExpiryTimeMillis</a></li>
--   <li><a>sdiExpectedExpiryTimeMillis</a></li>
--   </ul>
subscriptionDeferralInfo :: SubscriptionDeferralInfo

-- | The desired next expiry time to assign to the subscription, in
--   milliseconds since the Epoch. The given time must be later/greater
--   than the current expiry time for the subscription.
sdiDesiredExpiryTimeMillis :: Lens' SubscriptionDeferralInfo (Maybe Int64)

-- | The expected expiry time for the subscription. If the current expiry
--   time for the subscription is not the value specified here, the
--   deferral will not occur.
sdiExpectedExpiryTimeMillis :: Lens' SubscriptionDeferralInfo (Maybe Int64)
data EditsExpansionFilesGetExpansionFileType

-- | <pre>
--   main
--   </pre>
EEFGEFTMain :: EditsExpansionFilesGetExpansionFileType

-- | <pre>
--   patch
--   </pre>
EEFGEFTPatch' :: EditsExpansionFilesGetExpansionFileType
data ReviewsReplyRequest

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

-- | The text to set as the reply. Replies of more than approximately 350
--   characters will be rejected. HTML tags will be stripped.
rrrReplyText :: Lens' ReviewsReplyRequest (Maybe Text)
data EditsExpansionFilesPatchExpansionFileType

-- | <pre>
--   main
--   </pre>
EEFPEFTMain :: EditsExpansionFilesPatchExpansionFileType

-- | <pre>
--   patch
--   </pre>
EEFPEFTPatch' :: EditsExpansionFilesPatchExpansionFileType
data EditsExpansionFilesUpdateExpansionFileType

-- | <pre>
--   main
--   </pre>
EEFUEFTMain :: EditsExpansionFilesUpdateExpansionFileType

-- | <pre>
--   patch
--   </pre>
EEFUEFTPatch' :: EditsExpansionFilesUpdateExpansionFileType
data DeviceMetadata

-- | Creates a value of <a>DeviceMetadata</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dmProductName</a></li>
--   <li><a>dmGlEsVersion</a></li>
--   <li><a>dmManufacturer</a></li>
--   <li><a>dmScreenWidthPx</a></li>
--   <li><a>dmRamMb</a></li>
--   <li><a>dmCPUMake</a></li>
--   <li><a>dmScreenHeightPx</a></li>
--   <li><a>dmNATivePlatform</a></li>
--   <li><a>dmDeviceClass</a></li>
--   <li><a>dmCPUModel</a></li>
--   <li><a>dmScreenDensityDpi</a></li>
--   </ul>
deviceMetadata :: DeviceMetadata

-- | Device model name (e.g. Droid)
dmProductName :: Lens' DeviceMetadata (Maybe Text)

-- | OpenGL version
dmGlEsVersion :: Lens' DeviceMetadata (Maybe Int32)

-- | Device manufacturer (e.g. Motorola)
dmManufacturer :: Lens' DeviceMetadata (Maybe Text)

-- | Screen width in pixels
dmScreenWidthPx :: Lens' DeviceMetadata (Maybe Int32)

-- | Device RAM in Megabytes e.g. "2048"
dmRamMb :: Lens' DeviceMetadata (Maybe Int32)

-- | Device CPU make e.g. "Qualcomm"
dmCPUMake :: Lens' DeviceMetadata (Maybe Text)

-- | Screen height in pixels
dmScreenHeightPx :: Lens' DeviceMetadata (Maybe Int32)

-- | Comma separated list of native platforms (e.g. "arm", "arm7")
dmNATivePlatform :: Lens' DeviceMetadata (Maybe Text)

-- | Device class (e.g. tablet)
dmDeviceClass :: Lens' DeviceMetadata (Maybe Text)

-- | Device CPU model e.g. "MSM8974"
dmCPUModel :: Lens' DeviceMetadata (Maybe Text)

-- | Screen density in DPI
dmScreenDensityDpi :: Lens' DeviceMetadata (Maybe Int32)
data DeveloperComment

-- | Creates a value of <a>DeveloperComment</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcText</a></li>
--   <li><a>dcLastModified</a></li>
--   </ul>
developerComment :: DeveloperComment

-- | The content of the comment, i.e. reply body.
dcText :: Lens' DeveloperComment (Maybe Text)

-- | The last time at which this comment was updated.
dcLastModified :: Lens' DeveloperComment (Maybe Timestamp)
data InAppProduct

-- | Creates a value of <a>InAppProduct</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iapStatus</a></li>
--   <li><a>iapTrialPeriod</a></li>
--   <li><a>iapPackageName</a></li>
--   <li><a>iapSeason</a></li>
--   <li><a>iapPurchaseType</a></li>
--   <li><a>iapSubscriptionPeriod</a></li>
--   <li><a>iapPrices</a></li>
--   <li><a>iapSKU</a></li>
--   <li><a>iapDefaultPrice</a></li>
--   <li><a>iapListings</a></li>
--   <li><a>iapDefaultLanguage</a></li>
--   </ul>
inAppProduct :: InAppProduct
iapStatus :: Lens' InAppProduct (Maybe Text)

-- | Trial period, specified in ISO 8601 format. Acceptable values are
--   anything between "P7D" (seven days) and "P999D" (999 days). Seasonal
--   subscriptions cannot have a trial period.
iapTrialPeriod :: Lens' InAppProduct (Maybe Text)

-- | The package name of the parent app.
iapPackageName :: Lens' InAppProduct (Maybe Text)

-- | Definition of a season for a seasonal subscription. Can be defined
--   only for yearly subscriptions.
iapSeason :: Lens' InAppProduct (Maybe Season)

-- | Purchase type enum value. Unmodifiable after creation.
iapPurchaseType :: Lens' InAppProduct (Maybe Text)

-- | Subscription period, specified in ISO 8601 format. Acceptable values
--   are "P1W" (one week), "P1M" (one month), "P3M" (three months), "P6M"
--   (six months), and "P1Y" (one year).
iapSubscriptionPeriod :: Lens' InAppProduct (Maybe Text)

-- | Prices per buyer region. None of these prices should be zero. In-app
--   products can never be free.
iapPrices :: Lens' InAppProduct (Maybe InAppProductPrices)

-- | The stock-keeping-unit (SKU) of the product, unique within an app.
iapSKU :: Lens' InAppProduct (Maybe Text)

-- | Default price cannot be zero. In-app products can never be free.
--   Default price is always in the developer's Checkout merchant currency.
iapDefaultPrice :: Lens' InAppProduct (Maybe Price)

-- | List of localized title and description data.
iapListings :: Lens' InAppProduct (Maybe InAppProductListings)

-- | The default language of the localized data, as defined by BCP 47. e.g.
--   "en-US", "en-GB".
iapDefaultLanguage :: Lens' InAppProduct (Maybe Text)
data InAppProductsBatchResponseEntry

-- | Creates a value of <a>InAppProductsBatchResponseEntry</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iInAppProductsupdateresponse</a></li>
--   <li><a>iInAppProductsinsertresponse</a></li>
--   <li><a>iBatchId</a></li>
--   </ul>
inAppProductsBatchResponseEntry :: InAppProductsBatchResponseEntry
iInAppProductsupdateresponse :: Lens' InAppProductsBatchResponseEntry (Maybe InAppProductsUpdateResponse)
iInAppProductsinsertresponse :: Lens' InAppProductsBatchResponseEntry (Maybe InAppProductsInsertResponse)
iBatchId :: Lens' InAppProductsBatchResponseEntry (Maybe Word32)
data Price

-- | Creates a value of <a>Price</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pPriceMicros</a></li>
--   <li><a>pCurrency</a></li>
--   </ul>
price :: Price

-- | The price in millionths of the currency base unit represented as a
--   string.
pPriceMicros :: Lens' Price (Maybe Text)

-- | 3 letter Currency code, as defined by ISO 4217.
pCurrency :: Lens' Price (Maybe Text)
data EditsImagesDeleteImageType

-- | <pre>
--   featureGraphic
--   </pre>
EIDITFeatureGraphic :: EditsImagesDeleteImageType

-- | <pre>
--   icon
--   </pre>
EIDITIcon :: EditsImagesDeleteImageType

-- | <pre>
--   phoneScreenshots
--   </pre>
EIDITPhoneScreenshots :: EditsImagesDeleteImageType

-- | <pre>
--   promoGraphic
--   </pre>
EIDITPromoGraphic :: EditsImagesDeleteImageType

-- | <pre>
--   sevenInchScreenshots
--   </pre>
EIDITSevenInchScreenshots :: EditsImagesDeleteImageType

-- | <pre>
--   tenInchScreenshots
--   </pre>
EIDITTenInchScreenshots :: EditsImagesDeleteImageType

-- | <pre>
--   tvBanner
--   </pre>
EIDITTvBanner :: EditsImagesDeleteImageType

-- | <pre>
--   tvScreenshots
--   </pre>
EIDITTvScreenshots :: EditsImagesDeleteImageType

-- | <pre>
--   wearScreenshots
--   </pre>
EIDITWearScreenshots :: EditsImagesDeleteImageType

-- | Represents the binary payload of an APK.
--   
--   <i>See:</i> <a>aPKBinary</a> smart constructor.
data APKBinary

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

-- | A sha1 hash of the APK payload, encoded as a hex string and matching
--   the output of the sha1sum command.
apkbSha1 :: Lens' APKBinary (Maybe Text)
data APKsListResponse

-- | Creates a value of <a>APKsListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>apklrKind</a></li>
--   <li><a>apklrAPKs</a></li>
--   </ul>
aPKsListResponse :: APKsListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "androidpublisher#apksListResponse".
apklrKind :: Lens' APKsListResponse Text
apklrAPKs :: Lens' APKsListResponse [APK]
data ReviewsReplyResponse

-- | Creates a value of <a>ReviewsReplyResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rrrResult</a></li>
--   </ul>
reviewsReplyResponse :: ReviewsReplyResponse
rrrResult :: Lens' ReviewsReplyResponse (Maybe ReviewReplyResult)

-- | A permission used by this APK.
--   
--   <i>See:</i> <a>externallyHostedAPKUsesPermission</a> smart
--   constructor.
data ExternallyHostedAPKUsesPermission

-- | Creates a value of <a>ExternallyHostedAPKUsesPermission</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ehapkupName</a></li>
--   <li><a>ehapkupMaxSdkVersion</a></li>
--   </ul>
externallyHostedAPKUsesPermission :: ExternallyHostedAPKUsesPermission

-- | The name of the permission requested.
ehapkupName :: Lens' ExternallyHostedAPKUsesPermission (Maybe Text)

-- | Optionally, the maximum SDK version for which the permission is
--   required.
ehapkupMaxSdkVersion :: Lens' ExternallyHostedAPKUsesPermission (Maybe Int32)
data ListingsListResponse

-- | Creates a value of <a>ListingsListResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>llrKind</a></li>
--   <li><a>llrListings</a></li>
--   </ul>
listingsListResponse :: ListingsListResponse

-- | Identifies what kind of resource this is. Value: the fixed string
--   "androidpublisher#listingsListResponse".
llrKind :: Lens' ListingsListResponse Text
llrListings :: Lens' ListingsListResponse [Listing]
data APKsAddExternallyHostedRequest

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

-- | The definition of the externally-hosted APK and where it is located.
aExternallyHostedAPK :: Lens' APKsAddExternallyHostedRequest (Maybe ExternallyHostedAPK)
data InAppProductsInsertRequest

-- | Creates a value of <a>InAppProductsInsertRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iInAppProduct</a></li>
--   </ul>
inAppProductsInsertRequest :: InAppProductsInsertRequest
iInAppProduct :: Lens' InAppProductsInsertRequest (Maybe InAppProduct)
data EntitlementsListResponse

-- | Creates a value of <a>EntitlementsListResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>elrTokenPagination</a></li>
--   <li><a>elrPageInfo</a></li>
--   <li><a>elrResources</a></li>
--   </ul>
entitlementsListResponse :: EntitlementsListResponse
elrTokenPagination :: Lens' EntitlementsListResponse (Maybe TokenPagination)
elrPageInfo :: Lens' EntitlementsListResponse (Maybe PageInfo)
elrResources :: Lens' EntitlementsListResponse [Entitlement]
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>cUserComment</a></li>
--   <li><a>cDeveloperComment</a></li>
--   </ul>
comment :: Comment

-- | A comment from a user.
cUserComment :: Lens' Comment (Maybe UserComment)

-- | A comment from a developer.
cDeveloperComment :: Lens' Comment (Maybe DeveloperComment)
data EditsTestersUpdateTrack

-- | <pre>
--   alpha
--   </pre>
EDIAlpha :: EditsTestersUpdateTrack

-- | <pre>
--   beta
--   </pre>
EDIBeta :: EditsTestersUpdateTrack

-- | <pre>
--   production
--   </pre>
EDIProduction :: EditsTestersUpdateTrack

-- | <pre>
--   rollout
--   </pre>
EDIRollout :: EditsTestersUpdateTrack
data InAppProductsUpdateRequest

-- | Creates a value of <a>InAppProductsUpdateRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>inInAppProduct</a></li>
--   </ul>
inAppProductsUpdateRequest :: InAppProductsUpdateRequest
inInAppProduct :: Lens' InAppProductsUpdateRequest (Maybe InAppProduct)
data Timestamp

-- | Creates a value of <a>Timestamp</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tNanos</a></li>
--   <li><a>tSeconds</a></li>
--   </ul>
timestamp :: Timestamp
tNanos :: Lens' Timestamp (Maybe Int32)
tSeconds :: Lens' Timestamp (Maybe Int64)

-- | A VoidedPurchase resource indicates a purchase that was either
--   cancelled/refunded/charged-back.
--   
--   <i>See:</i> <a>voidedPurchase</a> smart constructor.
data VoidedPurchase

-- | Creates a value of <a>VoidedPurchase</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vpKind</a></li>
--   <li><a>vpPurchaseTimeMillis</a></li>
--   <li><a>vpPurchaseToken</a></li>
--   <li><a>vpVoidedTimeMillis</a></li>
--   </ul>
voidedPurchase :: VoidedPurchase

-- | This kind represents a voided purchase object in the androidpublisher
--   service.
vpKind :: Lens' VoidedPurchase Text

-- | The time at which the purchase was made, in milliseconds since the
--   epoch (Jan 1, 1970).
vpPurchaseTimeMillis :: Lens' VoidedPurchase (Maybe Int64)

-- | The token that was generated when a purchase was made. This uniquely
--   identifies a purchase.
vpPurchaseToken :: Lens' VoidedPurchase (Maybe Text)

-- | The time at which the purchase was cancelled/refunded/charged-back, in
--   milliseconds since the epoch (Jan 1, 1970).
vpVoidedTimeMillis :: Lens' VoidedPurchase (Maybe Int64)
data ReviewReplyResult

-- | Creates a value of <a>ReviewReplyResult</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rReplyText</a></li>
--   <li><a>rLastEdited</a></li>
--   </ul>
reviewReplyResult :: ReviewReplyResult

-- | The reply text that was applied.
rReplyText :: Lens' ReviewReplyResult (Maybe Text)

-- | The time at which the reply took effect.
rLastEdited :: Lens' ReviewReplyResult (Maybe Timestamp)

-- | An Entitlement resource indicates a user's current entitlement to an
--   inapp item or subscription.
--   
--   <i>See:</i> <a>entitlement</a> smart constructor.
data Entitlement

-- | Creates a value of <a>Entitlement</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eKind</a></li>
--   <li><a>eProductType</a></li>
--   <li><a>eToken</a></li>
--   <li><a>eProductId</a></li>
--   </ul>
entitlement :: Entitlement

-- | This kind represents an entitlement object in the androidpublisher
--   service.
eKind :: Lens' Entitlement Text

-- | The type of the inapp product. Possible values are: - In-app item:
--   "inapp" - Subscription: "subs"
eProductType :: Lens' Entitlement (Maybe Text)

-- | The token which can be verified using the subscriptions or products
--   API.
eToken :: Lens' Entitlement (Maybe Text)

-- | The SKU of the product.
eProductId :: Lens' Entitlement (Maybe Text)
data InAppProductsBatchResponse

-- | Creates a value of <a>InAppProductsBatchResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iEntrys</a></li>
--   <li><a>iKind</a></li>
--   </ul>
inAppProductsBatchResponse :: InAppProductsBatchResponse
iEntrys :: Lens' InAppProductsBatchResponse [InAppProductsBatchResponseEntry]

-- | Identifies what kind of resource this is. Value: the fixed string
--   "androidpublisher#inappproductsBatchResponse".
iKind :: Lens' InAppProductsBatchResponse Text
