packages feed

gogol-cloudidentity 0.5.0 → 1.0.0

raw patch · 81 files changed

+15706/−3378 lines, 81 filesdep −basedep ~gogol-coresetup-changed

Dependencies removed: base

Dependency ranges changed: gogol-core

Files

README.md view
@@ -8,7 +8,7 @@  ## Version -`0.5.0`+`1.0.0`   ## Description
Setup.hs view
@@ -1,2 +1,3 @@-import           Distribution.Simple+import Distribution.Simple+ main = defaultMain
+ gen/Gogol/CloudIdentity.hs view
@@ -0,0 +1,977 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- API for provisioning and managing identity resources.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference>+module Gogol.CloudIdentity+  ( -- * Configuration+    cloudIdentityService,++    -- * OAuth Scopes+    CloudIdentity'Devices,+    CloudIdentity'Devices'Lookup,+    CloudIdentity'Devices'Readonly,+    CloudIdentity'Groups,+    CloudIdentity'Groups'Readonly,+    CloudIdentity'Inboundsso,+    CloudIdentity'Inboundsso'Readonly,+    CloudIdentity'Policies,+    CloudIdentity'Policies'Readonly,+    CloudPlatform'FullControl,++    -- * Resources++    -- ** cloudidentity.customers.userinvitations.cancel+    CloudIdentityCustomersUserinvitationsCancelResource,+    CloudIdentityCustomersUserinvitationsCancel (..),+    newCloudIdentityCustomersUserinvitationsCancel,++    -- ** cloudidentity.customers.userinvitations.get+    CloudIdentityCustomersUserinvitationsGetResource,+    CloudIdentityCustomersUserinvitationsGet (..),+    newCloudIdentityCustomersUserinvitationsGet,++    -- ** cloudidentity.customers.userinvitations.isInvitableUser+    CloudIdentityCustomersUserinvitationsIsInvitableUserResource,+    CloudIdentityCustomersUserinvitationsIsInvitableUser (..),+    newCloudIdentityCustomersUserinvitationsIsInvitableUser,++    -- ** cloudidentity.customers.userinvitations.list+    CloudIdentityCustomersUserinvitationsListResource,+    CloudIdentityCustomersUserinvitationsList (..),+    newCloudIdentityCustomersUserinvitationsList,++    -- ** cloudidentity.customers.userinvitations.send+    CloudIdentityCustomersUserinvitationsSendResource,+    CloudIdentityCustomersUserinvitationsSend (..),+    newCloudIdentityCustomersUserinvitationsSend,++    -- ** cloudidentity.devices.cancelWipe+    CloudIdentityDevicesCancelWipeResource,+    CloudIdentityDevicesCancelWipe (..),+    newCloudIdentityDevicesCancelWipe,++    -- ** cloudidentity.devices.create+    CloudIdentityDevicesCreateResource,+    CloudIdentityDevicesCreate (..),+    newCloudIdentityDevicesCreate,++    -- ** cloudidentity.devices.delete+    CloudIdentityDevicesDeleteResource,+    CloudIdentityDevicesDelete (..),+    newCloudIdentityDevicesDelete,++    -- ** cloudidentity.devices.deviceUsers.approve+    CloudIdentityDevicesDeviceUsersApproveResource,+    CloudIdentityDevicesDeviceUsersApprove (..),+    newCloudIdentityDevicesDeviceUsersApprove,++    -- ** cloudidentity.devices.deviceUsers.block+    CloudIdentityDevicesDeviceUsersBlockResource,+    CloudIdentityDevicesDeviceUsersBlock (..),+    newCloudIdentityDevicesDeviceUsersBlock,++    -- ** cloudidentity.devices.deviceUsers.cancelWipe+    CloudIdentityDevicesDeviceUsersCancelWipeResource,+    CloudIdentityDevicesDeviceUsersCancelWipe (..),+    newCloudIdentityDevicesDeviceUsersCancelWipe,++    -- ** cloudidentity.devices.deviceUsers.clientStates.get+    CloudIdentityDevicesDeviceUsersClientStatesGetResource,+    CloudIdentityDevicesDeviceUsersClientStatesGet (..),+    newCloudIdentityDevicesDeviceUsersClientStatesGet,++    -- ** cloudidentity.devices.deviceUsers.clientStates.list+    CloudIdentityDevicesDeviceUsersClientStatesListResource,+    CloudIdentityDevicesDeviceUsersClientStatesList (..),+    newCloudIdentityDevicesDeviceUsersClientStatesList,++    -- ** cloudidentity.devices.deviceUsers.clientStates.patch+    CloudIdentityDevicesDeviceUsersClientStatesPatchResource,+    CloudIdentityDevicesDeviceUsersClientStatesPatch (..),+    newCloudIdentityDevicesDeviceUsersClientStatesPatch,++    -- ** cloudidentity.devices.deviceUsers.delete+    CloudIdentityDevicesDeviceUsersDeleteResource,+    CloudIdentityDevicesDeviceUsersDelete (..),+    newCloudIdentityDevicesDeviceUsersDelete,++    -- ** cloudidentity.devices.deviceUsers.get+    CloudIdentityDevicesDeviceUsersGetResource,+    CloudIdentityDevicesDeviceUsersGet (..),+    newCloudIdentityDevicesDeviceUsersGet,++    -- ** cloudidentity.devices.deviceUsers.list+    CloudIdentityDevicesDeviceUsersListResource,+    CloudIdentityDevicesDeviceUsersList (..),+    newCloudIdentityDevicesDeviceUsersList,++    -- ** cloudidentity.devices.deviceUsers.lookup+    CloudIdentityDevicesDeviceUsersLookupResource,+    CloudIdentityDevicesDeviceUsersLookup (..),+    newCloudIdentityDevicesDeviceUsersLookup,++    -- ** cloudidentity.devices.deviceUsers.wipe+    CloudIdentityDevicesDeviceUsersWipeResource,+    CloudIdentityDevicesDeviceUsersWipe (..),+    newCloudIdentityDevicesDeviceUsersWipe,++    -- ** cloudidentity.devices.get+    CloudIdentityDevicesGetResource,+    CloudIdentityDevicesGet (..),+    newCloudIdentityDevicesGet,++    -- ** cloudidentity.devices.list+    CloudIdentityDevicesListResource,+    CloudIdentityDevicesList (..),+    newCloudIdentityDevicesList,++    -- ** cloudidentity.devices.wipe+    CloudIdentityDevicesWipeResource,+    CloudIdentityDevicesWipe (..),+    newCloudIdentityDevicesWipe,++    -- ** cloudidentity.groups.create+    CloudIdentityGroupsCreateResource,+    CloudIdentityGroupsCreate (..),+    newCloudIdentityGroupsCreate,++    -- ** cloudidentity.groups.delete+    CloudIdentityGroupsDeleteResource,+    CloudIdentityGroupsDelete (..),+    newCloudIdentityGroupsDelete,++    -- ** cloudidentity.groups.get+    CloudIdentityGroupsGetResource,+    CloudIdentityGroupsGet (..),+    newCloudIdentityGroupsGet,++    -- ** cloudidentity.groups.getSecuritySettings+    CloudIdentityGroupsGetSecuritySettingsResource,+    CloudIdentityGroupsGetSecuritySettings (..),+    newCloudIdentityGroupsGetSecuritySettings,++    -- ** cloudidentity.groups.list+    CloudIdentityGroupsListResource,+    CloudIdentityGroupsList (..),+    newCloudIdentityGroupsList,++    -- ** cloudidentity.groups.lookup+    CloudIdentityGroupsLookupResource,+    CloudIdentityGroupsLookup (..),+    newCloudIdentityGroupsLookup,++    -- ** cloudidentity.groups.memberships.checkTransitiveMembership+    CloudIdentityGroupsMembershipsCheckTransitiveMembershipResource,+    CloudIdentityGroupsMembershipsCheckTransitiveMembership (..),+    newCloudIdentityGroupsMembershipsCheckTransitiveMembership,++    -- ** cloudidentity.groups.memberships.create+    CloudIdentityGroupsMembershipsCreateResource,+    CloudIdentityGroupsMembershipsCreate (..),+    newCloudIdentityGroupsMembershipsCreate,++    -- ** cloudidentity.groups.memberships.delete+    CloudIdentityGroupsMembershipsDeleteResource,+    CloudIdentityGroupsMembershipsDelete (..),+    newCloudIdentityGroupsMembershipsDelete,++    -- ** cloudidentity.groups.memberships.get+    CloudIdentityGroupsMembershipsGetResource,+    CloudIdentityGroupsMembershipsGet (..),+    newCloudIdentityGroupsMembershipsGet,++    -- ** cloudidentity.groups.memberships.getMembershipGraph+    CloudIdentityGroupsMembershipsGetMembershipGraphResource,+    CloudIdentityGroupsMembershipsGetMembershipGraph (..),+    newCloudIdentityGroupsMembershipsGetMembershipGraph,++    -- ** cloudidentity.groups.memberships.list+    CloudIdentityGroupsMembershipsListResource,+    CloudIdentityGroupsMembershipsList (..),+    newCloudIdentityGroupsMembershipsList,++    -- ** cloudidentity.groups.memberships.lookup+    CloudIdentityGroupsMembershipsLookupResource,+    CloudIdentityGroupsMembershipsLookup (..),+    newCloudIdentityGroupsMembershipsLookup,++    -- ** cloudidentity.groups.memberships.modifyMembershipRoles+    CloudIdentityGroupsMembershipsModifyMembershipRolesResource,+    CloudIdentityGroupsMembershipsModifyMembershipRoles (..),+    newCloudIdentityGroupsMembershipsModifyMembershipRoles,++    -- ** cloudidentity.groups.memberships.searchDirectGroups+    CloudIdentityGroupsMembershipsSearchDirectGroupsResource,+    CloudIdentityGroupsMembershipsSearchDirectGroups (..),+    newCloudIdentityGroupsMembershipsSearchDirectGroups,++    -- ** cloudidentity.groups.memberships.searchTransitiveGroups+    CloudIdentityGroupsMembershipsSearchTransitiveGroupsResource,+    CloudIdentityGroupsMembershipsSearchTransitiveGroups (..),+    newCloudIdentityGroupsMembershipsSearchTransitiveGroups,++    -- ** cloudidentity.groups.memberships.searchTransitiveMemberships+    CloudIdentityGroupsMembershipsSearchTransitiveMembershipsResource,+    CloudIdentityGroupsMembershipsSearchTransitiveMemberships (..),+    newCloudIdentityGroupsMembershipsSearchTransitiveMemberships,++    -- ** cloudidentity.groups.patch+    CloudIdentityGroupsPatchResource,+    CloudIdentityGroupsPatch (..),+    newCloudIdentityGroupsPatch,++    -- ** cloudidentity.groups.search+    CloudIdentityGroupsSearchResource,+    CloudIdentityGroupsSearch (..),+    newCloudIdentityGroupsSearch,++    -- ** cloudidentity.groups.updateSecuritySettings+    CloudIdentityGroupsUpdateSecuritySettingsResource,+    CloudIdentityGroupsUpdateSecuritySettings (..),+    newCloudIdentityGroupsUpdateSecuritySettings,++    -- ** cloudidentity.inboundSamlSsoProfiles.create+    CloudIdentityInboundSamlSsoProfilesCreateResource,+    CloudIdentityInboundSamlSsoProfilesCreate (..),+    newCloudIdentityInboundSamlSsoProfilesCreate,++    -- ** cloudidentity.inboundSamlSsoProfiles.delete+    CloudIdentityInboundSamlSsoProfilesDeleteResource,+    CloudIdentityInboundSamlSsoProfilesDelete (..),+    newCloudIdentityInboundSamlSsoProfilesDelete,++    -- ** cloudidentity.inboundSamlSsoProfiles.get+    CloudIdentityInboundSamlSsoProfilesGetResource,+    CloudIdentityInboundSamlSsoProfilesGet (..),+    newCloudIdentityInboundSamlSsoProfilesGet,++    -- ** cloudidentity.inboundSamlSsoProfiles.idpCredentials.add+    CloudIdentityInboundSamlSsoProfilesIdpCredentialsAddResource,+    CloudIdentityInboundSamlSsoProfilesIdpCredentialsAdd (..),+    newCloudIdentityInboundSamlSsoProfilesIdpCredentialsAdd,++    -- ** cloudidentity.inboundSamlSsoProfiles.idpCredentials.delete+    CloudIdentityInboundSamlSsoProfilesIdpCredentialsDeleteResource,+    CloudIdentityInboundSamlSsoProfilesIdpCredentialsDelete (..),+    newCloudIdentityInboundSamlSsoProfilesIdpCredentialsDelete,++    -- ** cloudidentity.inboundSamlSsoProfiles.idpCredentials.get+    CloudIdentityInboundSamlSsoProfilesIdpCredentialsGetResource,+    CloudIdentityInboundSamlSsoProfilesIdpCredentialsGet (..),+    newCloudIdentityInboundSamlSsoProfilesIdpCredentialsGet,++    -- ** cloudidentity.inboundSamlSsoProfiles.idpCredentials.list+    CloudIdentityInboundSamlSsoProfilesIdpCredentialsListResource,+    CloudIdentityInboundSamlSsoProfilesIdpCredentialsList (..),+    newCloudIdentityInboundSamlSsoProfilesIdpCredentialsList,++    -- ** cloudidentity.inboundSamlSsoProfiles.list+    CloudIdentityInboundSamlSsoProfilesListResource,+    CloudIdentityInboundSamlSsoProfilesList (..),+    newCloudIdentityInboundSamlSsoProfilesList,++    -- ** cloudidentity.inboundSamlSsoProfiles.patch+    CloudIdentityInboundSamlSsoProfilesPatchResource,+    CloudIdentityInboundSamlSsoProfilesPatch (..),+    newCloudIdentityInboundSamlSsoProfilesPatch,++    -- ** cloudidentity.inboundSsoAssignments.create+    CloudIdentityInboundSsoAssignmentsCreateResource,+    CloudIdentityInboundSsoAssignmentsCreate (..),+    newCloudIdentityInboundSsoAssignmentsCreate,++    -- ** cloudidentity.inboundSsoAssignments.delete+    CloudIdentityInboundSsoAssignmentsDeleteResource,+    CloudIdentityInboundSsoAssignmentsDelete (..),+    newCloudIdentityInboundSsoAssignmentsDelete,++    -- ** cloudidentity.inboundSsoAssignments.get+    CloudIdentityInboundSsoAssignmentsGetResource,+    CloudIdentityInboundSsoAssignmentsGet (..),+    newCloudIdentityInboundSsoAssignmentsGet,++    -- ** cloudidentity.inboundSsoAssignments.list+    CloudIdentityInboundSsoAssignmentsListResource,+    CloudIdentityInboundSsoAssignmentsList (..),+    newCloudIdentityInboundSsoAssignmentsList,++    -- ** cloudidentity.inboundSsoAssignments.patch+    CloudIdentityInboundSsoAssignmentsPatchResource,+    CloudIdentityInboundSsoAssignmentsPatch (..),+    newCloudIdentityInboundSsoAssignmentsPatch,++    -- ** cloudidentity.policies.get+    CloudIdentityPoliciesGetResource,+    CloudIdentityPoliciesGet (..),+    newCloudIdentityPoliciesGet,++    -- ** cloudidentity.policies.list+    CloudIdentityPoliciesListResource,+    CloudIdentityPoliciesList (..),+    newCloudIdentityPoliciesList,++    -- * Types++    -- ** Xgafv+    Xgafv (..),++    -- ** AddIdpCredentialOperationMetadata+    AddIdpCredentialOperationMetadata (..),+    newAddIdpCredentialOperationMetadata,++    -- ** AddIdpCredentialRequest+    AddIdpCredentialRequest (..),+    newAddIdpCredentialRequest,++    -- ** CancelUserInvitationRequest+    CancelUserInvitationRequest (..),+    newCancelUserInvitationRequest,++    -- ** CheckTransitiveMembershipResponse+    CheckTransitiveMembershipResponse (..),+    newCheckTransitiveMembershipResponse,++    -- ** CreateGroupMetadata+    CreateGroupMetadata (..),+    newCreateGroupMetadata,++    -- ** CreateInboundSamlSsoProfileOperationMetadata+    CreateInboundSamlSsoProfileOperationMetadata (..),+    newCreateInboundSamlSsoProfileOperationMetadata,++    -- ** CreateInboundSsoAssignmentOperationMetadata+    CreateInboundSsoAssignmentOperationMetadata (..),+    newCreateInboundSsoAssignmentOperationMetadata,++    -- ** CreateMembershipMetadata+    CreateMembershipMetadata (..),+    newCreateMembershipMetadata,++    -- ** DeleteGroupMetadata+    DeleteGroupMetadata (..),+    newDeleteGroupMetadata,++    -- ** DeleteIdpCredentialOperationMetadata+    DeleteIdpCredentialOperationMetadata (..),+    newDeleteIdpCredentialOperationMetadata,++    -- ** DeleteInboundSamlSsoProfileOperationMetadata+    DeleteInboundSamlSsoProfileOperationMetadata (..),+    newDeleteInboundSamlSsoProfileOperationMetadata,++    -- ** DeleteInboundSsoAssignmentOperationMetadata+    DeleteInboundSsoAssignmentOperationMetadata (..),+    newDeleteInboundSsoAssignmentOperationMetadata,++    -- ** DeleteMembershipMetadata+    DeleteMembershipMetadata (..),+    newDeleteMembershipMetadata,++    -- ** DsaPublicKeyInfo+    DsaPublicKeyInfo (..),+    newDsaPublicKeyInfo,++    -- ** DynamicGroupMetadata+    DynamicGroupMetadata (..),+    newDynamicGroupMetadata,++    -- ** DynamicGroupQuery+    DynamicGroupQuery (..),+    newDynamicGroupQuery,++    -- ** DynamicGroupQuery_ResourceType+    DynamicGroupQuery_ResourceType (..),++    -- ** DynamicGroupStatus+    DynamicGroupStatus (..),+    newDynamicGroupStatus,++    -- ** DynamicGroupStatus_Status+    DynamicGroupStatus_Status (..),++    -- ** EntityKey+    EntityKey (..),+    newEntityKey,++    -- ** ExpiryDetail+    ExpiryDetail (..),+    newExpiryDetail,++    -- ** GetMembershipGraphMetadata+    GetMembershipGraphMetadata (..),+    newGetMembershipGraphMetadata,++    -- ** GetMembershipGraphResponse+    GetMembershipGraphResponse (..),+    newGetMembershipGraphResponse,++    -- ** GoogleAppsCloudidentityDevicesV1AndroidAttributes+    GoogleAppsCloudidentityDevicesV1AndroidAttributes (..),+    newGoogleAppsCloudidentityDevicesV1AndroidAttributes,++    -- ** GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege+    GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege (..),++    -- ** GoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata+    GoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata (..),+    newGoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata,++    -- ** GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest+    GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest (..),+    newGoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest,++    -- ** GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse+    GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse (..),+    newGoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse,++    -- ** GoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata+    GoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata (..),+    newGoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata,++    -- ** GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest+    GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest (..),+    newGoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest,++    -- ** GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse+    GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse (..),+    newGoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse,++    -- ** GoogleAppsCloudidentityDevicesV1BrowserAttributes+    GoogleAppsCloudidentityDevicesV1BrowserAttributes (..),+    newGoogleAppsCloudidentityDevicesV1BrowserAttributes,++    -- ** GoogleAppsCloudidentityDevicesV1BrowserInfo+    GoogleAppsCloudidentityDevicesV1BrowserInfo (..),+    newGoogleAppsCloudidentityDevicesV1BrowserInfo,++    -- ** GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState+    GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState (..),++    -- ** GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger+    GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger (..),++    -- ** GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel+    GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel (..),++    -- ** GoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata (..),+    newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata,++    -- ** GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest (..),+    newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest,++    -- ** GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse (..),+    newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse,++    -- ** GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata (..),+    newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata,++    -- ** GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest (..),+    newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest,++    -- ** GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse (..),+    newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse,++    -- ** GoogleAppsCloudidentityDevicesV1CertificateAttributes+    GoogleAppsCloudidentityDevicesV1CertificateAttributes (..),+    newGoogleAppsCloudidentityDevicesV1CertificateAttributes,++    -- ** GoogleAppsCloudidentityDevicesV1CertificateAttributes_ValidationState+    GoogleAppsCloudidentityDevicesV1CertificateAttributes_ValidationState (..),++    -- ** GoogleAppsCloudidentityDevicesV1CertificateTemplate+    GoogleAppsCloudidentityDevicesV1CertificateTemplate (..),+    newGoogleAppsCloudidentityDevicesV1CertificateTemplate,++    -- ** GoogleAppsCloudidentityDevicesV1ClientState+    GoogleAppsCloudidentityDevicesV1ClientState (..),+    newGoogleAppsCloudidentityDevicesV1ClientState,++    -- ** GoogleAppsCloudidentityDevicesV1ClientState_ComplianceState+    GoogleAppsCloudidentityDevicesV1ClientState_ComplianceState (..),++    -- ** GoogleAppsCloudidentityDevicesV1ClientState_HealthScore+    GoogleAppsCloudidentityDevicesV1ClientState_HealthScore (..),++    -- ** GoogleAppsCloudidentityDevicesV1ClientState_KeyValuePairs+    GoogleAppsCloudidentityDevicesV1ClientState_KeyValuePairs (..),+    newGoogleAppsCloudidentityDevicesV1ClientState_KeyValuePairs,++    -- ** GoogleAppsCloudidentityDevicesV1ClientState_Managed+    GoogleAppsCloudidentityDevicesV1ClientState_Managed (..),++    -- ** GoogleAppsCloudidentityDevicesV1ClientState_OwnerType+    GoogleAppsCloudidentityDevicesV1ClientState_OwnerType (..),++    -- ** GoogleAppsCloudidentityDevicesV1CreateDeviceMetadata+    GoogleAppsCloudidentityDevicesV1CreateDeviceMetadata (..),+    newGoogleAppsCloudidentityDevicesV1CreateDeviceMetadata,++    -- ** GoogleAppsCloudidentityDevicesV1CustomAttributeValue+    GoogleAppsCloudidentityDevicesV1CustomAttributeValue (..),+    newGoogleAppsCloudidentityDevicesV1CustomAttributeValue,++    -- ** GoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata+    GoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata (..),+    newGoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata,++    -- ** GoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata+    GoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata (..),+    newGoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata,++    -- ** GoogleAppsCloudidentityDevicesV1Device+    GoogleAppsCloudidentityDevicesV1Device (..),+    newGoogleAppsCloudidentityDevicesV1Device,++    -- ** GoogleAppsCloudidentityDevicesV1Device_CompromisedState+    GoogleAppsCloudidentityDevicesV1Device_CompromisedState (..),++    -- ** GoogleAppsCloudidentityDevicesV1Device_DeviceType+    GoogleAppsCloudidentityDevicesV1Device_DeviceType (..),++    -- ** GoogleAppsCloudidentityDevicesV1Device_EncryptionState+    GoogleAppsCloudidentityDevicesV1Device_EncryptionState (..),++    -- ** GoogleAppsCloudidentityDevicesV1Device_ManagementState+    GoogleAppsCloudidentityDevicesV1Device_ManagementState (..),++    -- ** GoogleAppsCloudidentityDevicesV1Device_OwnerType+    GoogleAppsCloudidentityDevicesV1Device_OwnerType (..),++    -- ** GoogleAppsCloudidentityDevicesV1DeviceUser+    GoogleAppsCloudidentityDevicesV1DeviceUser (..),+    newGoogleAppsCloudidentityDevicesV1DeviceUser,++    -- ** GoogleAppsCloudidentityDevicesV1DeviceUser_CompromisedState+    GoogleAppsCloudidentityDevicesV1DeviceUser_CompromisedState (..),++    -- ** GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState+    GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState (..),++    -- ** GoogleAppsCloudidentityDevicesV1DeviceUser_PasswordState+    GoogleAppsCloudidentityDevicesV1DeviceUser_PasswordState (..),++    -- ** GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes+    GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes (..),+    newGoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes,++    -- ** GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes_AdditionalSignals+    GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes_AdditionalSignals (..),+    newGoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes_AdditionalSignals,++    -- ** GoogleAppsCloudidentityDevicesV1ListClientStatesResponse+    GoogleAppsCloudidentityDevicesV1ListClientStatesResponse (..),+    newGoogleAppsCloudidentityDevicesV1ListClientStatesResponse,++    -- ** GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse+    GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse (..),+    newGoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse,++    -- ** GoogleAppsCloudidentityDevicesV1ListDevicesResponse+    GoogleAppsCloudidentityDevicesV1ListDevicesResponse (..),+    newGoogleAppsCloudidentityDevicesV1ListDevicesResponse,++    -- ** GoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata+    GoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata (..),+    newGoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata,++    -- ** GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse+    GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse (..),+    newGoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse,++    -- ** GoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata+    GoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata (..),+    newGoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata,++    -- ** GoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata+    GoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata (..),+    newGoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata,++    -- ** GoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata+    GoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata (..),+    newGoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata,++    -- ** GoogleAppsCloudidentityDevicesV1WipeDeviceMetadata+    GoogleAppsCloudidentityDevicesV1WipeDeviceMetadata (..),+    newGoogleAppsCloudidentityDevicesV1WipeDeviceMetadata,++    -- ** GoogleAppsCloudidentityDevicesV1WipeDeviceRequest+    GoogleAppsCloudidentityDevicesV1WipeDeviceRequest (..),+    newGoogleAppsCloudidentityDevicesV1WipeDeviceRequest,++    -- ** GoogleAppsCloudidentityDevicesV1WipeDeviceResponse+    GoogleAppsCloudidentityDevicesV1WipeDeviceResponse (..),+    newGoogleAppsCloudidentityDevicesV1WipeDeviceResponse,++    -- ** GoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata+    GoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata (..),+    newGoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata,++    -- ** GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest+    GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest (..),+    newGoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest,++    -- ** GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse+    GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse (..),+    newGoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse,++    -- ** Group+    Group (..),+    newGroup,++    -- ** Group_Labels+    Group_Labels (..),+    newGroup_Labels,++    -- ** GroupRelation+    GroupRelation (..),+    newGroupRelation,++    -- ** GroupRelation_Labels+    GroupRelation_Labels (..),+    newGroupRelation_Labels,++    -- ** GroupRelation_RelationType+    GroupRelation_RelationType (..),++    -- ** IdpCredential+    IdpCredential (..),+    newIdpCredential,++    -- ** InboundSamlSsoProfile+    InboundSamlSsoProfile (..),+    newInboundSamlSsoProfile,++    -- ** InboundSsoAssignment+    InboundSsoAssignment (..),+    newInboundSsoAssignment,++    -- ** InboundSsoAssignment_SsoMode+    InboundSsoAssignment_SsoMode (..),++    -- ** IsInvitableUserResponse+    IsInvitableUserResponse (..),+    newIsInvitableUserResponse,++    -- ** ListGroupsResponse+    ListGroupsResponse (..),+    newListGroupsResponse,++    -- ** ListIdpCredentialsResponse+    ListIdpCredentialsResponse (..),+    newListIdpCredentialsResponse,++    -- ** ListInboundSamlSsoProfilesResponse+    ListInboundSamlSsoProfilesResponse (..),+    newListInboundSamlSsoProfilesResponse,++    -- ** ListInboundSsoAssignmentsResponse+    ListInboundSsoAssignmentsResponse (..),+    newListInboundSsoAssignmentsResponse,++    -- ** ListMembershipsResponse+    ListMembershipsResponse (..),+    newListMembershipsResponse,++    -- ** ListPoliciesResponse+    ListPoliciesResponse (..),+    newListPoliciesResponse,++    -- ** ListUserInvitationsResponse+    ListUserInvitationsResponse (..),+    newListUserInvitationsResponse,++    -- ** LookupGroupNameResponse+    LookupGroupNameResponse (..),+    newLookupGroupNameResponse,++    -- ** LookupMembershipNameResponse+    LookupMembershipNameResponse (..),+    newLookupMembershipNameResponse,++    -- ** MemberRelation+    MemberRelation (..),+    newMemberRelation,++    -- ** MemberRelation_RelationType+    MemberRelation_RelationType (..),++    -- ** MemberRestriction+    MemberRestriction (..),+    newMemberRestriction,++    -- ** Membership+    Membership (..),+    newMembership,++    -- ** Membership_DeliverySetting+    Membership_DeliverySetting (..),++    -- ** Membership_Type+    Membership_Type (..),++    -- ** MembershipAdjacencyList+    MembershipAdjacencyList (..),+    newMembershipAdjacencyList,++    -- ** MembershipRelation+    MembershipRelation (..),+    newMembershipRelation,++    -- ** MembershipRelation_Labels+    MembershipRelation_Labels (..),+    newMembershipRelation_Labels,++    -- ** MembershipRole+    MembershipRole (..),+    newMembershipRole,++    -- ** MembershipRoleRestrictionEvaluation+    MembershipRoleRestrictionEvaluation (..),+    newMembershipRoleRestrictionEvaluation,++    -- ** MembershipRoleRestrictionEvaluation_State+    MembershipRoleRestrictionEvaluation_State (..),++    -- ** ModifyMembershipRolesRequest+    ModifyMembershipRolesRequest (..),+    newModifyMembershipRolesRequest,++    -- ** ModifyMembershipRolesResponse+    ModifyMembershipRolesResponse (..),+    newModifyMembershipRolesResponse,++    -- ** Operation+    Operation (..),+    newOperation,++    -- ** Operation_Metadata+    Operation_Metadata (..),+    newOperation_Metadata,++    -- ** Operation_Response+    Operation_Response (..),+    newOperation_Response,++    -- ** Policy+    Policy (..),+    newPolicy,++    -- ** Policy_Type+    Policy_Type (..),++    -- ** PolicyQuery+    PolicyQuery (..),+    newPolicyQuery,++    -- ** RestrictionEvaluation+    RestrictionEvaluation (..),+    newRestrictionEvaluation,++    -- ** RestrictionEvaluation_State+    RestrictionEvaluation_State (..),++    -- ** RestrictionEvaluations+    RestrictionEvaluations (..),+    newRestrictionEvaluations,++    -- ** RsaPublicKeyInfo+    RsaPublicKeyInfo (..),+    newRsaPublicKeyInfo,++    -- ** SamlIdpConfig+    SamlIdpConfig (..),+    newSamlIdpConfig,++    -- ** SamlSpConfig+    SamlSpConfig (..),+    newSamlSpConfig,++    -- ** SamlSsoInfo+    SamlSsoInfo (..),+    newSamlSsoInfo,++    -- ** SearchDirectGroupsResponse+    SearchDirectGroupsResponse (..),+    newSearchDirectGroupsResponse,++    -- ** SearchGroupsResponse+    SearchGroupsResponse (..),+    newSearchGroupsResponse,++    -- ** SearchTransitiveGroupsResponse+    SearchTransitiveGroupsResponse (..),+    newSearchTransitiveGroupsResponse,++    -- ** SearchTransitiveMembershipsResponse+    SearchTransitiveMembershipsResponse (..),+    newSearchTransitiveMembershipsResponse,++    -- ** SecuritySettings+    SecuritySettings (..),+    newSecuritySettings,++    -- ** SendUserInvitationRequest+    SendUserInvitationRequest (..),+    newSendUserInvitationRequest,++    -- ** Setting+    Setting (..),+    newSetting,++    -- ** Setting_Value+    Setting_Value (..),+    newSetting_Value,++    -- ** SignInBehavior+    SignInBehavior (..),+    newSignInBehavior,++    -- ** SignInBehavior_RedirectCondition+    SignInBehavior_RedirectCondition (..),++    -- ** Status+    Status (..),+    newStatus,++    -- ** Status_DetailsItem+    Status_DetailsItem (..),+    newStatus_DetailsItem,++    -- ** TransitiveMembershipRole+    TransitiveMembershipRole (..),+    newTransitiveMembershipRole,++    -- ** UpdateGroupMetadata+    UpdateGroupMetadata (..),+    newUpdateGroupMetadata,++    -- ** UpdateInboundSamlSsoProfileOperationMetadata+    UpdateInboundSamlSsoProfileOperationMetadata (..),+    newUpdateInboundSamlSsoProfileOperationMetadata,++    -- ** UpdateInboundSsoAssignmentOperationMetadata+    UpdateInboundSsoAssignmentOperationMetadata (..),+    newUpdateInboundSsoAssignmentOperationMetadata,++    -- ** UpdateMembershipMetadata+    UpdateMembershipMetadata (..),+    newUpdateMembershipMetadata,++    -- ** UpdateMembershipRolesParams+    UpdateMembershipRolesParams (..),+    newUpdateMembershipRolesParams,++    -- ** UserInvitation+    UserInvitation (..),+    newUserInvitation,++    -- ** UserInvitation_State+    UserInvitation_State (..),++    -- ** DevicesListView+    DevicesListView (..),++    -- ** GroupsCreateInitialGroupConfig+    GroupsCreateInitialGroupConfig (..),++    -- ** GroupsListView+    GroupsListView (..),++    -- ** GroupsMembershipsListView+    GroupsMembershipsListView (..),++    -- ** GroupsSearchView+    GroupsSearchView (..),+  )+where++import Gogol.CloudIdentity.Customers.Userinvitations.Cancel+import Gogol.CloudIdentity.Customers.Userinvitations.Get+import Gogol.CloudIdentity.Customers.Userinvitations.IsInvitableUser+import Gogol.CloudIdentity.Customers.Userinvitations.List+import Gogol.CloudIdentity.Customers.Userinvitations.Send+import Gogol.CloudIdentity.Devices.CancelWipe+import Gogol.CloudIdentity.Devices.Create+import Gogol.CloudIdentity.Devices.Delete+import Gogol.CloudIdentity.Devices.DeviceUsers.Approve+import Gogol.CloudIdentity.Devices.DeviceUsers.Block+import Gogol.CloudIdentity.Devices.DeviceUsers.CancelWipe+import Gogol.CloudIdentity.Devices.DeviceUsers.ClientStates.Get+import Gogol.CloudIdentity.Devices.DeviceUsers.ClientStates.List+import Gogol.CloudIdentity.Devices.DeviceUsers.ClientStates.Patch+import Gogol.CloudIdentity.Devices.DeviceUsers.Delete+import Gogol.CloudIdentity.Devices.DeviceUsers.Get+import Gogol.CloudIdentity.Devices.DeviceUsers.List+import Gogol.CloudIdentity.Devices.DeviceUsers.Lookup+import Gogol.CloudIdentity.Devices.DeviceUsers.Wipe+import Gogol.CloudIdentity.Devices.Get+import Gogol.CloudIdentity.Devices.List+import Gogol.CloudIdentity.Devices.Wipe+import Gogol.CloudIdentity.Groups.Create+import Gogol.CloudIdentity.Groups.Delete+import Gogol.CloudIdentity.Groups.Get+import Gogol.CloudIdentity.Groups.GetSecuritySettings+import Gogol.CloudIdentity.Groups.List+import Gogol.CloudIdentity.Groups.Lookup+import Gogol.CloudIdentity.Groups.Memberships.CheckTransitiveMembership+import Gogol.CloudIdentity.Groups.Memberships.Create+import Gogol.CloudIdentity.Groups.Memberships.Delete+import Gogol.CloudIdentity.Groups.Memberships.Get+import Gogol.CloudIdentity.Groups.Memberships.GetMembershipGraph+import Gogol.CloudIdentity.Groups.Memberships.List+import Gogol.CloudIdentity.Groups.Memberships.Lookup+import Gogol.CloudIdentity.Groups.Memberships.ModifyMembershipRoles+import Gogol.CloudIdentity.Groups.Memberships.SearchDirectGroups+import Gogol.CloudIdentity.Groups.Memberships.SearchTransitiveGroups+import Gogol.CloudIdentity.Groups.Memberships.SearchTransitiveMemberships+import Gogol.CloudIdentity.Groups.Patch+import Gogol.CloudIdentity.Groups.Search+import Gogol.CloudIdentity.Groups.UpdateSecuritySettings+import Gogol.CloudIdentity.InboundSamlSsoProfiles.Create+import Gogol.CloudIdentity.InboundSamlSsoProfiles.Delete+import Gogol.CloudIdentity.InboundSamlSsoProfiles.Get+import Gogol.CloudIdentity.InboundSamlSsoProfiles.IdpCredentials.Add+import Gogol.CloudIdentity.InboundSamlSsoProfiles.IdpCredentials.Delete+import Gogol.CloudIdentity.InboundSamlSsoProfiles.IdpCredentials.Get+import Gogol.CloudIdentity.InboundSamlSsoProfiles.IdpCredentials.List+import Gogol.CloudIdentity.InboundSamlSsoProfiles.List+import Gogol.CloudIdentity.InboundSamlSsoProfiles.Patch+import Gogol.CloudIdentity.InboundSsoAssignments.Create+import Gogol.CloudIdentity.InboundSsoAssignments.Delete+import Gogol.CloudIdentity.InboundSsoAssignments.Get+import Gogol.CloudIdentity.InboundSsoAssignments.List+import Gogol.CloudIdentity.InboundSsoAssignments.Patch+import Gogol.CloudIdentity.Policies.Get+import Gogol.CloudIdentity.Policies.List+import Gogol.CloudIdentity.Types
+ gen/Gogol/CloudIdentity/Customers/Userinvitations/Cancel.hs view
@@ -0,0 +1,119 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Customers.Userinvitations.Cancel+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Cancels a UserInvitation that was already sent.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.customers.userinvitations.cancel@.+module Gogol.CloudIdentity.Customers.Userinvitations.Cancel+  ( -- * Resource+    CloudIdentityCustomersUserinvitationsCancelResource,++    -- ** Constructing a Request+    CloudIdentityCustomersUserinvitationsCancel (..),+    newCloudIdentityCustomersUserinvitationsCancel,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.customers.userinvitations.cancel@ method which the+-- 'CloudIdentityCustomersUserinvitationsCancel' request conforms to.+type CloudIdentityCustomersUserinvitationsCancelResource =+  "v1"+    Core.:> Core.CaptureMode "name" "cancel" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.ReqBody '[Core.JSON] CancelUserInvitationRequest+    Core.:> Core.Post '[Core.JSON] Operation++-- | Cancels a UserInvitation that was already sent.+--+-- /See:/ 'newCloudIdentityCustomersUserinvitationsCancel' smart constructor.+data CloudIdentityCustomersUserinvitationsCancel = CloudIdentityCustomersUserinvitationsCancel+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Required. @UserInvitation@ name in the format @customers\/{customer}\/userinvitations\/{user_email_address}@+    name :: Core.Text,+    -- | Multipart request metadata.+    payload :: CancelUserInvitationRequest,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityCustomersUserinvitationsCancel' with the minimum fields required to make a request.+newCloudIdentityCustomersUserinvitationsCancel ::+  -- |  Required. @UserInvitation@ name in the format @customers\/{customer}\/userinvitations\/{user_email_address}@ See 'name'.+  Core.Text ->+  -- |  Multipart request metadata. See 'payload'.+  CancelUserInvitationRequest ->+  CloudIdentityCustomersUserinvitationsCancel+newCloudIdentityCustomersUserinvitationsCancel name payload =+  CloudIdentityCustomersUserinvitationsCancel+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      name = name,+      payload = payload,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance+  Core.GoogleRequest+    CloudIdentityCustomersUserinvitationsCancel+  where+  type Rs CloudIdentityCustomersUserinvitationsCancel = Operation+  type Scopes CloudIdentityCustomersUserinvitationsCancel = '[]+  requestClient CloudIdentityCustomersUserinvitationsCancel {..} =+    go+      name+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      payload+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CloudIdentityCustomersUserinvitationsCancelResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/Customers/Userinvitations/Get.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Customers.Userinvitations.Get+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a UserInvitation resource. __Note:__ New consumer accounts with the customer\'s verified domain created within the previous 48 hours will not appear in the result. This delay also applies to newly-verified domains.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.customers.userinvitations.get@.+module Gogol.CloudIdentity.Customers.Userinvitations.Get+  ( -- * Resource+    CloudIdentityCustomersUserinvitationsGetResource,++    -- ** Constructing a Request+    CloudIdentityCustomersUserinvitationsGet (..),+    newCloudIdentityCustomersUserinvitationsGet,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.customers.userinvitations.get@ method which the+-- 'CloudIdentityCustomersUserinvitationsGet' request conforms to.+type CloudIdentityCustomersUserinvitationsGetResource =+  "v1"+    Core.:> Core.Capture "name" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] UserInvitation++-- | Retrieves a UserInvitation resource. __Note:__ New consumer accounts with the customer\'s verified domain created within the previous 48 hours will not appear in the result. This delay also applies to newly-verified domains.+--+-- /See:/ 'newCloudIdentityCustomersUserinvitationsGet' smart constructor.+data CloudIdentityCustomersUserinvitationsGet = CloudIdentityCustomersUserinvitationsGet+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Required. @UserInvitation@ name in the format @customers\/{customer}\/userinvitations\/{user_email_address}@+    name :: Core.Text,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityCustomersUserinvitationsGet' with the minimum fields required to make a request.+newCloudIdentityCustomersUserinvitationsGet ::+  -- |  Required. @UserInvitation@ name in the format @customers\/{customer}\/userinvitations\/{user_email_address}@ See 'name'.+  Core.Text ->+  CloudIdentityCustomersUserinvitationsGet+newCloudIdentityCustomersUserinvitationsGet name =+  CloudIdentityCustomersUserinvitationsGet+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      name = name,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance+  Core.GoogleRequest+    CloudIdentityCustomersUserinvitationsGet+  where+  type Rs CloudIdentityCustomersUserinvitationsGet = UserInvitation+  type Scopes CloudIdentityCustomersUserinvitationsGet = '[]+  requestClient CloudIdentityCustomersUserinvitationsGet {..} =+    go+      name+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CloudIdentityCustomersUserinvitationsGetResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/Customers/Userinvitations/IsInvitableUser.hs view
@@ -0,0 +1,119 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Customers.Userinvitations.IsInvitableUser+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Verifies whether a user account is eligible to receive a UserInvitation (is an unmanaged account). Eligibility is based on the following criteria: * the email address is a consumer account and it\'s the primary email address of the account, and * the domain of the email address matches an existing verified Google Workspace or Cloud Identity domain If both conditions are met, the user is eligible. __Note:__ This method is not supported for Workspace Essentials customers.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.customers.userinvitations.isInvitableUser@.+module Gogol.CloudIdentity.Customers.Userinvitations.IsInvitableUser+  ( -- * Resource+    CloudIdentityCustomersUserinvitationsIsInvitableUserResource,++    -- ** Constructing a Request+    CloudIdentityCustomersUserinvitationsIsInvitableUser (..),+    newCloudIdentityCustomersUserinvitationsIsInvitableUser,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.customers.userinvitations.isInvitableUser@ method which the+-- 'CloudIdentityCustomersUserinvitationsIsInvitableUser' request conforms to.+type CloudIdentityCustomersUserinvitationsIsInvitableUserResource =+  "v1"+    Core.:> Core.CaptureMode "name" "isInvitableUser" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] IsInvitableUserResponse++-- | Verifies whether a user account is eligible to receive a UserInvitation (is an unmanaged account). Eligibility is based on the following criteria: * the email address is a consumer account and it\'s the primary email address of the account, and * the domain of the email address matches an existing verified Google Workspace or Cloud Identity domain If both conditions are met, the user is eligible. __Note:__ This method is not supported for Workspace Essentials customers.+--+-- /See:/ 'newCloudIdentityCustomersUserinvitationsIsInvitableUser' smart constructor.+data CloudIdentityCustomersUserinvitationsIsInvitableUser = CloudIdentityCustomersUserinvitationsIsInvitableUser+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Required. @UserInvitation@ name in the format @customers\/{customer}\/userinvitations\/{user_email_address}@+    name :: Core.Text,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityCustomersUserinvitationsIsInvitableUser' with the minimum fields required to make a request.+newCloudIdentityCustomersUserinvitationsIsInvitableUser ::+  -- |  Required. @UserInvitation@ name in the format @customers\/{customer}\/userinvitations\/{user_email_address}@ See 'name'.+  Core.Text ->+  CloudIdentityCustomersUserinvitationsIsInvitableUser+newCloudIdentityCustomersUserinvitationsIsInvitableUser name =+  CloudIdentityCustomersUserinvitationsIsInvitableUser+    { xgafv =+        Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      name = name,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance+  Core.GoogleRequest+    CloudIdentityCustomersUserinvitationsIsInvitableUser+  where+  type+    Rs CloudIdentityCustomersUserinvitationsIsInvitableUser =+      IsInvitableUserResponse+  type+    Scopes CloudIdentityCustomersUserinvitationsIsInvitableUser =+      '[]+  requestClient+    CloudIdentityCustomersUserinvitationsIsInvitableUser {..} =+      go+        name+        xgafv+        accessToken+        callback+        uploadType+        uploadProtocol+        (Core.Just Core.AltJSON)+        cloudIdentityService+      where+        go =+          Core.buildClient+            ( Core.Proxy ::+                Core.Proxy+                  CloudIdentityCustomersUserinvitationsIsInvitableUserResource+            )+            Core.mempty
+ gen/Gogol/CloudIdentity/Customers/Userinvitations/List.hs view
@@ -0,0 +1,135 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Customers.Userinvitations.List+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a list of UserInvitation resources. __Note:__ New consumer accounts with the customer\'s verified domain created within the previous 48 hours will not appear in the result. This delay also applies to newly-verified domains.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.customers.userinvitations.list@.+module Gogol.CloudIdentity.Customers.Userinvitations.List+  ( -- * Resource+    CloudIdentityCustomersUserinvitationsListResource,++    -- ** Constructing a Request+    CloudIdentityCustomersUserinvitationsList (..),+    newCloudIdentityCustomersUserinvitationsList,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.customers.userinvitations.list@ method which the+-- 'CloudIdentityCustomersUserinvitationsList' request conforms to.+type CloudIdentityCustomersUserinvitationsListResource =+  "v1"+    Core.:> Core.Capture "parent" Core.Text+    Core.:> "userinvitations"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "filter" Core.Text+    Core.:> Core.QueryParam "orderBy" Core.Text+    Core.:> Core.QueryParam "pageSize" Core.Int32+    Core.:> Core.QueryParam "pageToken" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] ListUserInvitationsResponse++-- | Retrieves a list of UserInvitation resources. __Note:__ New consumer accounts with the customer\'s verified domain created within the previous 48 hours will not appear in the result. This delay also applies to newly-verified domains.+--+-- /See:/ 'newCloudIdentityCustomersUserinvitationsList' smart constructor.+data CloudIdentityCustomersUserinvitationsList = CloudIdentityCustomersUserinvitationsList+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Optional. A query string for filtering @UserInvitation@ results by their current state, in the format: @\"state==\'invited\'\"@.+    filter :: (Core.Maybe Core.Text),+    -- | Optional. The sort order of the list results. You can sort the results in descending order based on either email or last update timestamp but not both, using @order_by=\"email desc\"@. Currently, sorting is supported for @update_time asc@, @update_time desc@, @email asc@, and @email desc@. If not specified, results will be returned based on @email asc@ order.+    orderBy :: (Core.Maybe Core.Text),+    -- | Optional. The maximum number of UserInvitation resources to return. If unspecified, at most 100 resources will be returned. The maximum value is 200; values above 200 will be set to 200.+    pageSize :: (Core.Maybe Core.Int32),+    -- | Optional. A page token, received from a previous @ListUserInvitations@ call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to @ListBooks@ must match the call that provided the page token.+    pageToken :: (Core.Maybe Core.Text),+    -- | Required. The customer ID of the Google Workspace or Cloud Identity account the UserInvitation resources are associated with.+    parent :: Core.Text,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityCustomersUserinvitationsList' with the minimum fields required to make a request.+newCloudIdentityCustomersUserinvitationsList ::+  -- |  Required. The customer ID of the Google Workspace or Cloud Identity account the UserInvitation resources are associated with. See 'parent'.+  Core.Text ->+  CloudIdentityCustomersUserinvitationsList+newCloudIdentityCustomersUserinvitationsList parent =+  CloudIdentityCustomersUserinvitationsList+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      filter = Core.Nothing,+      orderBy = Core.Nothing,+      pageSize = Core.Nothing,+      pageToken = Core.Nothing,+      parent = parent,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance+  Core.GoogleRequest+    CloudIdentityCustomersUserinvitationsList+  where+  type+    Rs CloudIdentityCustomersUserinvitationsList =+      ListUserInvitationsResponse+  type Scopes CloudIdentityCustomersUserinvitationsList = '[]+  requestClient CloudIdentityCustomersUserinvitationsList {..} =+    go+      parent+      xgafv+      accessToken+      callback+      filter+      orderBy+      pageSize+      pageToken+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CloudIdentityCustomersUserinvitationsListResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/Customers/Userinvitations/Send.hs view
@@ -0,0 +1,119 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Customers.Userinvitations.Send+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sends a UserInvitation to email. If the @UserInvitation@ does not exist for this request and it is a valid request, the request creates a @UserInvitation@. __Note:__ The @get@ and @list@ methods have a 48-hour delay where newly-created consumer accounts will not appear in the results. You can still send a @UserInvitation@ to those accounts if you know the unmanaged email address and IsInvitableUser==True.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.customers.userinvitations.send@.+module Gogol.CloudIdentity.Customers.Userinvitations.Send+  ( -- * Resource+    CloudIdentityCustomersUserinvitationsSendResource,++    -- ** Constructing a Request+    CloudIdentityCustomersUserinvitationsSend (..),+    newCloudIdentityCustomersUserinvitationsSend,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.customers.userinvitations.send@ method which the+-- 'CloudIdentityCustomersUserinvitationsSend' request conforms to.+type CloudIdentityCustomersUserinvitationsSendResource =+  "v1"+    Core.:> Core.CaptureMode "name" "send" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.ReqBody '[Core.JSON] SendUserInvitationRequest+    Core.:> Core.Post '[Core.JSON] Operation++-- | Sends a UserInvitation to email. If the @UserInvitation@ does not exist for this request and it is a valid request, the request creates a @UserInvitation@. __Note:__ The @get@ and @list@ methods have a 48-hour delay where newly-created consumer accounts will not appear in the results. You can still send a @UserInvitation@ to those accounts if you know the unmanaged email address and IsInvitableUser==True.+--+-- /See:/ 'newCloudIdentityCustomersUserinvitationsSend' smart constructor.+data CloudIdentityCustomersUserinvitationsSend = CloudIdentityCustomersUserinvitationsSend+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Required. @UserInvitation@ name in the format @customers\/{customer}\/userinvitations\/{user_email_address}@+    name :: Core.Text,+    -- | Multipart request metadata.+    payload :: SendUserInvitationRequest,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityCustomersUserinvitationsSend' with the minimum fields required to make a request.+newCloudIdentityCustomersUserinvitationsSend ::+  -- |  Required. @UserInvitation@ name in the format @customers\/{customer}\/userinvitations\/{user_email_address}@ See 'name'.+  Core.Text ->+  -- |  Multipart request metadata. See 'payload'.+  SendUserInvitationRequest ->+  CloudIdentityCustomersUserinvitationsSend+newCloudIdentityCustomersUserinvitationsSend name payload =+  CloudIdentityCustomersUserinvitationsSend+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      name = name,+      payload = payload,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance+  Core.GoogleRequest+    CloudIdentityCustomersUserinvitationsSend+  where+  type Rs CloudIdentityCustomersUserinvitationsSend = Operation+  type Scopes CloudIdentityCustomersUserinvitationsSend = '[]+  requestClient CloudIdentityCustomersUserinvitationsSend {..} =+    go+      name+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      payload+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CloudIdentityCustomersUserinvitationsSendResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/Devices/CancelWipe.hs view
@@ -0,0 +1,118 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Devices.CancelWipe+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Cancels an unfinished device wipe. This operation can be used to cancel device wipe in the gap between the wipe operation returning success and the device being wiped. This operation is possible when the device is in a \"pending wipe\" state. The device enters the \"pending wipe\" state when a wipe device command is issued, but has not yet been sent to the device. The cancel wipe will fail if the wipe command has already been issued to the device.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.devices.cancelWipe@.+module Gogol.CloudIdentity.Devices.CancelWipe+  ( -- * Resource+    CloudIdentityDevicesCancelWipeResource,++    -- ** Constructing a Request+    CloudIdentityDevicesCancelWipe (..),+    newCloudIdentityDevicesCancelWipe,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.devices.cancelWipe@ method which the+-- 'CloudIdentityDevicesCancelWipe' request conforms to.+type CloudIdentityDevicesCancelWipeResource =+  "v1"+    Core.:> Core.CaptureMode "name" "cancelWipe" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.ReqBody+              '[Core.JSON]+              GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest+    Core.:> Core.Post '[Core.JSON] Operation++-- | Cancels an unfinished device wipe. This operation can be used to cancel device wipe in the gap between the wipe operation returning success and the device being wiped. This operation is possible when the device is in a \"pending wipe\" state. The device enters the \"pending wipe\" state when a wipe device command is issued, but has not yet been sent to the device. The cancel wipe will fail if the wipe command has already been issued to the device.+--+-- /See:/ 'newCloudIdentityDevicesCancelWipe' smart constructor.+data CloudIdentityDevicesCancelWipe = CloudIdentityDevicesCancelWipe+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Required. <https://cloud.google.com/apis/design/resource_names Resource name> of the Device in format: @devices\/{device}@, where device is the unique ID assigned to the Device.+    name :: Core.Text,+    -- | Multipart request metadata.+    payload :: GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityDevicesCancelWipe' with the minimum fields required to make a request.+newCloudIdentityDevicesCancelWipe ::+  -- |  Required. <https://cloud.google.com/apis/design/resource_names Resource name> of the Device in format: @devices\/{device}@, where device is the unique ID assigned to the Device. See 'name'.+  Core.Text ->+  -- |  Multipart request metadata. See 'payload'.+  GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest ->+  CloudIdentityDevicesCancelWipe+newCloudIdentityDevicesCancelWipe name payload =+  CloudIdentityDevicesCancelWipe+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      name = name,+      payload = payload,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityDevicesCancelWipe where+  type Rs CloudIdentityDevicesCancelWipe = Operation+  type+    Scopes CloudIdentityDevicesCancelWipe =+      '[CloudIdentity'Devices]+  requestClient CloudIdentityDevicesCancelWipe {..} =+    go+      name+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      payload+      cloudIdentityService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy CloudIdentityDevicesCancelWipeResource)+          Core.mempty
+ gen/Gogol/CloudIdentity/Devices/Create.hs view
@@ -0,0 +1,113 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Devices.Create+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a device. Only company-owned device may be created. __Note__: This method is available only to customers who have one of the following SKUs: Enterprise Standard, Enterprise Plus, Enterprise for Education, and Cloud Identity Premium+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.devices.create@.+module Gogol.CloudIdentity.Devices.Create+  ( -- * Resource+    CloudIdentityDevicesCreateResource,++    -- ** Constructing a Request+    CloudIdentityDevicesCreate (..),+    newCloudIdentityDevicesCreate,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.devices.create@ method which the+-- 'CloudIdentityDevicesCreate' request conforms to.+type CloudIdentityDevicesCreateResource =+  "v1"+    Core.:> "devices"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "customer" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.ReqBody '[Core.JSON] GoogleAppsCloudidentityDevicesV1Device+    Core.:> Core.Post '[Core.JSON] Operation++-- | Creates a device. Only company-owned device may be created. __Note__: This method is available only to customers who have one of the following SKUs: Enterprise Standard, Enterprise Plus, Enterprise for Education, and Cloud Identity Premium+--+-- /See:/ 'newCloudIdentityDevicesCreate' smart constructor.+data CloudIdentityDevicesCreate = CloudIdentityDevicesCreate+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Optional. <https://cloud.google.com/apis/design/resource_names Resource name> of the customer. If you\'re using this API for your own organization, use @customers\/my_customer@ If you\'re using this API to manage another organization, use @customers\/{customer}@, where customer is the customer to whom the device belongs.+    customer :: (Core.Maybe Core.Text),+    -- | Multipart request metadata.+    payload :: GoogleAppsCloudidentityDevicesV1Device,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityDevicesCreate' with the minimum fields required to make a request.+newCloudIdentityDevicesCreate ::+  -- |  Multipart request metadata. See 'payload'.+  GoogleAppsCloudidentityDevicesV1Device ->+  CloudIdentityDevicesCreate+newCloudIdentityDevicesCreate payload =+  CloudIdentityDevicesCreate+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      customer = Core.Nothing,+      payload = payload,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityDevicesCreate where+  type Rs CloudIdentityDevicesCreate = Operation+  type Scopes CloudIdentityDevicesCreate = '[CloudIdentity'Devices]+  requestClient CloudIdentityDevicesCreate {..} =+    go+      xgafv+      accessToken+      callback+      customer+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      payload+      cloudIdentityService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy CloudIdentityDevicesCreateResource)+          Core.mempty
+ gen/Gogol/CloudIdentity/Devices/Delete.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Devices.Delete+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified device.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.devices.delete@.+module Gogol.CloudIdentity.Devices.Delete+  ( -- * Resource+    CloudIdentityDevicesDeleteResource,++    -- ** Constructing a Request+    CloudIdentityDevicesDelete (..),+    newCloudIdentityDevicesDelete,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.devices.delete@ method which the+-- 'CloudIdentityDevicesDelete' request conforms to.+type CloudIdentityDevicesDeleteResource =+  "v1"+    Core.:> Core.Capture "name" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "customer" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Delete '[Core.JSON] Operation++-- | Deletes the specified device.+--+-- /See:/ 'newCloudIdentityDevicesDelete' smart constructor.+data CloudIdentityDevicesDelete = CloudIdentityDevicesDelete+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Optional. <https://cloud.google.com/apis/design/resource_names Resource name> of the customer. If you\'re using this API for your own organization, use @customers\/my_customer@ If you\'re using this API to manage another organization, use @customers\/{customer}@, where customer is the customer to whom the device belongs.+    customer :: (Core.Maybe Core.Text),+    -- | Required. <https://cloud.google.com/apis/design/resource_names Resource name> of the Device in format: @devices\/{device}@, where device is the unique ID assigned to the Device.+    name :: Core.Text,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityDevicesDelete' with the minimum fields required to make a request.+newCloudIdentityDevicesDelete ::+  -- |  Required. <https://cloud.google.com/apis/design/resource_names Resource name> of the Device in format: @devices\/{device}@, where device is the unique ID assigned to the Device. See 'name'.+  Core.Text ->+  CloudIdentityDevicesDelete+newCloudIdentityDevicesDelete name =+  CloudIdentityDevicesDelete+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      customer = Core.Nothing,+      name = name,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityDevicesDelete where+  type Rs CloudIdentityDevicesDelete = Operation+  type Scopes CloudIdentityDevicesDelete = '[CloudIdentity'Devices]+  requestClient CloudIdentityDevicesDelete {..} =+    go+      name+      xgafv+      accessToken+      callback+      customer+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      cloudIdentityService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy CloudIdentityDevicesDeleteResource)+          Core.mempty
+ gen/Gogol/CloudIdentity/Devices/DeviceUsers/Approve.hs view
@@ -0,0 +1,120 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Devices.DeviceUsers.Approve+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Approves device to access user data.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.devices.deviceUsers.approve@.+module Gogol.CloudIdentity.Devices.DeviceUsers.Approve+  ( -- * Resource+    CloudIdentityDevicesDeviceUsersApproveResource,++    -- ** Constructing a Request+    CloudIdentityDevicesDeviceUsersApprove (..),+    newCloudIdentityDevicesDeviceUsersApprove,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.devices.deviceUsers.approve@ method which the+-- 'CloudIdentityDevicesDeviceUsersApprove' request conforms to.+type CloudIdentityDevicesDeviceUsersApproveResource =+  "v1"+    Core.:> Core.CaptureMode "name" "approve" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.ReqBody+              '[Core.JSON]+              GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest+    Core.:> Core.Post '[Core.JSON] Operation++-- | Approves device to access user data.+--+-- /See:/ 'newCloudIdentityDevicesDeviceUsersApprove' smart constructor.+data CloudIdentityDevicesDeviceUsersApprove = CloudIdentityDevicesDeviceUsersApprove+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Required. <https://cloud.google.com/apis/design/resource_names Resource name> of the Device in format: @devices\/{device}\/deviceUsers\/{device_user}@, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User.+    name :: Core.Text,+    -- | Multipart request metadata.+    payload :: GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityDevicesDeviceUsersApprove' with the minimum fields required to make a request.+newCloudIdentityDevicesDeviceUsersApprove ::+  -- |  Required. <https://cloud.google.com/apis/design/resource_names Resource name> of the Device in format: @devices\/{device}\/deviceUsers\/{device_user}@, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User. See 'name'.+  Core.Text ->+  -- |  Multipart request metadata. See 'payload'.+  GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest ->+  CloudIdentityDevicesDeviceUsersApprove+newCloudIdentityDevicesDeviceUsersApprove name payload =+  CloudIdentityDevicesDeviceUsersApprove+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      name = name,+      payload = payload,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityDevicesDeviceUsersApprove where+  type Rs CloudIdentityDevicesDeviceUsersApprove = Operation+  type+    Scopes CloudIdentityDevicesDeviceUsersApprove =+      '[CloudIdentity'Devices]+  requestClient CloudIdentityDevicesDeviceUsersApprove {..} =+    go+      name+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      payload+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CloudIdentityDevicesDeviceUsersApproveResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/Devices/DeviceUsers/Block.hs view
@@ -0,0 +1,120 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Devices.DeviceUsers.Block+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Blocks device from accessing user data+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.devices.deviceUsers.block@.+module Gogol.CloudIdentity.Devices.DeviceUsers.Block+  ( -- * Resource+    CloudIdentityDevicesDeviceUsersBlockResource,++    -- ** Constructing a Request+    CloudIdentityDevicesDeviceUsersBlock (..),+    newCloudIdentityDevicesDeviceUsersBlock,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.devices.deviceUsers.block@ method which the+-- 'CloudIdentityDevicesDeviceUsersBlock' request conforms to.+type CloudIdentityDevicesDeviceUsersBlockResource =+  "v1"+    Core.:> Core.CaptureMode "name" "block" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.ReqBody+              '[Core.JSON]+              GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest+    Core.:> Core.Post '[Core.JSON] Operation++-- | Blocks device from accessing user data+--+-- /See:/ 'newCloudIdentityDevicesDeviceUsersBlock' smart constructor.+data CloudIdentityDevicesDeviceUsersBlock = CloudIdentityDevicesDeviceUsersBlock+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Required. <https://cloud.google.com/apis/design/resource_names Resource name> of the Device in format: @devices\/{device}\/deviceUsers\/{device_user}@, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User.+    name :: Core.Text,+    -- | Multipart request metadata.+    payload :: GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityDevicesDeviceUsersBlock' with the minimum fields required to make a request.+newCloudIdentityDevicesDeviceUsersBlock ::+  -- |  Required. <https://cloud.google.com/apis/design/resource_names Resource name> of the Device in format: @devices\/{device}\/deviceUsers\/{device_user}@, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User. See 'name'.+  Core.Text ->+  -- |  Multipart request metadata. See 'payload'.+  GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest ->+  CloudIdentityDevicesDeviceUsersBlock+newCloudIdentityDevicesDeviceUsersBlock name payload =+  CloudIdentityDevicesDeviceUsersBlock+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      name = name,+      payload = payload,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityDevicesDeviceUsersBlock where+  type Rs CloudIdentityDevicesDeviceUsersBlock = Operation+  type+    Scopes CloudIdentityDevicesDeviceUsersBlock =+      '[CloudIdentity'Devices]+  requestClient CloudIdentityDevicesDeviceUsersBlock {..} =+    go+      name+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      payload+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CloudIdentityDevicesDeviceUsersBlockResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/Devices/DeviceUsers/CancelWipe.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Devices.DeviceUsers.CancelWipe+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Cancels an unfinished user account wipe. This operation can be used to cancel device wipe in the gap between the wipe operation returning success and the device being wiped.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.devices.deviceUsers.cancelWipe@.+module Gogol.CloudIdentity.Devices.DeviceUsers.CancelWipe+  ( -- * Resource+    CloudIdentityDevicesDeviceUsersCancelWipeResource,++    -- ** Constructing a Request+    CloudIdentityDevicesDeviceUsersCancelWipe (..),+    newCloudIdentityDevicesDeviceUsersCancelWipe,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.devices.deviceUsers.cancelWipe@ method which the+-- 'CloudIdentityDevicesDeviceUsersCancelWipe' request conforms to.+type CloudIdentityDevicesDeviceUsersCancelWipeResource =+  "v1"+    Core.:> Core.CaptureMode "name" "cancelWipe" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.ReqBody+              '[Core.JSON]+              GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest+    Core.:> Core.Post '[Core.JSON] Operation++-- | Cancels an unfinished user account wipe. This operation can be used to cancel device wipe in the gap between the wipe operation returning success and the device being wiped.+--+-- /See:/ 'newCloudIdentityDevicesDeviceUsersCancelWipe' smart constructor.+data CloudIdentityDevicesDeviceUsersCancelWipe = CloudIdentityDevicesDeviceUsersCancelWipe+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Required. <https://cloud.google.com/apis/design/resource_names Resource name> of the Device in format: @devices\/{device}\/deviceUsers\/{device_user}@, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User.+    name :: Core.Text,+    -- | Multipart request metadata.+    payload :: GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityDevicesDeviceUsersCancelWipe' with the minimum fields required to make a request.+newCloudIdentityDevicesDeviceUsersCancelWipe ::+  -- |  Required. <https://cloud.google.com/apis/design/resource_names Resource name> of the Device in format: @devices\/{device}\/deviceUsers\/{device_user}@, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User. See 'name'.+  Core.Text ->+  -- |  Multipart request metadata. See 'payload'.+  GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest ->+  CloudIdentityDevicesDeviceUsersCancelWipe+newCloudIdentityDevicesDeviceUsersCancelWipe name payload =+  CloudIdentityDevicesDeviceUsersCancelWipe+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      name = name,+      payload = payload,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance+  Core.GoogleRequest+    CloudIdentityDevicesDeviceUsersCancelWipe+  where+  type Rs CloudIdentityDevicesDeviceUsersCancelWipe = Operation+  type+    Scopes CloudIdentityDevicesDeviceUsersCancelWipe =+      '[CloudIdentity'Devices]+  requestClient CloudIdentityDevicesDeviceUsersCancelWipe {..} =+    go+      name+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      payload+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CloudIdentityDevicesDeviceUsersCancelWipeResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/Devices/DeviceUsers/ClientStates/Get.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Devices.DeviceUsers.ClientStates.Get+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the client state for the device user+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.devices.deviceUsers.clientStates.get@.+module Gogol.CloudIdentity.Devices.DeviceUsers.ClientStates.Get+  ( -- * Resource+    CloudIdentityDevicesDeviceUsersClientStatesGetResource,++    -- ** Constructing a Request+    CloudIdentityDevicesDeviceUsersClientStatesGet (..),+    newCloudIdentityDevicesDeviceUsersClientStatesGet,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.devices.deviceUsers.clientStates.get@ method which the+-- 'CloudIdentityDevicesDeviceUsersClientStatesGet' request conforms to.+type CloudIdentityDevicesDeviceUsersClientStatesGetResource =+  "v1"+    Core.:> Core.Capture "name" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "customer" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] GoogleAppsCloudidentityDevicesV1ClientState++-- | Gets the client state for the device user+--+-- /See:/ 'newCloudIdentityDevicesDeviceUsersClientStatesGet' smart constructor.+data CloudIdentityDevicesDeviceUsersClientStatesGet = CloudIdentityDevicesDeviceUsersClientStatesGet+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Optional. <https://cloud.google.com/apis/design/resource_names Resource name> of the customer. If you\'re using this API for your own organization, use @customers\/my_customer@ If you\'re using this API to manage another organization, use @customers\/{customer}@, where customer is the customer to whom the device belongs.+    customer :: (Core.Maybe Core.Text),+    -- | Required. <https://cloud.google.com/apis/design/resource_names Resource name> of the ClientState in format: @devices\/{device}\/deviceUsers\/{device_user}\/clientStates\/{partner}@, where @device@ is the unique ID assigned to the Device, @device_user@ is the unique ID assigned to the User and @partner@ identifies the partner storing the data. To get the client state for devices belonging to your own organization, the @partnerId@ is in the format: @customerId-*anystring*@. Where the @customerId@ is your organization\'s customer ID and @anystring@ is any suffix. This suffix is used in setting up Custom Access Levels in Context-Aware Access. You may use @my_customer@ instead of the customer ID for devices managed by your own organization. You may specify @-@ in place of the @{device}@, so the ClientState resource name can be: @devices\/-\/deviceUsers\/{device_user_resource}\/clientStates\/{partner}@.+    name :: Core.Text,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityDevicesDeviceUsersClientStatesGet' with the minimum fields required to make a request.+newCloudIdentityDevicesDeviceUsersClientStatesGet ::+  -- |  Required. <https://cloud.google.com/apis/design/resource_names Resource name> of the ClientState in format: @devices\/{device}\/deviceUsers\/{device_user}\/clientStates\/{partner}@, where @device@ is the unique ID assigned to the Device, @device_user@ is the unique ID assigned to the User and @partner@ identifies the partner storing the data. To get the client state for devices belonging to your own organization, the @partnerId@ is in the format: @customerId-*anystring*@. Where the @customerId@ is your organization\'s customer ID and @anystring@ is any suffix. This suffix is used in setting up Custom Access Levels in Context-Aware Access. You may use @my_customer@ instead of the customer ID for devices managed by your own organization. You may specify @-@ in place of the @{device}@, so the ClientState resource name can be: @devices\/-\/deviceUsers\/{device_user_resource}\/clientStates\/{partner}@. See 'name'.+  Core.Text ->+  CloudIdentityDevicesDeviceUsersClientStatesGet+newCloudIdentityDevicesDeviceUsersClientStatesGet name =+  CloudIdentityDevicesDeviceUsersClientStatesGet+    { xgafv =+        Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      customer = Core.Nothing,+      name = name,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance+  Core.GoogleRequest+    CloudIdentityDevicesDeviceUsersClientStatesGet+  where+  type+    Rs CloudIdentityDevicesDeviceUsersClientStatesGet =+      GoogleAppsCloudidentityDevicesV1ClientState+  type+    Scopes CloudIdentityDevicesDeviceUsersClientStatesGet =+      '[CloudIdentity'Devices, CloudIdentity'Devices'Readonly]+  requestClient CloudIdentityDevicesDeviceUsersClientStatesGet {..} =+    go+      name+      xgafv+      accessToken+      callback+      customer+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CloudIdentityDevicesDeviceUsersClientStatesGetResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/Devices/DeviceUsers/ClientStates/List.hs view
@@ -0,0 +1,140 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Devices.DeviceUsers.ClientStates.List+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the client states for the given search query.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.devices.deviceUsers.clientStates.list@.+module Gogol.CloudIdentity.Devices.DeviceUsers.ClientStates.List+  ( -- * Resource+    CloudIdentityDevicesDeviceUsersClientStatesListResource,++    -- ** Constructing a Request+    CloudIdentityDevicesDeviceUsersClientStatesList (..),+    newCloudIdentityDevicesDeviceUsersClientStatesList,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.devices.deviceUsers.clientStates.list@ method which the+-- 'CloudIdentityDevicesDeviceUsersClientStatesList' request conforms to.+type CloudIdentityDevicesDeviceUsersClientStatesListResource =+  "v1"+    Core.:> Core.Capture "parent" Core.Text+    Core.:> "clientStates"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "customer" Core.Text+    Core.:> Core.QueryParam "filter" Core.Text+    Core.:> Core.QueryParam "orderBy" Core.Text+    Core.:> Core.QueryParam "pageToken" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get+              '[Core.JSON]+              GoogleAppsCloudidentityDevicesV1ListClientStatesResponse++-- | Lists the client states for the given search query.+--+-- /See:/ 'newCloudIdentityDevicesDeviceUsersClientStatesList' smart constructor.+data CloudIdentityDevicesDeviceUsersClientStatesList = CloudIdentityDevicesDeviceUsersClientStatesList+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Optional. <https://cloud.google.com/apis/design/resource_names Resource name> of the customer. If you\'re using this API for your own organization, use @customers\/my_customer@ If you\'re using this API to manage another organization, use @customers\/{customer}@, where customer is the customer to whom the device belongs.+    customer :: (Core.Maybe Core.Text),+    -- | Optional. Additional restrictions when fetching list of client states.+    filter :: (Core.Maybe Core.Text),+    -- | Optional. Order specification for client states in the response.+    orderBy :: (Core.Maybe Core.Text),+    -- | Optional. A page token, received from a previous @ListClientStates@ call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to @ListClientStates@ must match the call that provided the page token.+    pageToken :: (Core.Maybe Core.Text),+    -- | Required. To list all ClientStates, set this to \"devices\/-\/deviceUsers\/-\". To list all ClientStates owned by a DeviceUser, set this to the resource name of the DeviceUser. Format: devices\/{device}\/deviceUsers\/{deviceUser}+    parent :: Core.Text,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityDevicesDeviceUsersClientStatesList' with the minimum fields required to make a request.+newCloudIdentityDevicesDeviceUsersClientStatesList ::+  -- |  Required. To list all ClientStates, set this to \"devices\/-\/deviceUsers\/-\". To list all ClientStates owned by a DeviceUser, set this to the resource name of the DeviceUser. Format: devices\/{device}\/deviceUsers\/{deviceUser} See 'parent'.+  Core.Text ->+  CloudIdentityDevicesDeviceUsersClientStatesList+newCloudIdentityDevicesDeviceUsersClientStatesList parent =+  CloudIdentityDevicesDeviceUsersClientStatesList+    { xgafv =+        Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      customer = Core.Nothing,+      filter = Core.Nothing,+      orderBy = Core.Nothing,+      pageToken = Core.Nothing,+      parent = parent,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance+  Core.GoogleRequest+    CloudIdentityDevicesDeviceUsersClientStatesList+  where+  type+    Rs CloudIdentityDevicesDeviceUsersClientStatesList =+      GoogleAppsCloudidentityDevicesV1ListClientStatesResponse+  type+    Scopes CloudIdentityDevicesDeviceUsersClientStatesList =+      '[CloudIdentity'Devices, CloudIdentity'Devices'Readonly]+  requestClient CloudIdentityDevicesDeviceUsersClientStatesList {..} =+    go+      parent+      xgafv+      accessToken+      callback+      customer+      filter+      orderBy+      pageToken+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CloudIdentityDevicesDeviceUsersClientStatesListResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/Devices/DeviceUsers/ClientStates/Patch.hs view
@@ -0,0 +1,137 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Devices.DeviceUsers.ClientStates.Patch+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the client state for the device user __Note__: This method is available only to customers who have one of the following SKUs: Enterprise Standard, Enterprise Plus, Enterprise for Education, and Cloud Identity Premium+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.devices.deviceUsers.clientStates.patch@.+module Gogol.CloudIdentity.Devices.DeviceUsers.ClientStates.Patch+  ( -- * Resource+    CloudIdentityDevicesDeviceUsersClientStatesPatchResource,++    -- ** Constructing a Request+    CloudIdentityDevicesDeviceUsersClientStatesPatch (..),+    newCloudIdentityDevicesDeviceUsersClientStatesPatch,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.devices.deviceUsers.clientStates.patch@ method which the+-- 'CloudIdentityDevicesDeviceUsersClientStatesPatch' request conforms to.+type CloudIdentityDevicesDeviceUsersClientStatesPatchResource =+  "v1"+    Core.:> Core.Capture "name" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "customer" Core.Text+    Core.:> Core.QueryParam "updateMask" Core.FieldMask+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.ReqBody+              '[Core.JSON]+              GoogleAppsCloudidentityDevicesV1ClientState+    Core.:> Core.Patch '[Core.JSON] Operation++-- | Updates the client state for the device user __Note__: This method is available only to customers who have one of the following SKUs: Enterprise Standard, Enterprise Plus, Enterprise for Education, and Cloud Identity Premium+--+-- /See:/ 'newCloudIdentityDevicesDeviceUsersClientStatesPatch' smart constructor.+data CloudIdentityDevicesDeviceUsersClientStatesPatch = CloudIdentityDevicesDeviceUsersClientStatesPatch+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Optional. <https://cloud.google.com/apis/design/resource_names Resource name> of the customer. If you\'re using this API for your own organization, use @customers\/my_customer@ If you\'re using this API to manage another organization, use @customers\/{customer}@, where customer is the customer to whom the device belongs.+    customer :: (Core.Maybe Core.Text),+    -- | Output only. <https://cloud.google.com/apis/design/resource_names Resource name> of the ClientState in format: @devices\/{device}\/deviceUsers\/{device_user}\/clientState\/{partner}@, where partner corresponds to the partner storing the data. For partners belonging to the \"BeyondCorp Alliance\", this is the partner ID specified to you by Google. For all other callers, this is a string of the form: @{customer}-suffix@, where @customer@ is your customer ID. The /suffix/ is any string the caller specifies. This string will be displayed verbatim in the administration console. This suffix is used in setting up Custom Access Levels in Context-Aware Access. Your organization\'s customer ID can be obtained from the URL: @GET https:\/\/www.googleapis.com\/admin\/directory\/v1\/customers\/my_customer@ The @id@ field in the response contains the customer ID starting with the letter \'C\'. The customer ID to be used in this API is the string after the letter \'C\' (not including \'C\')+    name :: Core.Text,+    -- | Multipart request metadata.+    payload :: GoogleAppsCloudidentityDevicesV1ClientState,+    -- | Optional. Comma-separated list of fully qualified names of fields to be updated. If not specified, all updatable fields in ClientState are updated.+    updateMask :: (Core.Maybe Core.FieldMask),+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityDevicesDeviceUsersClientStatesPatch' with the minimum fields required to make a request.+newCloudIdentityDevicesDeviceUsersClientStatesPatch ::+  -- |  Output only. <https://cloud.google.com/apis/design/resource_names Resource name> of the ClientState in format: @devices\/{device}\/deviceUsers\/{device_user}\/clientState\/{partner}@, where partner corresponds to the partner storing the data. For partners belonging to the \"BeyondCorp Alliance\", this is the partner ID specified to you by Google. For all other callers, this is a string of the form: @{customer}-suffix@, where @customer@ is your customer ID. The /suffix/ is any string the caller specifies. This string will be displayed verbatim in the administration console. This suffix is used in setting up Custom Access Levels in Context-Aware Access. Your organization\'s customer ID can be obtained from the URL: @GET https:\/\/www.googleapis.com\/admin\/directory\/v1\/customers\/my_customer@ The @id@ field in the response contains the customer ID starting with the letter \'C\'. The customer ID to be used in this API is the string after the letter \'C\' (not including \'C\') See 'name'.+  Core.Text ->+  -- |  Multipart request metadata. See 'payload'.+  GoogleAppsCloudidentityDevicesV1ClientState ->+  CloudIdentityDevicesDeviceUsersClientStatesPatch+newCloudIdentityDevicesDeviceUsersClientStatesPatch name payload =+  CloudIdentityDevicesDeviceUsersClientStatesPatch+    { xgafv =+        Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      customer = Core.Nothing,+      name = name,+      payload = payload,+      updateMask = Core.Nothing,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance+  Core.GoogleRequest+    CloudIdentityDevicesDeviceUsersClientStatesPatch+  where+  type+    Rs CloudIdentityDevicesDeviceUsersClientStatesPatch =+      Operation+  type+    Scopes CloudIdentityDevicesDeviceUsersClientStatesPatch =+      '[CloudIdentity'Devices]+  requestClient CloudIdentityDevicesDeviceUsersClientStatesPatch {..} =+    go+      name+      xgafv+      accessToken+      callback+      customer+      updateMask+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      payload+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy+                CloudIdentityDevicesDeviceUsersClientStatesPatchResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/Devices/DeviceUsers/Delete.hs view
@@ -0,0 +1,116 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Devices.DeviceUsers.Delete+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified DeviceUser. This also revokes the user\'s access to device data.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.devices.deviceUsers.delete@.+module Gogol.CloudIdentity.Devices.DeviceUsers.Delete+  ( -- * Resource+    CloudIdentityDevicesDeviceUsersDeleteResource,++    -- ** Constructing a Request+    CloudIdentityDevicesDeviceUsersDelete (..),+    newCloudIdentityDevicesDeviceUsersDelete,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.devices.deviceUsers.delete@ method which the+-- 'CloudIdentityDevicesDeviceUsersDelete' request conforms to.+type CloudIdentityDevicesDeviceUsersDeleteResource =+  "v1"+    Core.:> Core.Capture "name" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "customer" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Delete '[Core.JSON] Operation++-- | Deletes the specified DeviceUser. This also revokes the user\'s access to device data.+--+-- /See:/ 'newCloudIdentityDevicesDeviceUsersDelete' smart constructor.+data CloudIdentityDevicesDeviceUsersDelete = CloudIdentityDevicesDeviceUsersDelete+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Optional. <https://cloud.google.com/apis/design/resource_names Resource name> of the customer. If you\'re using this API for your own organization, use @customers\/my_customer@ If you\'re using this API to manage another organization, use @customers\/{customer}@, where customer is the customer to whom the device belongs.+    customer :: (Core.Maybe Core.Text),+    -- | Required. <https://cloud.google.com/apis/design/resource_names Resource name> of the Device in format: @devices\/{device}\/deviceUsers\/{device_user}@, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User.+    name :: Core.Text,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityDevicesDeviceUsersDelete' with the minimum fields required to make a request.+newCloudIdentityDevicesDeviceUsersDelete ::+  -- |  Required. <https://cloud.google.com/apis/design/resource_names Resource name> of the Device in format: @devices\/{device}\/deviceUsers\/{device_user}@, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User. See 'name'.+  Core.Text ->+  CloudIdentityDevicesDeviceUsersDelete+newCloudIdentityDevicesDeviceUsersDelete name =+  CloudIdentityDevicesDeviceUsersDelete+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      customer = Core.Nothing,+      name = name,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityDevicesDeviceUsersDelete where+  type Rs CloudIdentityDevicesDeviceUsersDelete = Operation+  type+    Scopes CloudIdentityDevicesDeviceUsersDelete =+      '[CloudIdentity'Devices]+  requestClient CloudIdentityDevicesDeviceUsersDelete {..} =+    go+      name+      xgafv+      accessToken+      callback+      customer+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CloudIdentityDevicesDeviceUsersDeleteResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/Devices/DeviceUsers/Get.hs view
@@ -0,0 +1,118 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Devices.DeviceUsers.Get+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the specified DeviceUser+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.devices.deviceUsers.get@.+module Gogol.CloudIdentity.Devices.DeviceUsers.Get+  ( -- * Resource+    CloudIdentityDevicesDeviceUsersGetResource,++    -- ** Constructing a Request+    CloudIdentityDevicesDeviceUsersGet (..),+    newCloudIdentityDevicesDeviceUsersGet,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.devices.deviceUsers.get@ method which the+-- 'CloudIdentityDevicesDeviceUsersGet' request conforms to.+type CloudIdentityDevicesDeviceUsersGetResource =+  "v1"+    Core.:> Core.Capture "name" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "customer" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] GoogleAppsCloudidentityDevicesV1DeviceUser++-- | Retrieves the specified DeviceUser+--+-- /See:/ 'newCloudIdentityDevicesDeviceUsersGet' smart constructor.+data CloudIdentityDevicesDeviceUsersGet = CloudIdentityDevicesDeviceUsersGet+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Optional. <https://cloud.google.com/apis/design/resource_names Resource name> of the customer. If you\'re using this API for your own organization, use @customers\/my_customer@ If you\'re using this API to manage another organization, use @customers\/{customer}@, where customer is the customer to whom the device belongs.+    customer :: (Core.Maybe Core.Text),+    -- | Required. <https://cloud.google.com/apis/design/resource_names Resource name> of the Device in format: @devices\/{device}\/deviceUsers\/{device_user}@, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User.+    name :: Core.Text,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityDevicesDeviceUsersGet' with the minimum fields required to make a request.+newCloudIdentityDevicesDeviceUsersGet ::+  -- |  Required. <https://cloud.google.com/apis/design/resource_names Resource name> of the Device in format: @devices\/{device}\/deviceUsers\/{device_user}@, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User. See 'name'.+  Core.Text ->+  CloudIdentityDevicesDeviceUsersGet+newCloudIdentityDevicesDeviceUsersGet name =+  CloudIdentityDevicesDeviceUsersGet+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      customer = Core.Nothing,+      name = name,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityDevicesDeviceUsersGet where+  type+    Rs CloudIdentityDevicesDeviceUsersGet =+      GoogleAppsCloudidentityDevicesV1DeviceUser+  type+    Scopes CloudIdentityDevicesDeviceUsersGet =+      '[CloudIdentity'Devices, CloudIdentity'Devices'Readonly]+  requestClient CloudIdentityDevicesDeviceUsersGet {..} =+    go+      name+      xgafv+      accessToken+      callback+      customer+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CloudIdentityDevicesDeviceUsersGetResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/Devices/DeviceUsers/List.hs view
@@ -0,0 +1,141 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Devices.DeviceUsers.List+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists\/Searches DeviceUsers.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.devices.deviceUsers.list@.+module Gogol.CloudIdentity.Devices.DeviceUsers.List+  ( -- * Resource+    CloudIdentityDevicesDeviceUsersListResource,++    -- ** Constructing a Request+    CloudIdentityDevicesDeviceUsersList (..),+    newCloudIdentityDevicesDeviceUsersList,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.devices.deviceUsers.list@ method which the+-- 'CloudIdentityDevicesDeviceUsersList' request conforms to.+type CloudIdentityDevicesDeviceUsersListResource =+  "v1"+    Core.:> Core.Capture "parent" Core.Text+    Core.:> "deviceUsers"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "customer" Core.Text+    Core.:> Core.QueryParam "filter" Core.Text+    Core.:> Core.QueryParam "orderBy" Core.Text+    Core.:> Core.QueryParam "pageSize" Core.Int32+    Core.:> Core.QueryParam "pageToken" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get+              '[Core.JSON]+              GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse++-- | Lists\/Searches DeviceUsers.+--+-- /See:/ 'newCloudIdentityDevicesDeviceUsersList' smart constructor.+data CloudIdentityDevicesDeviceUsersList = CloudIdentityDevicesDeviceUsersList+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Optional. <https://cloud.google.com/apis/design/resource_names Resource name> of the customer. If you\'re using this API for your own organization, use @customers\/my_customer@ If you\'re using this API to manage another organization, use @customers\/{customer}@, where customer is the customer to whom the device belongs.+    customer :: (Core.Maybe Core.Text),+    -- | Optional. Additional restrictions when fetching list of devices. For a list of search fields, refer to <https://developers.google.com/admin-sdk/directory/v1/search-operators Mobile device search fields>. Multiple search fields are separated by the space character.+    filter :: (Core.Maybe Core.Text),+    -- | Optional. Order specification for devices in the response.+    orderBy :: (Core.Maybe Core.Text),+    -- | Optional. The maximum number of DeviceUsers to return. If unspecified, at most 5 DeviceUsers will be returned. The maximum value is 20; values above 20 will be coerced to 20.+    pageSize :: (Core.Maybe Core.Int32),+    -- | Optional. A page token, received from a previous @ListDeviceUsers@ call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to @ListBooks@ must match the call that provided the page token.+    pageToken :: (Core.Maybe Core.Text),+    -- | Required. To list all DeviceUsers, set this to \"devices\/-\". To list all DeviceUsers owned by a device, set this to the resource name of the device. Format: devices\/{device}+    parent :: Core.Text,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityDevicesDeviceUsersList' with the minimum fields required to make a request.+newCloudIdentityDevicesDeviceUsersList ::+  -- |  Required. To list all DeviceUsers, set this to \"devices\/-\". To list all DeviceUsers owned by a device, set this to the resource name of the device. Format: devices\/{device} See 'parent'.+  Core.Text ->+  CloudIdentityDevicesDeviceUsersList+newCloudIdentityDevicesDeviceUsersList parent =+  CloudIdentityDevicesDeviceUsersList+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      customer = Core.Nothing,+      filter = Core.Nothing,+      orderBy = Core.Nothing,+      pageSize = Core.Nothing,+      pageToken = Core.Nothing,+      parent = parent,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityDevicesDeviceUsersList where+  type+    Rs CloudIdentityDevicesDeviceUsersList =+      GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse+  type+    Scopes CloudIdentityDevicesDeviceUsersList =+      '[CloudIdentity'Devices, CloudIdentity'Devices'Readonly]+  requestClient CloudIdentityDevicesDeviceUsersList {..} =+    go+      parent+      xgafv+      accessToken+      callback+      customer+      filter+      orderBy+      pageSize+      pageToken+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CloudIdentityDevicesDeviceUsersListResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/Devices/DeviceUsers/Lookup.hs view
@@ -0,0 +1,140 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Devices.DeviceUsers.Lookup+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Looks up resource names of the DeviceUsers associated with the caller\'s credentials, as well as the properties provided in the request. This method must be called with end-user credentials with the scope: https:\/\/www.googleapis.com\/auth\/cloud-identity.devices.lookup If multiple properties are provided, only DeviceUsers having all of these properties are considered as matches - i.e. the query behaves like an AND. Different platforms require different amounts of information from the caller to ensure that the DeviceUser is uniquely identified. - iOS: No properties need to be passed, the caller\'s credentials are sufficient to identify the corresponding DeviceUser. - Android: Specifying the \'android/id\' field is required. - Desktop: Specifying the \'raw/resource_id\' field is required.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.devices.deviceUsers.lookup@.+module Gogol.CloudIdentity.Devices.DeviceUsers.Lookup+  ( -- * Resource+    CloudIdentityDevicesDeviceUsersLookupResource,++    -- ** Constructing a Request+    CloudIdentityDevicesDeviceUsersLookup (..),+    newCloudIdentityDevicesDeviceUsersLookup,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.devices.deviceUsers.lookup@ method which the+-- 'CloudIdentityDevicesDeviceUsersLookup' request conforms to.+type CloudIdentityDevicesDeviceUsersLookupResource =+  "v1"+    Core.:> Core.CaptureMode "parent" "lookup" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "androidId" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "pageSize" Core.Int32+    Core.:> Core.QueryParam "pageToken" Core.Text+    Core.:> Core.QueryParam "rawResourceId" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "userId" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get+              '[Core.JSON]+              GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse++-- | Looks up resource names of the DeviceUsers associated with the caller\'s credentials, as well as the properties provided in the request. This method must be called with end-user credentials with the scope: https:\/\/www.googleapis.com\/auth\/cloud-identity.devices.lookup If multiple properties are provided, only DeviceUsers having all of these properties are considered as matches - i.e. the query behaves like an AND. Different platforms require different amounts of information from the caller to ensure that the DeviceUser is uniquely identified. - iOS: No properties need to be passed, the caller\'s credentials are sufficient to identify the corresponding DeviceUser. - Android: Specifying the \'android/id\' field is required. - Desktop: Specifying the \'raw/resource_id\' field is required.+--+-- /See:/ 'newCloudIdentityDevicesDeviceUsersLookup' smart constructor.+data CloudIdentityDevicesDeviceUsersLookup = CloudIdentityDevicesDeviceUsersLookup+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | Android Id returned by <https://developer.android.com/reference/android/provider/Settings.Secure.html#ANDROID_ID Settings.Secure#ANDROID_ID>.+    androidId :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | The maximum number of DeviceUsers to return. If unspecified, at most 20 DeviceUsers will be returned. The maximum value is 20; values above 20 will be coerced to 20.+    pageSize :: (Core.Maybe Core.Int32),+    -- | A page token, received from a previous @LookupDeviceUsers@ call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to @LookupDeviceUsers@ must match the call that provided the page token.+    pageToken :: (Core.Maybe Core.Text),+    -- | Must be set to \"devices\/-\/deviceUsers\" to search across all DeviceUser belonging to the user.+    parent :: Core.Text,+    -- | Raw Resource Id used by Google Endpoint Verification. If the user is enrolled into Google Endpoint Verification, this id will be saved as the \'device/resource/id\' field in the following platform dependent files. * macOS: ~\/.secureConnect\/context/aware/config.json * Windows: %USERPROFILE%\\AppData\\Local\\Google\\Endpoint Verification\\accounts.json * Linux: ~\/.secureConnect\/context/aware/config.json+    rawResourceId :: (Core.Maybe Core.Text),+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text),+    -- | The user whose DeviceUser\'s resource name will be fetched. Must be set to \'me\' to fetch the DeviceUser\'s resource name for the calling user.+    userId :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityDevicesDeviceUsersLookup' with the minimum fields required to make a request.+newCloudIdentityDevicesDeviceUsersLookup ::+  -- |  Must be set to \"devices\/-\/deviceUsers\" to search across all DeviceUser belonging to the user. See 'parent'.+  Core.Text ->+  CloudIdentityDevicesDeviceUsersLookup+newCloudIdentityDevicesDeviceUsersLookup parent =+  CloudIdentityDevicesDeviceUsersLookup+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      androidId = Core.Nothing,+      callback = Core.Nothing,+      pageSize = Core.Nothing,+      pageToken = Core.Nothing,+      parent = parent,+      rawResourceId = Core.Nothing,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing,+      userId = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityDevicesDeviceUsersLookup where+  type+    Rs CloudIdentityDevicesDeviceUsersLookup =+      GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse+  type+    Scopes CloudIdentityDevicesDeviceUsersLookup =+      '[CloudIdentity'Devices'Lookup]+  requestClient CloudIdentityDevicesDeviceUsersLookup {..} =+    go+      parent+      xgafv+      accessToken+      androidId+      callback+      pageSize+      pageToken+      rawResourceId+      uploadType+      uploadProtocol+      userId+      (Core.Just Core.AltJSON)+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CloudIdentityDevicesDeviceUsersLookupResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/Devices/DeviceUsers/Wipe.hs view
@@ -0,0 +1,120 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Devices.DeviceUsers.Wipe+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Wipes the user\'s account on a device. Other data on the device that is not associated with the user\'s work account is not affected. For example, if a Gmail app is installed on a device that is used for personal and work purposes, and the user is logged in to the Gmail app with their personal account as well as their work account, wiping the \"deviceUser\" by their work administrator will not affect their personal account within Gmail or other apps such as Photos.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.devices.deviceUsers.wipe@.+module Gogol.CloudIdentity.Devices.DeviceUsers.Wipe+  ( -- * Resource+    CloudIdentityDevicesDeviceUsersWipeResource,++    -- ** Constructing a Request+    CloudIdentityDevicesDeviceUsersWipe (..),+    newCloudIdentityDevicesDeviceUsersWipe,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.devices.deviceUsers.wipe@ method which the+-- 'CloudIdentityDevicesDeviceUsersWipe' request conforms to.+type CloudIdentityDevicesDeviceUsersWipeResource =+  "v1"+    Core.:> Core.CaptureMode "name" "wipe" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.ReqBody+              '[Core.JSON]+              GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest+    Core.:> Core.Post '[Core.JSON] Operation++-- | Wipes the user\'s account on a device. Other data on the device that is not associated with the user\'s work account is not affected. For example, if a Gmail app is installed on a device that is used for personal and work purposes, and the user is logged in to the Gmail app with their personal account as well as their work account, wiping the \"deviceUser\" by their work administrator will not affect their personal account within Gmail or other apps such as Photos.+--+-- /See:/ 'newCloudIdentityDevicesDeviceUsersWipe' smart constructor.+data CloudIdentityDevicesDeviceUsersWipe = CloudIdentityDevicesDeviceUsersWipe+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Required. <https://cloud.google.com/apis/design/resource_names Resource name> of the Device in format: @devices\/{device}\/deviceUsers\/{device_user}@, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User.+    name :: Core.Text,+    -- | Multipart request metadata.+    payload :: GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityDevicesDeviceUsersWipe' with the minimum fields required to make a request.+newCloudIdentityDevicesDeviceUsersWipe ::+  -- |  Required. <https://cloud.google.com/apis/design/resource_names Resource name> of the Device in format: @devices\/{device}\/deviceUsers\/{device_user}@, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User. See 'name'.+  Core.Text ->+  -- |  Multipart request metadata. See 'payload'.+  GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest ->+  CloudIdentityDevicesDeviceUsersWipe+newCloudIdentityDevicesDeviceUsersWipe name payload =+  CloudIdentityDevicesDeviceUsersWipe+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      name = name,+      payload = payload,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityDevicesDeviceUsersWipe where+  type Rs CloudIdentityDevicesDeviceUsersWipe = Operation+  type+    Scopes CloudIdentityDevicesDeviceUsersWipe =+      '[CloudIdentity'Devices]+  requestClient CloudIdentityDevicesDeviceUsersWipe {..} =+    go+      name+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      payload+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CloudIdentityDevicesDeviceUsersWipeResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/Devices/Get.hs view
@@ -0,0 +1,116 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Devices.Get+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the specified device.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.devices.get@.+module Gogol.CloudIdentity.Devices.Get+  ( -- * Resource+    CloudIdentityDevicesGetResource,++    -- ** Constructing a Request+    CloudIdentityDevicesGet (..),+    newCloudIdentityDevicesGet,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.devices.get@ method which the+-- 'CloudIdentityDevicesGet' request conforms to.+type CloudIdentityDevicesGetResource =+  "v1"+    Core.:> Core.Capture "name" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "customer" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] GoogleAppsCloudidentityDevicesV1Device++-- | Retrieves the specified device.+--+-- /See:/ 'newCloudIdentityDevicesGet' smart constructor.+data CloudIdentityDevicesGet = CloudIdentityDevicesGet+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Optional. <https://cloud.google.com/apis/design/resource_names Resource name> of the Customer in the format: @customers\/{customer}@, where customer is the customer to whom the device belongs. If you\'re using this API for your own organization, use @customers\/my_customer@. If you\'re using this API to manage another organization, use @customers\/{customer}@, where customer is the customer to whom the device belongs.+    customer :: (Core.Maybe Core.Text),+    -- | Required. <https://cloud.google.com/apis/design/resource_names Resource name> of the Device in the format: @devices\/{device}@, where device is the unique ID assigned to the Device.+    name :: Core.Text,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityDevicesGet' with the minimum fields required to make a request.+newCloudIdentityDevicesGet ::+  -- |  Required. <https://cloud.google.com/apis/design/resource_names Resource name> of the Device in the format: @devices\/{device}@, where device is the unique ID assigned to the Device. See 'name'.+  Core.Text ->+  CloudIdentityDevicesGet+newCloudIdentityDevicesGet name =+  CloudIdentityDevicesGet+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      customer = Core.Nothing,+      name = name,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityDevicesGet where+  type+    Rs CloudIdentityDevicesGet =+      GoogleAppsCloudidentityDevicesV1Device+  type+    Scopes CloudIdentityDevicesGet =+      '[CloudIdentity'Devices, CloudIdentity'Devices'Readonly]+  requestClient CloudIdentityDevicesGet {..} =+    go+      name+      xgafv+      accessToken+      callback+      customer+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      cloudIdentityService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy CloudIdentityDevicesGetResource)+          Core.mempty
+ gen/Gogol/CloudIdentity/Devices/List.hs view
@@ -0,0 +1,137 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Devices.List+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists\/Searches devices.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.devices.list@.+module Gogol.CloudIdentity.Devices.List+  ( -- * Resource+    CloudIdentityDevicesListResource,++    -- ** Constructing a Request+    CloudIdentityDevicesList (..),+    newCloudIdentityDevicesList,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.devices.list@ method which the+-- 'CloudIdentityDevicesList' request conforms to.+type CloudIdentityDevicesListResource =+  "v1"+    Core.:> "devices"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "customer" Core.Text+    Core.:> Core.QueryParam "filter" Core.Text+    Core.:> Core.QueryParam "orderBy" Core.Text+    Core.:> Core.QueryParam "pageSize" Core.Int32+    Core.:> Core.QueryParam "pageToken" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "view" DevicesListView+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get+              '[Core.JSON]+              GoogleAppsCloudidentityDevicesV1ListDevicesResponse++-- | Lists\/Searches devices.+--+-- /See:/ 'newCloudIdentityDevicesList' smart constructor.+data CloudIdentityDevicesList = CloudIdentityDevicesList+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Optional. <https://cloud.google.com/apis/design/resource_names Resource name> of the customer in the format: @customers\/{customer}@, where customer is the customer to whom the device belongs. If you\'re using this API for your own organization, use @customers\/my_customer@. If you\'re using this API to manage another organization, use @customers\/{customer}@, where customer is the customer to whom the device belongs.+    customer :: (Core.Maybe Core.Text),+    -- | Optional. Additional restrictions when fetching list of devices. For a list of search fields, refer to <https://developers.google.com/admin-sdk/directory/v1/search-operators Mobile device search fields>. Multiple search fields are separated by the space character.+    filter :: (Core.Maybe Core.Text),+    -- | Optional. Order specification for devices in the response. Only one of the following field names may be used to specify the order: @create_time@, @last_sync_time@, @model@, @os_version@, @device_type@ and @serial_number@. @desc@ may be specified optionally at the end to specify results to be sorted in descending order. Default order is ascending.+    orderBy :: (Core.Maybe Core.Text),+    -- | Optional. The maximum number of Devices to return. If unspecified, at most 20 Devices will be returned. The maximum value is 100; values above 100 will be coerced to 100.+    pageSize :: (Core.Maybe Core.Int32),+    -- | Optional. A page token, received from a previous @ListDevices@ call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to @ListDevices@ must match the call that provided the page token.+    pageToken :: (Core.Maybe Core.Text),+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text),+    -- | Optional. The view to use for the List request.+    view :: (Core.Maybe DevicesListView)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityDevicesList' with the minimum fields required to make a request.+newCloudIdentityDevicesList ::+  CloudIdentityDevicesList+newCloudIdentityDevicesList =+  CloudIdentityDevicesList+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      customer = Core.Nothing,+      filter = Core.Nothing,+      orderBy = Core.Nothing,+      pageSize = Core.Nothing,+      pageToken = Core.Nothing,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing,+      view = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityDevicesList where+  type+    Rs CloudIdentityDevicesList =+      GoogleAppsCloudidentityDevicesV1ListDevicesResponse+  type+    Scopes CloudIdentityDevicesList =+      '[CloudIdentity'Devices, CloudIdentity'Devices'Readonly]+  requestClient CloudIdentityDevicesList {..} =+    go+      xgafv+      accessToken+      callback+      customer+      filter+      orderBy+      pageSize+      pageToken+      uploadType+      uploadProtocol+      view+      (Core.Just Core.AltJSON)+      cloudIdentityService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy CloudIdentityDevicesListResource)+          Core.mempty
+ gen/Gogol/CloudIdentity/Devices/Wipe.hs view
@@ -0,0 +1,116 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Devices.Wipe+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Wipes all data on the specified device.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.devices.wipe@.+module Gogol.CloudIdentity.Devices.Wipe+  ( -- * Resource+    CloudIdentityDevicesWipeResource,++    -- ** Constructing a Request+    CloudIdentityDevicesWipe (..),+    newCloudIdentityDevicesWipe,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.devices.wipe@ method which the+-- 'CloudIdentityDevicesWipe' request conforms to.+type CloudIdentityDevicesWipeResource =+  "v1"+    Core.:> Core.CaptureMode "name" "wipe" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.ReqBody+              '[Core.JSON]+              GoogleAppsCloudidentityDevicesV1WipeDeviceRequest+    Core.:> Core.Post '[Core.JSON] Operation++-- | Wipes all data on the specified device.+--+-- /See:/ 'newCloudIdentityDevicesWipe' smart constructor.+data CloudIdentityDevicesWipe = CloudIdentityDevicesWipe+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Required. <https://cloud.google.com/apis/design/resource_names Resource name> of the Device in format: @devices\/{device}\/deviceUsers\/{device_user}@, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User.+    name :: Core.Text,+    -- | Multipart request metadata.+    payload :: GoogleAppsCloudidentityDevicesV1WipeDeviceRequest,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityDevicesWipe' with the minimum fields required to make a request.+newCloudIdentityDevicesWipe ::+  -- |  Required. <https://cloud.google.com/apis/design/resource_names Resource name> of the Device in format: @devices\/{device}\/deviceUsers\/{device_user}@, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User. See 'name'.+  Core.Text ->+  -- |  Multipart request metadata. See 'payload'.+  GoogleAppsCloudidentityDevicesV1WipeDeviceRequest ->+  CloudIdentityDevicesWipe+newCloudIdentityDevicesWipe name payload =+  CloudIdentityDevicesWipe+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      name = name,+      payload = payload,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityDevicesWipe where+  type Rs CloudIdentityDevicesWipe = Operation+  type Scopes CloudIdentityDevicesWipe = '[CloudIdentity'Devices]+  requestClient CloudIdentityDevicesWipe {..} =+    go+      name+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      payload+      cloudIdentityService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy CloudIdentityDevicesWipeResource)+          Core.mempty
+ gen/Gogol/CloudIdentity/Groups/Create.hs view
@@ -0,0 +1,115 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Groups.Create+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a Group.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.create@.+module Gogol.CloudIdentity.Groups.Create+  ( -- * Resource+    CloudIdentityGroupsCreateResource,++    -- ** Constructing a Request+    CloudIdentityGroupsCreate (..),+    newCloudIdentityGroupsCreate,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.groups.create@ method which the+-- 'CloudIdentityGroupsCreate' request conforms to.+type CloudIdentityGroupsCreateResource =+  "v1"+    Core.:> "groups"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "initialGroupConfig" GroupsCreateInitialGroupConfig+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.ReqBody '[Core.JSON] Group+    Core.:> Core.Post '[Core.JSON] Operation++-- | Creates a Group.+--+-- /See:/ 'newCloudIdentityGroupsCreate' smart constructor.+data CloudIdentityGroupsCreate = CloudIdentityGroupsCreate+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Optional. The initial configuration option for the @Group@.+    initialGroupConfig :: (Core.Maybe GroupsCreateInitialGroupConfig),+    -- | Multipart request metadata.+    payload :: Group,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityGroupsCreate' with the minimum fields required to make a request.+newCloudIdentityGroupsCreate ::+  -- |  Multipart request metadata. See 'payload'.+  Group ->+  CloudIdentityGroupsCreate+newCloudIdentityGroupsCreate payload =+  CloudIdentityGroupsCreate+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      initialGroupConfig = Core.Nothing,+      payload = payload,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityGroupsCreate where+  type Rs CloudIdentityGroupsCreate = Operation+  type+    Scopes CloudIdentityGroupsCreate =+      '[CloudIdentity'Groups, CloudPlatform'FullControl]+  requestClient CloudIdentityGroupsCreate {..} =+    go+      xgafv+      accessToken+      callback+      initialGroupConfig+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      payload+      cloudIdentityService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy CloudIdentityGroupsCreateResource)+          Core.mempty
+ gen/Gogol/CloudIdentity/Groups/Delete.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Groups.Delete+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a @Group@.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.delete@.+module Gogol.CloudIdentity.Groups.Delete+  ( -- * Resource+    CloudIdentityGroupsDeleteResource,++    -- ** Constructing a Request+    CloudIdentityGroupsDelete (..),+    newCloudIdentityGroupsDelete,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.groups.delete@ method which the+-- 'CloudIdentityGroupsDelete' request conforms to.+type CloudIdentityGroupsDeleteResource =+  "v1"+    Core.:> Core.Capture "name" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Delete '[Core.JSON] Operation++-- | Deletes a @Group@.+--+-- /See:/ 'newCloudIdentityGroupsDelete' smart constructor.+data CloudIdentityGroupsDelete = CloudIdentityGroupsDelete+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Required. The <https://cloud.google.com/apis/design/resource_names resource name> of the @Group@ to retrieve. Must be of the form @groups\/{group}@.+    name :: Core.Text,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityGroupsDelete' with the minimum fields required to make a request.+newCloudIdentityGroupsDelete ::+  -- |  Required. The <https://cloud.google.com/apis/design/resource_names resource name> of the @Group@ to retrieve. Must be of the form @groups\/{group}@. See 'name'.+  Core.Text ->+  CloudIdentityGroupsDelete+newCloudIdentityGroupsDelete name =+  CloudIdentityGroupsDelete+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      name = name,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityGroupsDelete where+  type Rs CloudIdentityGroupsDelete = Operation+  type+    Scopes CloudIdentityGroupsDelete =+      '[CloudIdentity'Groups, CloudPlatform'FullControl]+  requestClient CloudIdentityGroupsDelete {..} =+    go+      name+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      cloudIdentityService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy CloudIdentityGroupsDeleteResource)+          Core.mempty
+ gen/Gogol/CloudIdentity/Groups/Get.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Groups.Get+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a @Group@.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.get@.+module Gogol.CloudIdentity.Groups.Get+  ( -- * Resource+    CloudIdentityGroupsGetResource,++    -- ** Constructing a Request+    CloudIdentityGroupsGet (..),+    newCloudIdentityGroupsGet,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.groups.get@ method which the+-- 'CloudIdentityGroupsGet' request conforms to.+type CloudIdentityGroupsGetResource =+  "v1"+    Core.:> Core.Capture "name" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] Group++-- | Retrieves a @Group@.+--+-- /See:/ 'newCloudIdentityGroupsGet' smart constructor.+data CloudIdentityGroupsGet = CloudIdentityGroupsGet+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Required. The <https://cloud.google.com/apis/design/resource_names resource name> of the @Group@ to retrieve. Must be of the form @groups\/{group}@.+    name :: Core.Text,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityGroupsGet' with the minimum fields required to make a request.+newCloudIdentityGroupsGet ::+  -- |  Required. The <https://cloud.google.com/apis/design/resource_names resource name> of the @Group@ to retrieve. Must be of the form @groups\/{group}@. See 'name'.+  Core.Text ->+  CloudIdentityGroupsGet+newCloudIdentityGroupsGet name =+  CloudIdentityGroupsGet+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      name = name,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityGroupsGet where+  type Rs CloudIdentityGroupsGet = Group+  type+    Scopes CloudIdentityGroupsGet =+      '[ CloudIdentity'Groups,+         CloudIdentity'Groups'Readonly,+         CloudPlatform'FullControl+       ]+  requestClient CloudIdentityGroupsGet {..} =+    go+      name+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      cloudIdentityService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy CloudIdentityGroupsGetResource)+          Core.mempty
+ gen/Gogol/CloudIdentity/Groups/GetSecuritySettings.hs view
@@ -0,0 +1,119 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Groups.GetSecuritySettings+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get Security Settings+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.getSecuritySettings@.+module Gogol.CloudIdentity.Groups.GetSecuritySettings+  ( -- * Resource+    CloudIdentityGroupsGetSecuritySettingsResource,++    -- ** Constructing a Request+    CloudIdentityGroupsGetSecuritySettings (..),+    newCloudIdentityGroupsGetSecuritySettings,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.groups.getSecuritySettings@ method which the+-- 'CloudIdentityGroupsGetSecuritySettings' request conforms to.+type CloudIdentityGroupsGetSecuritySettingsResource =+  "v1"+    Core.:> Core.Capture "name" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "readMask" Core.FieldMask+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] SecuritySettings++-- | Get Security Settings+--+-- /See:/ 'newCloudIdentityGroupsGetSecuritySettings' smart constructor.+data CloudIdentityGroupsGetSecuritySettings = CloudIdentityGroupsGetSecuritySettings+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Required. The security settings to retrieve. Format: @groups\/{group_id}\/securitySettings@+    name :: Core.Text,+    -- | Field-level read mask of which fields to return. \"*\" returns all fields. If not specified, all fields will be returned. May only contain the following field: @member_restriction@.+    readMask :: (Core.Maybe Core.FieldMask),+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityGroupsGetSecuritySettings' with the minimum fields required to make a request.+newCloudIdentityGroupsGetSecuritySettings ::+  -- |  Required. The security settings to retrieve. Format: @groups\/{group_id}\/securitySettings@ See 'name'.+  Core.Text ->+  CloudIdentityGroupsGetSecuritySettings+newCloudIdentityGroupsGetSecuritySettings name =+  CloudIdentityGroupsGetSecuritySettings+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      name = name,+      readMask = Core.Nothing,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityGroupsGetSecuritySettings where+  type Rs CloudIdentityGroupsGetSecuritySettings = SecuritySettings+  type+    Scopes CloudIdentityGroupsGetSecuritySettings =+      '[ CloudIdentity'Groups,+         CloudIdentity'Groups'Readonly,+         CloudPlatform'FullControl+       ]+  requestClient CloudIdentityGroupsGetSecuritySettings {..} =+    go+      name+      xgafv+      accessToken+      callback+      readMask+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CloudIdentityGroupsGetSecuritySettingsResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/Groups/List.hs view
@@ -0,0 +1,126 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Groups.List+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the @Group@ resources under a customer or namespace.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.list@.+module Gogol.CloudIdentity.Groups.List+  ( -- * Resource+    CloudIdentityGroupsListResource,++    -- ** Constructing a Request+    CloudIdentityGroupsList (..),+    newCloudIdentityGroupsList,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.groups.list@ method which the+-- 'CloudIdentityGroupsList' request conforms to.+type CloudIdentityGroupsListResource =+  "v1"+    Core.:> "groups"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "pageSize" Core.Int32+    Core.:> Core.QueryParam "pageToken" Core.Text+    Core.:> Core.QueryParam "parent" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "view" GroupsListView+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] ListGroupsResponse++-- | Lists the @Group@ resources under a customer or namespace.+--+-- /See:/ 'newCloudIdentityGroupsList' smart constructor.+data CloudIdentityGroupsList = CloudIdentityGroupsList+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | The maximum number of results to return. Note that the number of results returned may be less than this value even if there are more available results. To fetch all results, clients must continue calling this method repeatedly until the response no longer contains a @next_page_token@. If unspecified, defaults to 200 for @View.BASIC@ and to 50 for @View.FULL@. Must not be greater than 1000 for @View.BASIC@ or 500 for @View.FULL@.+    pageSize :: (Core.Maybe Core.Int32),+    -- | The @next_page_token@ value returned from a previous list request, if any.+    pageToken :: (Core.Maybe Core.Text),+    -- | Required. The parent resource under which to list all @Group@ resources. Must be of the form @identitysources\/{identity_source}@ for external- identity-mapped groups or @customers\/{customer_id}@ for Google Groups. The @customer_id@ must begin with \"C\" (for example, \'C046psxkn\'). [Find your customer ID.] (https:\/\/support.google.com\/cloudidentity\/answer\/10070793)+    parent :: (Core.Maybe Core.Text),+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text),+    -- | The level of detail to be returned. If unspecified, defaults to @View.BASIC@.+    view :: (Core.Maybe GroupsListView)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityGroupsList' with the minimum fields required to make a request.+newCloudIdentityGroupsList ::+  CloudIdentityGroupsList+newCloudIdentityGroupsList =+  CloudIdentityGroupsList+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      pageSize = Core.Nothing,+      pageToken = Core.Nothing,+      parent = Core.Nothing,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing,+      view = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityGroupsList where+  type Rs CloudIdentityGroupsList = ListGroupsResponse+  type+    Scopes CloudIdentityGroupsList =+      '[ CloudIdentity'Groups,+         CloudIdentity'Groups'Readonly,+         CloudPlatform'FullControl+       ]+  requestClient CloudIdentityGroupsList {..} =+    go+      xgafv+      accessToken+      callback+      pageSize+      pageToken+      parent+      uploadType+      uploadProtocol+      view+      (Core.Just Core.AltJSON)+      cloudIdentityService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy CloudIdentityGroupsListResource)+          Core.mempty
+ gen/Gogol/CloudIdentity/Groups/Lookup.hs view
@@ -0,0 +1,116 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Groups.Lookup+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Looks up the <https://cloud.google.com/apis/design/resource_names resource name> of a @Group@ by its @EntityKey@.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.lookup@.+module Gogol.CloudIdentity.Groups.Lookup+  ( -- * Resource+    CloudIdentityGroupsLookupResource,++    -- ** Constructing a Request+    CloudIdentityGroupsLookup (..),+    newCloudIdentityGroupsLookup,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.groups.lookup@ method which the+-- 'CloudIdentityGroupsLookup' request conforms to.+type CloudIdentityGroupsLookupResource =+  "v1"+    Core.:> "groups:lookup"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "groupKey.id" Core.Text+    Core.:> Core.QueryParam "groupKey.namespace" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] LookupGroupNameResponse++-- | Looks up the <https://cloud.google.com/apis/design/resource_names resource name> of a @Group@ by its @EntityKey@.+--+-- /See:/ 'newCloudIdentityGroupsLookup' smart constructor.+data CloudIdentityGroupsLookup = CloudIdentityGroupsLookup+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | The ID of the entity. For Google-managed entities, the @id@ should be the email address of an existing group or user. Email addresses need to adhere to <https://support.google.com/a/answer/9193374 name guidelines for users and groups>. For external-identity-mapped entities, the @id@ must be a string conforming to the Identity Source\'s requirements. Must be unique within a @namespace@.+    groupKeyId :: (Core.Maybe Core.Text),+    -- | The namespace in which the entity exists. If not specified, the @EntityKey@ represents a Google-managed entity such as a Google user or a Google Group. If specified, the @EntityKey@ represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of @identitysources\/{identity_source}@.+    groupKeyNamespace :: (Core.Maybe Core.Text),+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityGroupsLookup' with the minimum fields required to make a request.+newCloudIdentityGroupsLookup ::+  CloudIdentityGroupsLookup+newCloudIdentityGroupsLookup =+  CloudIdentityGroupsLookup+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      groupKeyId = Core.Nothing,+      groupKeyNamespace = Core.Nothing,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityGroupsLookup where+  type Rs CloudIdentityGroupsLookup = LookupGroupNameResponse+  type+    Scopes CloudIdentityGroupsLookup =+      '[ CloudIdentity'Groups,+         CloudIdentity'Groups'Readonly,+         CloudPlatform'FullControl+       ]+  requestClient CloudIdentityGroupsLookup {..} =+    go+      xgafv+      accessToken+      callback+      groupKeyId+      groupKeyNamespace+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      cloudIdentityService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy CloudIdentityGroupsLookupResource)+          Core.mempty
+ gen/Gogol/CloudIdentity/Groups/Memberships/CheckTransitiveMembership.hs view
@@ -0,0 +1,128 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Groups.Memberships.CheckTransitiveMembership+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Check a potential member for membership in a group. __Note:__ This feature is only available to Google Workspace Enterprise Standard, Enterprise Plus, and Enterprise for Education; and Cloud Identity Premium accounts. If the account of the member is not one of these, a 403 (PERMISSION_DENIED) HTTP status code will be returned. A member has membership to a group as long as there is a single viewable transitive membership between the group and the member. The actor must have view permissions to at least one transitive membership between the member and group.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.memberships.checkTransitiveMembership@.+module Gogol.CloudIdentity.Groups.Memberships.CheckTransitiveMembership+  ( -- * Resource+    CloudIdentityGroupsMembershipsCheckTransitiveMembershipResource,++    -- ** Constructing a Request+    CloudIdentityGroupsMembershipsCheckTransitiveMembership (..),+    newCloudIdentityGroupsMembershipsCheckTransitiveMembership,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.groups.memberships.checkTransitiveMembership@ method which the+-- 'CloudIdentityGroupsMembershipsCheckTransitiveMembership' request conforms to.+type CloudIdentityGroupsMembershipsCheckTransitiveMembershipResource =+  "v1"+    Core.:> Core.Capture "parent" Core.Text+    Core.:> "memberships:checkTransitiveMembership"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "query" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] CheckTransitiveMembershipResponse++-- | Check a potential member for membership in a group. __Note:__ This feature is only available to Google Workspace Enterprise Standard, Enterprise Plus, and Enterprise for Education; and Cloud Identity Premium accounts. If the account of the member is not one of these, a 403 (PERMISSION_DENIED) HTTP status code will be returned. A member has membership to a group as long as there is a single viewable transitive membership between the group and the member. The actor must have view permissions to at least one transitive membership between the member and group.+--+-- /See:/ 'newCloudIdentityGroupsMembershipsCheckTransitiveMembership' smart constructor.+data CloudIdentityGroupsMembershipsCheckTransitiveMembership = CloudIdentityGroupsMembershipsCheckTransitiveMembership+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | <https://cloud.google.com/apis/design/resource_names Resource name> of the group to check the transitive membership in. Format: @groups\/{group}@, where @group@ is the unique id assigned to the Group to which the Membership belongs to.+    parent :: Core.Text,+    -- | Required. A CEL expression that MUST include member specification. This is a @required@ field. Certain groups are uniquely identified by both a \'member/key/id\' and a \'member/key/namespace\', which requires an additional query input: \'member/key/namespace\'. Example query: @member_key_id == \'member_key_id_value\'@+    query :: (Core.Maybe Core.Text),+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityGroupsMembershipsCheckTransitiveMembership' with the minimum fields required to make a request.+newCloudIdentityGroupsMembershipsCheckTransitiveMembership ::+  -- |  <https://cloud.google.com/apis/design/resource_names Resource name> of the group to check the transitive membership in. Format: @groups\/{group}@, where @group@ is the unique id assigned to the Group to which the Membership belongs to. See 'parent'.+  Core.Text ->+  CloudIdentityGroupsMembershipsCheckTransitiveMembership+newCloudIdentityGroupsMembershipsCheckTransitiveMembership parent =+  CloudIdentityGroupsMembershipsCheckTransitiveMembership+    { xgafv =+        Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      parent = parent,+      query = Core.Nothing,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance+  Core.GoogleRequest+    CloudIdentityGroupsMembershipsCheckTransitiveMembership+  where+  type+    Rs CloudIdentityGroupsMembershipsCheckTransitiveMembership =+      CheckTransitiveMembershipResponse+  type+    Scopes CloudIdentityGroupsMembershipsCheckTransitiveMembership =+      '[ CloudIdentity'Groups,+         CloudIdentity'Groups'Readonly,+         CloudPlatform'FullControl+       ]+  requestClient+    CloudIdentityGroupsMembershipsCheckTransitiveMembership {..} =+      go+        parent+        xgafv+        accessToken+        callback+        query+        uploadType+        uploadProtocol+        (Core.Just Core.AltJSON)+        cloudIdentityService+      where+        go =+          Core.buildClient+            ( Core.Proxy ::+                Core.Proxy+                  CloudIdentityGroupsMembershipsCheckTransitiveMembershipResource+            )+            Core.mempty
+ gen/Gogol/CloudIdentity/Groups/Memberships/Create.hs view
@@ -0,0 +1,119 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Groups.Memberships.Create+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a @Membership@.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.memberships.create@.+module Gogol.CloudIdentity.Groups.Memberships.Create+  ( -- * Resource+    CloudIdentityGroupsMembershipsCreateResource,++    -- ** Constructing a Request+    CloudIdentityGroupsMembershipsCreate (..),+    newCloudIdentityGroupsMembershipsCreate,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.groups.memberships.create@ method which the+-- 'CloudIdentityGroupsMembershipsCreate' request conforms to.+type CloudIdentityGroupsMembershipsCreateResource =+  "v1"+    Core.:> Core.Capture "parent" Core.Text+    Core.:> "memberships"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.ReqBody '[Core.JSON] Membership+    Core.:> Core.Post '[Core.JSON] Operation++-- | Creates a @Membership@.+--+-- /See:/ 'newCloudIdentityGroupsMembershipsCreate' smart constructor.+data CloudIdentityGroupsMembershipsCreate = CloudIdentityGroupsMembershipsCreate+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Required. The parent @Group@ resource under which to create the @Membership@. Must be of the form @groups\/{group}@.+    parent :: Core.Text,+    -- | Multipart request metadata.+    payload :: Membership,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityGroupsMembershipsCreate' with the minimum fields required to make a request.+newCloudIdentityGroupsMembershipsCreate ::+  -- |  Required. The parent @Group@ resource under which to create the @Membership@. Must be of the form @groups\/{group}@. See 'parent'.+  Core.Text ->+  -- |  Multipart request metadata. See 'payload'.+  Membership ->+  CloudIdentityGroupsMembershipsCreate+newCloudIdentityGroupsMembershipsCreate parent payload =+  CloudIdentityGroupsMembershipsCreate+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      parent = parent,+      payload = payload,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityGroupsMembershipsCreate where+  type Rs CloudIdentityGroupsMembershipsCreate = Operation+  type+    Scopes CloudIdentityGroupsMembershipsCreate =+      '[CloudIdentity'Groups, CloudPlatform'FullControl]+  requestClient CloudIdentityGroupsMembershipsCreate {..} =+    go+      parent+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      payload+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CloudIdentityGroupsMembershipsCreateResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/Groups/Memberships/Delete.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Groups.Memberships.Delete+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a @Membership@.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.memberships.delete@.+module Gogol.CloudIdentity.Groups.Memberships.Delete+  ( -- * Resource+    CloudIdentityGroupsMembershipsDeleteResource,++    -- ** Constructing a Request+    CloudIdentityGroupsMembershipsDelete (..),+    newCloudIdentityGroupsMembershipsDelete,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.groups.memberships.delete@ method which the+-- 'CloudIdentityGroupsMembershipsDelete' request conforms to.+type CloudIdentityGroupsMembershipsDeleteResource =+  "v1"+    Core.:> Core.Capture "name" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Delete '[Core.JSON] Operation++-- | Deletes a @Membership@.+--+-- /See:/ 'newCloudIdentityGroupsMembershipsDelete' smart constructor.+data CloudIdentityGroupsMembershipsDelete = CloudIdentityGroupsMembershipsDelete+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Required. The <https://cloud.google.com/apis/design/resource_names resource name> of the @Membership@ to delete. Must be of the form @groups\/{group}\/memberships\/{membership}@+    name :: Core.Text,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityGroupsMembershipsDelete' with the minimum fields required to make a request.+newCloudIdentityGroupsMembershipsDelete ::+  -- |  Required. The <https://cloud.google.com/apis/design/resource_names resource name> of the @Membership@ to delete. Must be of the form @groups\/{group}\/memberships\/{membership}@ See 'name'.+  Core.Text ->+  CloudIdentityGroupsMembershipsDelete+newCloudIdentityGroupsMembershipsDelete name =+  CloudIdentityGroupsMembershipsDelete+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      name = name,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityGroupsMembershipsDelete where+  type Rs CloudIdentityGroupsMembershipsDelete = Operation+  type+    Scopes CloudIdentityGroupsMembershipsDelete =+      '[CloudIdentity'Groups, CloudPlatform'FullControl]+  requestClient CloudIdentityGroupsMembershipsDelete {..} =+    go+      name+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CloudIdentityGroupsMembershipsDeleteResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/Groups/Memberships/Get.hs view
@@ -0,0 +1,114 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Groups.Memberships.Get+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a @Membership@.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.memberships.get@.+module Gogol.CloudIdentity.Groups.Memberships.Get+  ( -- * Resource+    CloudIdentityGroupsMembershipsGetResource,++    -- ** Constructing a Request+    CloudIdentityGroupsMembershipsGet (..),+    newCloudIdentityGroupsMembershipsGet,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.groups.memberships.get@ method which the+-- 'CloudIdentityGroupsMembershipsGet' request conforms to.+type CloudIdentityGroupsMembershipsGetResource =+  "v1"+    Core.:> Core.Capture "name" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] Membership++-- | Retrieves a @Membership@.+--+-- /See:/ 'newCloudIdentityGroupsMembershipsGet' smart constructor.+data CloudIdentityGroupsMembershipsGet = CloudIdentityGroupsMembershipsGet+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Required. The <https://cloud.google.com/apis/design/resource_names resource name> of the @Membership@ to retrieve. Must be of the form @groups\/{group}\/memberships\/{membership}@.+    name :: Core.Text,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityGroupsMembershipsGet' with the minimum fields required to make a request.+newCloudIdentityGroupsMembershipsGet ::+  -- |  Required. The <https://cloud.google.com/apis/design/resource_names resource name> of the @Membership@ to retrieve. Must be of the form @groups\/{group}\/memberships\/{membership}@. See 'name'.+  Core.Text ->+  CloudIdentityGroupsMembershipsGet+newCloudIdentityGroupsMembershipsGet name =+  CloudIdentityGroupsMembershipsGet+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      name = name,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityGroupsMembershipsGet where+  type Rs CloudIdentityGroupsMembershipsGet = Membership+  type+    Scopes CloudIdentityGroupsMembershipsGet =+      '[ CloudIdentity'Groups,+         CloudIdentity'Groups'Readonly,+         CloudPlatform'FullControl+       ]+  requestClient CloudIdentityGroupsMembershipsGet {..} =+    go+      name+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CloudIdentityGroupsMembershipsGetResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/Groups/Memberships/GetMembershipGraph.hs view
@@ -0,0 +1,127 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Groups.Memberships.GetMembershipGraph+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get a membership graph of just a member or both a member and a group. __Note:__ This feature is only available to Google Workspace Enterprise Standard, Enterprise Plus, and Enterprise for Education; and Cloud Identity Premium accounts. If the account of the member is not one of these, a 403 (PERMISSION_DENIED) HTTP status code will be returned. Given a member, the response will contain all membership paths from the member. Given both a group and a member, the response will contain all membership paths between the group and the member.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.memberships.getMembershipGraph@.+module Gogol.CloudIdentity.Groups.Memberships.GetMembershipGraph+  ( -- * Resource+    CloudIdentityGroupsMembershipsGetMembershipGraphResource,++    -- ** Constructing a Request+    CloudIdentityGroupsMembershipsGetMembershipGraph (..),+    newCloudIdentityGroupsMembershipsGetMembershipGraph,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.groups.memberships.getMembershipGraph@ method which the+-- 'CloudIdentityGroupsMembershipsGetMembershipGraph' request conforms to.+type CloudIdentityGroupsMembershipsGetMembershipGraphResource =+  "v1"+    Core.:> Core.Capture "parent" Core.Text+    Core.:> "memberships:getMembershipGraph"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "query" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] Operation++-- | Get a membership graph of just a member or both a member and a group. __Note:__ This feature is only available to Google Workspace Enterprise Standard, Enterprise Plus, and Enterprise for Education; and Cloud Identity Premium accounts. If the account of the member is not one of these, a 403 (PERMISSION_DENIED) HTTP status code will be returned. Given a member, the response will contain all membership paths from the member. Given both a group and a member, the response will contain all membership paths between the group and the member.+--+-- /See:/ 'newCloudIdentityGroupsMembershipsGetMembershipGraph' smart constructor.+data CloudIdentityGroupsMembershipsGetMembershipGraph = CloudIdentityGroupsMembershipsGetMembershipGraph+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Required. <https://cloud.google.com/apis/design/resource_names Resource name> of the group to search transitive memberships in. Format: @groups\/{group}@, where @group@ is the unique ID assigned to the Group to which the Membership belongs to. group can be a wildcard collection id \"-\". When a group is specified, the membership graph will be constrained to paths between the member (defined in the query) and the parent. If a wildcard collection is provided, all membership paths connected to the member will be returned.+    parent :: Core.Text,+    -- | Required. A CEL expression that MUST include member specification AND label(s). Certain groups are uniquely identified by both a \'member/key/id\' and a \'member/key/namespace\', which requires an additional query input: \'member/key/namespace\'. Example query: @member_key_id == \'member_key_id_value\' && in labels@+    query :: (Core.Maybe Core.Text),+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityGroupsMembershipsGetMembershipGraph' with the minimum fields required to make a request.+newCloudIdentityGroupsMembershipsGetMembershipGraph ::+  -- |  Required. <https://cloud.google.com/apis/design/resource_names Resource name> of the group to search transitive memberships in. Format: @groups\/{group}@, where @group@ is the unique ID assigned to the Group to which the Membership belongs to. group can be a wildcard collection id \"-\". When a group is specified, the membership graph will be constrained to paths between the member (defined in the query) and the parent. If a wildcard collection is provided, all membership paths connected to the member will be returned. See 'parent'.+  Core.Text ->+  CloudIdentityGroupsMembershipsGetMembershipGraph+newCloudIdentityGroupsMembershipsGetMembershipGraph parent =+  CloudIdentityGroupsMembershipsGetMembershipGraph+    { xgafv =+        Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      parent = parent,+      query = Core.Nothing,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance+  Core.GoogleRequest+    CloudIdentityGroupsMembershipsGetMembershipGraph+  where+  type+    Rs CloudIdentityGroupsMembershipsGetMembershipGraph =+      Operation+  type+    Scopes CloudIdentityGroupsMembershipsGetMembershipGraph =+      '[ CloudIdentity'Groups,+         CloudIdentity'Groups'Readonly,+         CloudPlatform'FullControl+       ]+  requestClient CloudIdentityGroupsMembershipsGetMembershipGraph {..} =+    go+      parent+      xgafv+      accessToken+      callback+      query+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy+                CloudIdentityGroupsMembershipsGetMembershipGraphResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/Groups/Memberships/List.hs view
@@ -0,0 +1,132 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Groups.Memberships.List+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the @Membership@s within a @Group@.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.memberships.list@.+module Gogol.CloudIdentity.Groups.Memberships.List+  ( -- * Resource+    CloudIdentityGroupsMembershipsListResource,++    -- ** Constructing a Request+    CloudIdentityGroupsMembershipsList (..),+    newCloudIdentityGroupsMembershipsList,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.groups.memberships.list@ method which the+-- 'CloudIdentityGroupsMembershipsList' request conforms to.+type CloudIdentityGroupsMembershipsListResource =+  "v1"+    Core.:> Core.Capture "parent" Core.Text+    Core.:> "memberships"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "pageSize" Core.Int32+    Core.:> Core.QueryParam "pageToken" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "view" GroupsMembershipsListView+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] ListMembershipsResponse++-- | Lists the @Membership@s within a @Group@.+--+-- /See:/ 'newCloudIdentityGroupsMembershipsList' smart constructor.+data CloudIdentityGroupsMembershipsList = CloudIdentityGroupsMembershipsList+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | The maximum number of results to return. Note that the number of results returned may be less than this value even if there are more available results. To fetch all results, clients must continue calling this method repeatedly until the response no longer contains a @next_page_token@. If unspecified, defaults to 200 for @GroupView.BASIC@ and to 50 for @GroupView.FULL@. Must not be greater than 1000 for @GroupView.BASIC@ or 500 for @GroupView.FULL@.+    pageSize :: (Core.Maybe Core.Int32),+    -- | The @next_page_token@ value returned from a previous search request, if any.+    pageToken :: (Core.Maybe Core.Text),+    -- | Required. The parent @Group@ resource under which to lookup the @Membership@ name. Must be of the form @groups\/{group}@.+    parent :: Core.Text,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text),+    -- | The level of detail to be returned. If unspecified, defaults to @View.BASIC@.+    view :: (Core.Maybe GroupsMembershipsListView)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityGroupsMembershipsList' with the minimum fields required to make a request.+newCloudIdentityGroupsMembershipsList ::+  -- |  Required. The parent @Group@ resource under which to lookup the @Membership@ name. Must be of the form @groups\/{group}@. See 'parent'.+  Core.Text ->+  CloudIdentityGroupsMembershipsList+newCloudIdentityGroupsMembershipsList parent =+  CloudIdentityGroupsMembershipsList+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      pageSize = Core.Nothing,+      pageToken = Core.Nothing,+      parent = parent,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing,+      view = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityGroupsMembershipsList where+  type+    Rs CloudIdentityGroupsMembershipsList =+      ListMembershipsResponse+  type+    Scopes CloudIdentityGroupsMembershipsList =+      '[ CloudIdentity'Groups,+         CloudIdentity'Groups'Readonly,+         CloudPlatform'FullControl+       ]+  requestClient CloudIdentityGroupsMembershipsList {..} =+    go+      parent+      xgafv+      accessToken+      callback+      pageSize+      pageToken+      uploadType+      uploadProtocol+      view+      (Core.Just Core.AltJSON)+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CloudIdentityGroupsMembershipsListResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/Groups/Memberships/Lookup.hs view
@@ -0,0 +1,127 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Groups.Memberships.Lookup+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Looks up the <https://cloud.google.com/apis/design/resource_names resource name> of a @Membership@ by its @EntityKey@.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.memberships.lookup@.+module Gogol.CloudIdentity.Groups.Memberships.Lookup+  ( -- * Resource+    CloudIdentityGroupsMembershipsLookupResource,++    -- ** Constructing a Request+    CloudIdentityGroupsMembershipsLookup (..),+    newCloudIdentityGroupsMembershipsLookup,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.groups.memberships.lookup@ method which the+-- 'CloudIdentityGroupsMembershipsLookup' request conforms to.+type CloudIdentityGroupsMembershipsLookupResource =+  "v1"+    Core.:> Core.Capture "parent" Core.Text+    Core.:> "memberships:lookup"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "memberKey.id" Core.Text+    Core.:> Core.QueryParam "memberKey.namespace" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] LookupMembershipNameResponse++-- | Looks up the <https://cloud.google.com/apis/design/resource_names resource name> of a @Membership@ by its @EntityKey@.+--+-- /See:/ 'newCloudIdentityGroupsMembershipsLookup' smart constructor.+data CloudIdentityGroupsMembershipsLookup = CloudIdentityGroupsMembershipsLookup+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | The ID of the entity. For Google-managed entities, the @id@ should be the email address of an existing group or user. Email addresses need to adhere to <https://support.google.com/a/answer/9193374 name guidelines for users and groups>. For external-identity-mapped entities, the @id@ must be a string conforming to the Identity Source\'s requirements. Must be unique within a @namespace@.+    memberKeyId :: (Core.Maybe Core.Text),+    -- | The namespace in which the entity exists. If not specified, the @EntityKey@ represents a Google-managed entity such as a Google user or a Google Group. If specified, the @EntityKey@ represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of @identitysources\/{identity_source}@.+    memberKeyNamespace :: (Core.Maybe Core.Text),+    -- | Required. The parent @Group@ resource under which to lookup the @Membership@ name. Must be of the form @groups\/{group}@.+    parent :: Core.Text,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityGroupsMembershipsLookup' with the minimum fields required to make a request.+newCloudIdentityGroupsMembershipsLookup ::+  -- |  Required. The parent @Group@ resource under which to lookup the @Membership@ name. Must be of the form @groups\/{group}@. See 'parent'.+  Core.Text ->+  CloudIdentityGroupsMembershipsLookup+newCloudIdentityGroupsMembershipsLookup parent =+  CloudIdentityGroupsMembershipsLookup+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      memberKeyId = Core.Nothing,+      memberKeyNamespace = Core.Nothing,+      parent = parent,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityGroupsMembershipsLookup where+  type+    Rs CloudIdentityGroupsMembershipsLookup =+      LookupMembershipNameResponse+  type+    Scopes CloudIdentityGroupsMembershipsLookup =+      '[ CloudIdentity'Groups,+         CloudIdentity'Groups'Readonly,+         CloudPlatform'FullControl+       ]+  requestClient CloudIdentityGroupsMembershipsLookup {..} =+    go+      parent+      xgafv+      accessToken+      callback+      memberKeyId+      memberKeyNamespace+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CloudIdentityGroupsMembershipsLookupResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/Groups/Memberships/ModifyMembershipRoles.hs view
@@ -0,0 +1,126 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Groups.Memberships.ModifyMembershipRoles+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Modifies the @MembershipRole@s of a @Membership@.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.memberships.modifyMembershipRoles@.+module Gogol.CloudIdentity.Groups.Memberships.ModifyMembershipRoles+  ( -- * Resource+    CloudIdentityGroupsMembershipsModifyMembershipRolesResource,++    -- ** Constructing a Request+    CloudIdentityGroupsMembershipsModifyMembershipRoles (..),+    newCloudIdentityGroupsMembershipsModifyMembershipRoles,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.groups.memberships.modifyMembershipRoles@ method which the+-- 'CloudIdentityGroupsMembershipsModifyMembershipRoles' request conforms to.+type CloudIdentityGroupsMembershipsModifyMembershipRolesResource =+  "v1"+    Core.:> Core.CaptureMode "name" "modifyMembershipRoles" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.ReqBody '[Core.JSON] ModifyMembershipRolesRequest+    Core.:> Core.Post '[Core.JSON] ModifyMembershipRolesResponse++-- | Modifies the @MembershipRole@s of a @Membership@.+--+-- /See:/ 'newCloudIdentityGroupsMembershipsModifyMembershipRoles' smart constructor.+data CloudIdentityGroupsMembershipsModifyMembershipRoles = CloudIdentityGroupsMembershipsModifyMembershipRoles+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Required. The <https://cloud.google.com/apis/design/resource_names resource name> of the @Membership@ whose roles are to be modified. Must be of the form @groups\/{group}\/memberships\/{membership}@.+    name :: Core.Text,+    -- | Multipart request metadata.+    payload :: ModifyMembershipRolesRequest,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityGroupsMembershipsModifyMembershipRoles' with the minimum fields required to make a request.+newCloudIdentityGroupsMembershipsModifyMembershipRoles ::+  -- |  Required. The <https://cloud.google.com/apis/design/resource_names resource name> of the @Membership@ whose roles are to be modified. Must be of the form @groups\/{group}\/memberships\/{membership}@. See 'name'.+  Core.Text ->+  -- |  Multipart request metadata. See 'payload'.+  ModifyMembershipRolesRequest ->+  CloudIdentityGroupsMembershipsModifyMembershipRoles+newCloudIdentityGroupsMembershipsModifyMembershipRoles name payload =+  CloudIdentityGroupsMembershipsModifyMembershipRoles+    { xgafv =+        Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      name = name,+      payload = payload,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance+  Core.GoogleRequest+    CloudIdentityGroupsMembershipsModifyMembershipRoles+  where+  type+    Rs CloudIdentityGroupsMembershipsModifyMembershipRoles =+      ModifyMembershipRolesResponse+  type+    Scopes CloudIdentityGroupsMembershipsModifyMembershipRoles =+      '[CloudIdentity'Groups, CloudPlatform'FullControl]+  requestClient+    CloudIdentityGroupsMembershipsModifyMembershipRoles {..} =+      go+        name+        xgafv+        accessToken+        callback+        uploadType+        uploadProtocol+        (Core.Just Core.AltJSON)+        payload+        cloudIdentityService+      where+        go =+          Core.buildClient+            ( Core.Proxy ::+                Core.Proxy+                  CloudIdentityGroupsMembershipsModifyMembershipRolesResource+            )+            Core.mempty
+ gen/Gogol/CloudIdentity/Groups/Memberships/SearchDirectGroups.hs view
@@ -0,0 +1,142 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Groups.Memberships.SearchDirectGroups+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Searches direct groups of a member.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.memberships.searchDirectGroups@.+module Gogol.CloudIdentity.Groups.Memberships.SearchDirectGroups+  ( -- * Resource+    CloudIdentityGroupsMembershipsSearchDirectGroupsResource,++    -- ** Constructing a Request+    CloudIdentityGroupsMembershipsSearchDirectGroups (..),+    newCloudIdentityGroupsMembershipsSearchDirectGroups,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.groups.memberships.searchDirectGroups@ method which the+-- 'CloudIdentityGroupsMembershipsSearchDirectGroups' request conforms to.+type CloudIdentityGroupsMembershipsSearchDirectGroupsResource =+  "v1"+    Core.:> Core.Capture "parent" Core.Text+    Core.:> "memberships:searchDirectGroups"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "orderBy" Core.Text+    Core.:> Core.QueryParam "pageSize" Core.Int32+    Core.:> Core.QueryParam "pageToken" Core.Text+    Core.:> Core.QueryParam "query" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] SearchDirectGroupsResponse++-- | Searches direct groups of a member.+--+-- /See:/ 'newCloudIdentityGroupsMembershipsSearchDirectGroups' smart constructor.+data CloudIdentityGroupsMembershipsSearchDirectGroups = CloudIdentityGroupsMembershipsSearchDirectGroups+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | The ordering of membership relation for the display name or email in the response. The syntax for this field can be found at https:\/\/cloud.google.com\/apis\/design\/design/patterns#sorting/order. Example: Sort by the ascending display name: order/by=\"group/name\" or order/by=\"group/name asc\". Sort by the descending display name: order/by=\"group/name desc\". Sort by the ascending group key: order/by=\"group/key\" or order/by=\"group/key asc\". Sort by the descending group key: order/by=\"group/key desc\".+    orderBy :: (Core.Maybe Core.Text),+    -- | The default page size is 200 (max 1000).+    pageSize :: (Core.Maybe Core.Int32),+    -- | The @next_page_token@ value returned from a previous list request, if any+    pageToken :: (Core.Maybe Core.Text),+    -- | <https://cloud.google.com/apis/design/resource_names Resource name> of the group to search transitive memberships in. Format: groups\/{group/id}, where group/id is always \'-\' as this API will search across all groups for a given member.+    parent :: Core.Text,+    -- | Required. A CEL expression that MUST include member specification AND label(s). Users can search on label attributes of groups. CONTAINS match (\'in\') is supported on labels. Identity-mapped groups are uniquely identified by both a @member_key_id@ and a @member_key_namespace@, which requires an additional query input: @member_key_namespace@. Example query: @member_key_id == \'member_key_id_value\' && \'label_value\' in labels@+    query :: (Core.Maybe Core.Text),+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityGroupsMembershipsSearchDirectGroups' with the minimum fields required to make a request.+newCloudIdentityGroupsMembershipsSearchDirectGroups ::+  -- |  <https://cloud.google.com/apis/design/resource_names Resource name> of the group to search transitive memberships in. Format: groups\/{group/id}, where group/id is always \'-\' as this API will search across all groups for a given member. See 'parent'.+  Core.Text ->+  CloudIdentityGroupsMembershipsSearchDirectGroups+newCloudIdentityGroupsMembershipsSearchDirectGroups parent =+  CloudIdentityGroupsMembershipsSearchDirectGroups+    { xgafv =+        Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      orderBy = Core.Nothing,+      pageSize = Core.Nothing,+      pageToken = Core.Nothing,+      parent = parent,+      query = Core.Nothing,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance+  Core.GoogleRequest+    CloudIdentityGroupsMembershipsSearchDirectGroups+  where+  type+    Rs CloudIdentityGroupsMembershipsSearchDirectGroups =+      SearchDirectGroupsResponse+  type+    Scopes CloudIdentityGroupsMembershipsSearchDirectGroups =+      '[ CloudIdentity'Groups,+         CloudIdentity'Groups'Readonly,+         CloudPlatform'FullControl+       ]+  requestClient CloudIdentityGroupsMembershipsSearchDirectGroups {..} =+    go+      parent+      xgafv+      accessToken+      callback+      orderBy+      pageSize+      pageToken+      query+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy+                CloudIdentityGroupsMembershipsSearchDirectGroupsResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/Groups/Memberships/SearchTransitiveGroups.hs view
@@ -0,0 +1,138 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Groups.Memberships.SearchTransitiveGroups+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Search transitive groups of a member. __Note:__ This feature is only available to Google Workspace Enterprise Standard, Enterprise Plus, and Enterprise for Education; and Cloud Identity Premium accounts. If the account of the member is not one of these, a 403 (PERMISSION_DENIED) HTTP status code will be returned. A transitive group is any group that has a direct or indirect membership to the member. Actor must have view permissions all transitive groups.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.memberships.searchTransitiveGroups@.+module Gogol.CloudIdentity.Groups.Memberships.SearchTransitiveGroups+  ( -- * Resource+    CloudIdentityGroupsMembershipsSearchTransitiveGroupsResource,++    -- ** Constructing a Request+    CloudIdentityGroupsMembershipsSearchTransitiveGroups (..),+    newCloudIdentityGroupsMembershipsSearchTransitiveGroups,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.groups.memberships.searchTransitiveGroups@ method which the+-- 'CloudIdentityGroupsMembershipsSearchTransitiveGroups' request conforms to.+type CloudIdentityGroupsMembershipsSearchTransitiveGroupsResource =+  "v1"+    Core.:> Core.Capture "parent" Core.Text+    Core.:> "memberships:searchTransitiveGroups"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "pageSize" Core.Int32+    Core.:> Core.QueryParam "pageToken" Core.Text+    Core.:> Core.QueryParam "query" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] SearchTransitiveGroupsResponse++-- | Search transitive groups of a member. __Note:__ This feature is only available to Google Workspace Enterprise Standard, Enterprise Plus, and Enterprise for Education; and Cloud Identity Premium accounts. If the account of the member is not one of these, a 403 (PERMISSION_DENIED) HTTP status code will be returned. A transitive group is any group that has a direct or indirect membership to the member. Actor must have view permissions all transitive groups.+--+-- /See:/ 'newCloudIdentityGroupsMembershipsSearchTransitiveGroups' smart constructor.+data CloudIdentityGroupsMembershipsSearchTransitiveGroups = CloudIdentityGroupsMembershipsSearchTransitiveGroups+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | The default page size is 200 (max 1000).+    pageSize :: (Core.Maybe Core.Int32),+    -- | The @next_page_token@ value returned from a previous list request, if any.+    pageToken :: (Core.Maybe Core.Text),+    -- | <https://cloud.google.com/apis/design/resource_names Resource name> of the group to search transitive memberships in. Format: @groups\/{group}@, where @group@ is always \'-\' as this API will search across all groups for a given member.+    parent :: Core.Text,+    -- | Required. A CEL expression that MUST include member specification AND label(s). This is a @required@ field. Users can search on label attributes of groups. CONTAINS match (\'in\') is supported on labels. Identity-mapped groups are uniquely identified by both a @member_key_id@ and a @member_key_namespace@, which requires an additional query input: @member_key_namespace@. Example query: @member_key_id == \'member_key_id_value\' && in labels@ Query may optionally contain equality operators on the parent of the group restricting the search within a particular customer, e.g. @parent == \'customers\/{customer_id}\'@. The @customer_id@ must begin with \"C\" (for example, \'C046psxkn\'). This filtering is only supported for Admins with groups read permissions on the input customer. Example query: @member_key_id == \'member_key_id_value\' && in labels && parent == \'customers\/C046psxkn\'@+    query :: (Core.Maybe Core.Text),+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityGroupsMembershipsSearchTransitiveGroups' with the minimum fields required to make a request.+newCloudIdentityGroupsMembershipsSearchTransitiveGroups ::+  -- |  <https://cloud.google.com/apis/design/resource_names Resource name> of the group to search transitive memberships in. Format: @groups\/{group}@, where @group@ is always \'-\' as this API will search across all groups for a given member. See 'parent'.+  Core.Text ->+  CloudIdentityGroupsMembershipsSearchTransitiveGroups+newCloudIdentityGroupsMembershipsSearchTransitiveGroups parent =+  CloudIdentityGroupsMembershipsSearchTransitiveGroups+    { xgafv =+        Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      pageSize = Core.Nothing,+      pageToken = Core.Nothing,+      parent = parent,+      query = Core.Nothing,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance+  Core.GoogleRequest+    CloudIdentityGroupsMembershipsSearchTransitiveGroups+  where+  type+    Rs CloudIdentityGroupsMembershipsSearchTransitiveGroups =+      SearchTransitiveGroupsResponse+  type+    Scopes CloudIdentityGroupsMembershipsSearchTransitiveGroups =+      '[ CloudIdentity'Groups,+         CloudIdentity'Groups'Readonly,+         CloudPlatform'FullControl+       ]+  requestClient+    CloudIdentityGroupsMembershipsSearchTransitiveGroups {..} =+      go+        parent+        xgafv+        accessToken+        callback+        pageSize+        pageToken+        query+        uploadType+        uploadProtocol+        (Core.Just Core.AltJSON)+        cloudIdentityService+      where+        go =+          Core.buildClient+            ( Core.Proxy ::+                Core.Proxy+                  CloudIdentityGroupsMembershipsSearchTransitiveGroupsResource+            )+            Core.mempty
+ gen/Gogol/CloudIdentity/Groups/Memberships/SearchTransitiveMemberships.hs view
@@ -0,0 +1,134 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Groups.Memberships.SearchTransitiveMemberships+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Search transitive memberships of a group. __Note:__ This feature is only available to Google Workspace Enterprise Standard, Enterprise Plus, and Enterprise for Education; and Cloud Identity Premium accounts. If the account of the group is not one of these, a 403 (PERMISSION_DENIED) HTTP status code will be returned. A transitive membership is any direct or indirect membership of a group. Actor must have view permissions to all transitive memberships.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.memberships.searchTransitiveMemberships@.+module Gogol.CloudIdentity.Groups.Memberships.SearchTransitiveMemberships+  ( -- * Resource+    CloudIdentityGroupsMembershipsSearchTransitiveMembershipsResource,++    -- ** Constructing a Request+    CloudIdentityGroupsMembershipsSearchTransitiveMemberships (..),+    newCloudIdentityGroupsMembershipsSearchTransitiveMemberships,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.groups.memberships.searchTransitiveMemberships@ method which the+-- 'CloudIdentityGroupsMembershipsSearchTransitiveMemberships' request conforms to.+type CloudIdentityGroupsMembershipsSearchTransitiveMembershipsResource =+  "v1"+    Core.:> Core.Capture "parent" Core.Text+    Core.:> "memberships:searchTransitiveMemberships"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "pageSize" Core.Int32+    Core.:> Core.QueryParam "pageToken" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] SearchTransitiveMembershipsResponse++-- | Search transitive memberships of a group. __Note:__ This feature is only available to Google Workspace Enterprise Standard, Enterprise Plus, and Enterprise for Education; and Cloud Identity Premium accounts. If the account of the group is not one of these, a 403 (PERMISSION_DENIED) HTTP status code will be returned. A transitive membership is any direct or indirect membership of a group. Actor must have view permissions to all transitive memberships.+--+-- /See:/ 'newCloudIdentityGroupsMembershipsSearchTransitiveMemberships' smart constructor.+data CloudIdentityGroupsMembershipsSearchTransitiveMemberships = CloudIdentityGroupsMembershipsSearchTransitiveMemberships+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | The default page size is 200 (max 1000).+    pageSize :: (Core.Maybe Core.Int32),+    -- | The @next_page_token@ value returned from a previous list request, if any.+    pageToken :: (Core.Maybe Core.Text),+    -- | <https://cloud.google.com/apis/design/resource_names Resource name> of the group to search transitive memberships in. Format: @groups\/{group}@, where @group@ is the unique ID assigned to the Group.+    parent :: Core.Text,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityGroupsMembershipsSearchTransitiveMemberships' with the minimum fields required to make a request.+newCloudIdentityGroupsMembershipsSearchTransitiveMemberships ::+  -- |  <https://cloud.google.com/apis/design/resource_names Resource name> of the group to search transitive memberships in. Format: @groups\/{group}@, where @group@ is the unique ID assigned to the Group. See 'parent'.+  Core.Text ->+  CloudIdentityGroupsMembershipsSearchTransitiveMemberships+newCloudIdentityGroupsMembershipsSearchTransitiveMemberships parent =+  CloudIdentityGroupsMembershipsSearchTransitiveMemberships+    { xgafv =+        Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      pageSize = Core.Nothing,+      pageToken = Core.Nothing,+      parent = parent,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance+  Core.GoogleRequest+    CloudIdentityGroupsMembershipsSearchTransitiveMemberships+  where+  type+    Rs CloudIdentityGroupsMembershipsSearchTransitiveMemberships =+      SearchTransitiveMembershipsResponse+  type+    Scopes+      CloudIdentityGroupsMembershipsSearchTransitiveMemberships =+      '[ CloudIdentity'Groups,+         CloudIdentity'Groups'Readonly,+         CloudPlatform'FullControl+       ]+  requestClient+    CloudIdentityGroupsMembershipsSearchTransitiveMemberships {..} =+      go+        parent+        xgafv+        accessToken+        callback+        pageSize+        pageToken+        uploadType+        uploadProtocol+        (Core.Just Core.AltJSON)+        cloudIdentityService+      where+        go =+          Core.buildClient+            ( Core.Proxy ::+                Core.Proxy+                  CloudIdentityGroupsMembershipsSearchTransitiveMembershipsResource+            )+            Core.mempty
+ gen/Gogol/CloudIdentity/Groups/Patch.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Groups.Patch+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a @Group@.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.patch@.+module Gogol.CloudIdentity.Groups.Patch+  ( -- * Resource+    CloudIdentityGroupsPatchResource,++    -- ** Constructing a Request+    CloudIdentityGroupsPatch (..),+    newCloudIdentityGroupsPatch,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.groups.patch@ method which the+-- 'CloudIdentityGroupsPatch' request conforms to.+type CloudIdentityGroupsPatchResource =+  "v1"+    Core.:> Core.Capture "name" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "updateMask" Core.FieldMask+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.ReqBody '[Core.JSON] Group+    Core.:> Core.Patch '[Core.JSON] Operation++-- | Updates a @Group@.+--+-- /See:/ 'newCloudIdentityGroupsPatch' smart constructor.+data CloudIdentityGroupsPatch = CloudIdentityGroupsPatch+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Output only. The <https://cloud.google.com/apis/design/resource_names resource name> of the @Group@. Shall be of the form @groups\/{group}@.+    name :: Core.Text,+    -- | Multipart request metadata.+    payload :: Group,+    -- | Required. The names of fields to update. May only contain the following field names: @display_name@, @description@, @labels@.+    updateMask :: (Core.Maybe Core.FieldMask),+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityGroupsPatch' with the minimum fields required to make a request.+newCloudIdentityGroupsPatch ::+  -- |  Output only. The <https://cloud.google.com/apis/design/resource_names resource name> of the @Group@. Shall be of the form @groups\/{group}@. See 'name'.+  Core.Text ->+  -- |  Multipart request metadata. See 'payload'.+  Group ->+  CloudIdentityGroupsPatch+newCloudIdentityGroupsPatch name payload =+  CloudIdentityGroupsPatch+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      name = name,+      payload = payload,+      updateMask = Core.Nothing,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityGroupsPatch where+  type Rs CloudIdentityGroupsPatch = Operation+  type+    Scopes CloudIdentityGroupsPatch =+      '[CloudIdentity'Groups, CloudPlatform'FullControl]+  requestClient CloudIdentityGroupsPatch {..} =+    go+      name+      xgafv+      accessToken+      callback+      updateMask+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      payload+      cloudIdentityService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy CloudIdentityGroupsPatchResource)+          Core.mempty
+ gen/Gogol/CloudIdentity/Groups/Search.hs view
@@ -0,0 +1,126 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Groups.Search+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Searches for @Group@ resources matching a specified query.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.search@.+module Gogol.CloudIdentity.Groups.Search+  ( -- * Resource+    CloudIdentityGroupsSearchResource,++    -- ** Constructing a Request+    CloudIdentityGroupsSearch (..),+    newCloudIdentityGroupsSearch,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.groups.search@ method which the+-- 'CloudIdentityGroupsSearch' request conforms to.+type CloudIdentityGroupsSearchResource =+  "v1"+    Core.:> "groups:search"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "pageSize" Core.Int32+    Core.:> Core.QueryParam "pageToken" Core.Text+    Core.:> Core.QueryParam "query" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "view" GroupsSearchView+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] SearchGroupsResponse++-- | Searches for @Group@ resources matching a specified query.+--+-- /See:/ 'newCloudIdentityGroupsSearch' smart constructor.+data CloudIdentityGroupsSearch = CloudIdentityGroupsSearch+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | The maximum number of results to return. Note that the number of results returned may be less than this value even if there are more available results. To fetch all results, clients must continue calling this method repeatedly until the response no longer contains a @next_page_token@. If unspecified, defaults to 200 for @GroupView.BASIC@ and 50 for @GroupView.FULL@. Must not be greater than 1000 for @GroupView.BASIC@ or 500 for @GroupView.FULL@.+    pageSize :: (Core.Maybe Core.Int32),+    -- | The @next_page_token@ value returned from a previous search request, if any.+    pageToken :: (Core.Maybe Core.Text),+    -- | Required. The search query. * Must be specified in <https://opensource.google/projects/cel Common Expression Language>. * Must contain equality operators on the parent, e.g. @parent == \'customers\/{customer_id}\'@. The @customer_id@ must begin with \"C\" (for example, \'C046psxkn\'). [Find your customer ID.] (https:\/\/support.google.com\/cloudidentity\/answer\/10070793) * Can contain optional inclusion operators on @labels@ such as @\'cloudidentity.googleapis.com\/groups.discussion_forum\' in labels@). * Can contain an optional equality operator on @domain_name@. e.g. @domain_name == \'examplepetstore.com\'@ * Can contain optional @startsWith\/contains\/equality@ operators on @group_key@, e.g. @group_key.startsWith(\'dev\')@, @group_key.contains(\'dev\'), group_key == \'dev\@examplepetstore.com\'@ * Can contain optional @startsWith\/contains\/equality@ operators on @display_name@, such as @display_name.startsWith(\'dev\')@ , @display_name.contains(\'dev\')@, @display_name == \'dev\'@+    query :: (Core.Maybe Core.Text),+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text),+    -- | The level of detail to be returned. If unspecified, defaults to @View.BASIC@.+    view :: (Core.Maybe GroupsSearchView)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityGroupsSearch' with the minimum fields required to make a request.+newCloudIdentityGroupsSearch ::+  CloudIdentityGroupsSearch+newCloudIdentityGroupsSearch =+  CloudIdentityGroupsSearch+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      pageSize = Core.Nothing,+      pageToken = Core.Nothing,+      query = Core.Nothing,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing,+      view = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityGroupsSearch where+  type Rs CloudIdentityGroupsSearch = SearchGroupsResponse+  type+    Scopes CloudIdentityGroupsSearch =+      '[ CloudIdentity'Groups,+         CloudIdentity'Groups'Readonly,+         CloudPlatform'FullControl+       ]+  requestClient CloudIdentityGroupsSearch {..} =+    go+      xgafv+      accessToken+      callback+      pageSize+      pageToken+      query+      uploadType+      uploadProtocol+      view+      (Core.Just Core.AltJSON)+      cloudIdentityService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy CloudIdentityGroupsSearchResource)+          Core.mempty
+ gen/Gogol/CloudIdentity/Groups/UpdateSecuritySettings.hs view
@@ -0,0 +1,126 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Groups.UpdateSecuritySettings+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Update Security Settings+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.updateSecuritySettings@.+module Gogol.CloudIdentity.Groups.UpdateSecuritySettings+  ( -- * Resource+    CloudIdentityGroupsUpdateSecuritySettingsResource,++    -- ** Constructing a Request+    CloudIdentityGroupsUpdateSecuritySettings (..),+    newCloudIdentityGroupsUpdateSecuritySettings,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.groups.updateSecuritySettings@ method which the+-- 'CloudIdentityGroupsUpdateSecuritySettings' request conforms to.+type CloudIdentityGroupsUpdateSecuritySettingsResource =+  "v1"+    Core.:> Core.Capture "name" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "updateMask" Core.FieldMask+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.ReqBody '[Core.JSON] SecuritySettings+    Core.:> Core.Patch '[Core.JSON] Operation++-- | Update Security Settings+--+-- /See:/ 'newCloudIdentityGroupsUpdateSecuritySettings' smart constructor.+data CloudIdentityGroupsUpdateSecuritySettings = CloudIdentityGroupsUpdateSecuritySettings+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Output only. The resource name of the security settings. Shall be of the form @groups\/{group_id}\/securitySettings@.+    name :: Core.Text,+    -- | Multipart request metadata.+    payload :: SecuritySettings,+    -- | Required. The fully-qualified names of fields to update. May only contain the following field: @member_restriction.query@.+    updateMask :: (Core.Maybe Core.FieldMask),+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityGroupsUpdateSecuritySettings' with the minimum fields required to make a request.+newCloudIdentityGroupsUpdateSecuritySettings ::+  -- |  Output only. The resource name of the security settings. Shall be of the form @groups\/{group_id}\/securitySettings@. See 'name'.+  Core.Text ->+  -- |  Multipart request metadata. See 'payload'.+  SecuritySettings ->+  CloudIdentityGroupsUpdateSecuritySettings+newCloudIdentityGroupsUpdateSecuritySettings name payload =+  CloudIdentityGroupsUpdateSecuritySettings+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      name = name,+      payload = payload,+      updateMask = Core.Nothing,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance+  Core.GoogleRequest+    CloudIdentityGroupsUpdateSecuritySettings+  where+  type Rs CloudIdentityGroupsUpdateSecuritySettings = Operation+  type+    Scopes CloudIdentityGroupsUpdateSecuritySettings =+      '[CloudIdentity'Groups, CloudPlatform'FullControl]+  requestClient CloudIdentityGroupsUpdateSecuritySettings {..} =+    go+      name+      xgafv+      accessToken+      callback+      updateMask+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      payload+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CloudIdentityGroupsUpdateSecuritySettingsResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/InboundSamlSsoProfiles/Create.hs view
@@ -0,0 +1,115 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.InboundSamlSsoProfiles.Create+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an InboundSamlSsoProfile for a customer. When the target customer has enabled <https://support.google.com/a/answer/13790448 Multi-party approval for sensitive actions>, the @Operation@ in the response will have @\"done\": false@, it will not have a response, and the metadata will have @\"state\": \"awaiting-multi-party-approval\"@.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.inboundSamlSsoProfiles.create@.+module Gogol.CloudIdentity.InboundSamlSsoProfiles.Create+  ( -- * Resource+    CloudIdentityInboundSamlSsoProfilesCreateResource,++    -- ** Constructing a Request+    CloudIdentityInboundSamlSsoProfilesCreate (..),+    newCloudIdentityInboundSamlSsoProfilesCreate,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.inboundSamlSsoProfiles.create@ method which the+-- 'CloudIdentityInboundSamlSsoProfilesCreate' request conforms to.+type CloudIdentityInboundSamlSsoProfilesCreateResource =+  "v1"+    Core.:> "inboundSamlSsoProfiles"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.ReqBody '[Core.JSON] InboundSamlSsoProfile+    Core.:> Core.Post '[Core.JSON] Operation++-- | Creates an InboundSamlSsoProfile for a customer. When the target customer has enabled <https://support.google.com/a/answer/13790448 Multi-party approval for sensitive actions>, the @Operation@ in the response will have @\"done\": false@, it will not have a response, and the metadata will have @\"state\": \"awaiting-multi-party-approval\"@.+--+-- /See:/ 'newCloudIdentityInboundSamlSsoProfilesCreate' smart constructor.+data CloudIdentityInboundSamlSsoProfilesCreate = CloudIdentityInboundSamlSsoProfilesCreate+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Multipart request metadata.+    payload :: InboundSamlSsoProfile,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityInboundSamlSsoProfilesCreate' with the minimum fields required to make a request.+newCloudIdentityInboundSamlSsoProfilesCreate ::+  -- |  Multipart request metadata. See 'payload'.+  InboundSamlSsoProfile ->+  CloudIdentityInboundSamlSsoProfilesCreate+newCloudIdentityInboundSamlSsoProfilesCreate payload =+  CloudIdentityInboundSamlSsoProfilesCreate+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      payload = payload,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance+  Core.GoogleRequest+    CloudIdentityInboundSamlSsoProfilesCreate+  where+  type Rs CloudIdentityInboundSamlSsoProfilesCreate = Operation+  type+    Scopes CloudIdentityInboundSamlSsoProfilesCreate =+      '[CloudIdentity'Inboundsso, CloudPlatform'FullControl]+  requestClient CloudIdentityInboundSamlSsoProfilesCreate {..} =+    go+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      payload+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CloudIdentityInboundSamlSsoProfilesCreateResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/InboundSamlSsoProfiles/Delete.hs view
@@ -0,0 +1,114 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.InboundSamlSsoProfiles.Delete+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an InboundSamlSsoProfile.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.inboundSamlSsoProfiles.delete@.+module Gogol.CloudIdentity.InboundSamlSsoProfiles.Delete+  ( -- * Resource+    CloudIdentityInboundSamlSsoProfilesDeleteResource,++    -- ** Constructing a Request+    CloudIdentityInboundSamlSsoProfilesDelete (..),+    newCloudIdentityInboundSamlSsoProfilesDelete,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.inboundSamlSsoProfiles.delete@ method which the+-- 'CloudIdentityInboundSamlSsoProfilesDelete' request conforms to.+type CloudIdentityInboundSamlSsoProfilesDeleteResource =+  "v1"+    Core.:> Core.Capture "name" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Delete '[Core.JSON] Operation++-- | Deletes an InboundSamlSsoProfile.+--+-- /See:/ 'newCloudIdentityInboundSamlSsoProfilesDelete' smart constructor.+data CloudIdentityInboundSamlSsoProfilesDelete = CloudIdentityInboundSamlSsoProfilesDelete+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Required. The <https://cloud.google.com/apis/design/resource_names resource name> of the InboundSamlSsoProfile to delete. Format: @inboundSamlSsoProfiles\/{sso_profile_id}@+    name :: Core.Text,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityInboundSamlSsoProfilesDelete' with the minimum fields required to make a request.+newCloudIdentityInboundSamlSsoProfilesDelete ::+  -- |  Required. The <https://cloud.google.com/apis/design/resource_names resource name> of the InboundSamlSsoProfile to delete. Format: @inboundSamlSsoProfiles\/{sso_profile_id}@ See 'name'.+  Core.Text ->+  CloudIdentityInboundSamlSsoProfilesDelete+newCloudIdentityInboundSamlSsoProfilesDelete name =+  CloudIdentityInboundSamlSsoProfilesDelete+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      name = name,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance+  Core.GoogleRequest+    CloudIdentityInboundSamlSsoProfilesDelete+  where+  type Rs CloudIdentityInboundSamlSsoProfilesDelete = Operation+  type+    Scopes CloudIdentityInboundSamlSsoProfilesDelete =+      '[CloudIdentity'Inboundsso, CloudPlatform'FullControl]+  requestClient CloudIdentityInboundSamlSsoProfilesDelete {..} =+    go+      name+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CloudIdentityInboundSamlSsoProfilesDeleteResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/InboundSamlSsoProfiles/Get.hs view
@@ -0,0 +1,116 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.InboundSamlSsoProfiles.Get+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets an InboundSamlSsoProfile.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.inboundSamlSsoProfiles.get@.+module Gogol.CloudIdentity.InboundSamlSsoProfiles.Get+  ( -- * Resource+    CloudIdentityInboundSamlSsoProfilesGetResource,++    -- ** Constructing a Request+    CloudIdentityInboundSamlSsoProfilesGet (..),+    newCloudIdentityInboundSamlSsoProfilesGet,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.inboundSamlSsoProfiles.get@ method which the+-- 'CloudIdentityInboundSamlSsoProfilesGet' request conforms to.+type CloudIdentityInboundSamlSsoProfilesGetResource =+  "v1"+    Core.:> Core.Capture "name" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] InboundSamlSsoProfile++-- | Gets an InboundSamlSsoProfile.+--+-- /See:/ 'newCloudIdentityInboundSamlSsoProfilesGet' smart constructor.+data CloudIdentityInboundSamlSsoProfilesGet = CloudIdentityInboundSamlSsoProfilesGet+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Required. The <https://cloud.google.com/apis/design/resource_names resource name> of the InboundSamlSsoProfile to get. Format: @inboundSamlSsoProfiles\/{sso_profile_id}@+    name :: Core.Text,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityInboundSamlSsoProfilesGet' with the minimum fields required to make a request.+newCloudIdentityInboundSamlSsoProfilesGet ::+  -- |  Required. The <https://cloud.google.com/apis/design/resource_names resource name> of the InboundSamlSsoProfile to get. Format: @inboundSamlSsoProfiles\/{sso_profile_id}@ See 'name'.+  Core.Text ->+  CloudIdentityInboundSamlSsoProfilesGet+newCloudIdentityInboundSamlSsoProfilesGet name =+  CloudIdentityInboundSamlSsoProfilesGet+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      name = name,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityInboundSamlSsoProfilesGet where+  type+    Rs CloudIdentityInboundSamlSsoProfilesGet =+      InboundSamlSsoProfile+  type+    Scopes CloudIdentityInboundSamlSsoProfilesGet =+      '[ CloudIdentity'Inboundsso,+         CloudIdentity'Inboundsso'Readonly,+         CloudPlatform'FullControl+       ]+  requestClient CloudIdentityInboundSamlSsoProfilesGet {..} =+    go+      name+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CloudIdentityInboundSamlSsoProfilesGetResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/InboundSamlSsoProfiles/IdpCredentials/Add.hs view
@@ -0,0 +1,129 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.InboundSamlSsoProfiles.IdpCredentials.Add+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds an IdpCredential. Up to 2 credentials are allowed. When the target customer has enabled <https://support.google.com/a/answer/13790448 Multi-party approval for sensitive actions>, the @Operation@ in the response will have @\"done\": false@, it will not have a response, and the metadata will have @\"state\": \"awaiting-multi-party-approval\"@.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.inboundSamlSsoProfiles.idpCredentials.add@.+module Gogol.CloudIdentity.InboundSamlSsoProfiles.IdpCredentials.Add+  ( -- * Resource+    CloudIdentityInboundSamlSsoProfilesIdpCredentialsAddResource,++    -- ** Constructing a Request+    CloudIdentityInboundSamlSsoProfilesIdpCredentialsAdd (..),+    newCloudIdentityInboundSamlSsoProfilesIdpCredentialsAdd,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.inboundSamlSsoProfiles.idpCredentials.add@ method which the+-- 'CloudIdentityInboundSamlSsoProfilesIdpCredentialsAdd' request conforms to.+type CloudIdentityInboundSamlSsoProfilesIdpCredentialsAddResource =+  "v1"+    Core.:> Core.Capture "parent" Core.Text+    Core.:> "idpCredentials:add"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.ReqBody '[Core.JSON] AddIdpCredentialRequest+    Core.:> Core.Post '[Core.JSON] Operation++-- | Adds an IdpCredential. Up to 2 credentials are allowed. When the target customer has enabled <https://support.google.com/a/answer/13790448 Multi-party approval for sensitive actions>, the @Operation@ in the response will have @\"done\": false@, it will not have a response, and the metadata will have @\"state\": \"awaiting-multi-party-approval\"@.+--+-- /See:/ 'newCloudIdentityInboundSamlSsoProfilesIdpCredentialsAdd' smart constructor.+data CloudIdentityInboundSamlSsoProfilesIdpCredentialsAdd = CloudIdentityInboundSamlSsoProfilesIdpCredentialsAdd+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Required. The InboundSamlSsoProfile that owns the IdpCredential. Format: @inboundSamlSsoProfiles\/{sso_profile_id}@+    parent :: Core.Text,+    -- | Multipart request metadata.+    payload :: AddIdpCredentialRequest,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityInboundSamlSsoProfilesIdpCredentialsAdd' with the minimum fields required to make a request.+newCloudIdentityInboundSamlSsoProfilesIdpCredentialsAdd ::+  -- |  Required. The InboundSamlSsoProfile that owns the IdpCredential. Format: @inboundSamlSsoProfiles\/{sso_profile_id}@ See 'parent'.+  Core.Text ->+  -- |  Multipart request metadata. See 'payload'.+  AddIdpCredentialRequest ->+  CloudIdentityInboundSamlSsoProfilesIdpCredentialsAdd+newCloudIdentityInboundSamlSsoProfilesIdpCredentialsAdd+  parent+  payload =+    CloudIdentityInboundSamlSsoProfilesIdpCredentialsAdd+      { xgafv =+          Core.Nothing,+        accessToken = Core.Nothing,+        callback = Core.Nothing,+        parent = parent,+        payload = payload,+        uploadType = Core.Nothing,+        uploadProtocol = Core.Nothing+      }++instance+  Core.GoogleRequest+    CloudIdentityInboundSamlSsoProfilesIdpCredentialsAdd+  where+  type+    Rs CloudIdentityInboundSamlSsoProfilesIdpCredentialsAdd =+      Operation+  type+    Scopes CloudIdentityInboundSamlSsoProfilesIdpCredentialsAdd =+      '[CloudIdentity'Inboundsso, CloudPlatform'FullControl]+  requestClient+    CloudIdentityInboundSamlSsoProfilesIdpCredentialsAdd {..} =+      go+        parent+        xgafv+        accessToken+        callback+        uploadType+        uploadProtocol+        (Core.Just Core.AltJSON)+        payload+        cloudIdentityService+      where+        go =+          Core.buildClient+            ( Core.Proxy ::+                Core.Proxy+                  CloudIdentityInboundSamlSsoProfilesIdpCredentialsAddResource+            )+            Core.mempty
+ gen/Gogol/CloudIdentity/InboundSamlSsoProfiles/IdpCredentials/Delete.hs view
@@ -0,0 +1,119 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.InboundSamlSsoProfiles.IdpCredentials.Delete+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an IdpCredential.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.inboundSamlSsoProfiles.idpCredentials.delete@.+module Gogol.CloudIdentity.InboundSamlSsoProfiles.IdpCredentials.Delete+  ( -- * Resource+    CloudIdentityInboundSamlSsoProfilesIdpCredentialsDeleteResource,++    -- ** Constructing a Request+    CloudIdentityInboundSamlSsoProfilesIdpCredentialsDelete (..),+    newCloudIdentityInboundSamlSsoProfilesIdpCredentialsDelete,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.inboundSamlSsoProfiles.idpCredentials.delete@ method which the+-- 'CloudIdentityInboundSamlSsoProfilesIdpCredentialsDelete' request conforms to.+type CloudIdentityInboundSamlSsoProfilesIdpCredentialsDeleteResource =+  "v1"+    Core.:> Core.Capture "name" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Delete '[Core.JSON] Operation++-- | Deletes an IdpCredential.+--+-- /See:/ 'newCloudIdentityInboundSamlSsoProfilesIdpCredentialsDelete' smart constructor.+data CloudIdentityInboundSamlSsoProfilesIdpCredentialsDelete = CloudIdentityInboundSamlSsoProfilesIdpCredentialsDelete+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Required. The <https://cloud.google.com/apis/design/resource_names resource name> of the IdpCredential to delete. Format: @inboundSamlSsoProfiles\/{sso_profile_id}\/idpCredentials\/{idp_credential_id}@+    name :: Core.Text,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityInboundSamlSsoProfilesIdpCredentialsDelete' with the minimum fields required to make a request.+newCloudIdentityInboundSamlSsoProfilesIdpCredentialsDelete ::+  -- |  Required. The <https://cloud.google.com/apis/design/resource_names resource name> of the IdpCredential to delete. Format: @inboundSamlSsoProfiles\/{sso_profile_id}\/idpCredentials\/{idp_credential_id}@ See 'name'.+  Core.Text ->+  CloudIdentityInboundSamlSsoProfilesIdpCredentialsDelete+newCloudIdentityInboundSamlSsoProfilesIdpCredentialsDelete name =+  CloudIdentityInboundSamlSsoProfilesIdpCredentialsDelete+    { xgafv =+        Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      name = name,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance+  Core.GoogleRequest+    CloudIdentityInboundSamlSsoProfilesIdpCredentialsDelete+  where+  type+    Rs CloudIdentityInboundSamlSsoProfilesIdpCredentialsDelete =+      Operation+  type+    Scopes CloudIdentityInboundSamlSsoProfilesIdpCredentialsDelete =+      '[CloudIdentity'Inboundsso, CloudPlatform'FullControl]+  requestClient+    CloudIdentityInboundSamlSsoProfilesIdpCredentialsDelete {..} =+      go+        name+        xgafv+        accessToken+        callback+        uploadType+        uploadProtocol+        (Core.Just Core.AltJSON)+        cloudIdentityService+      where+        go =+          Core.buildClient+            ( Core.Proxy ::+                Core.Proxy+                  CloudIdentityInboundSamlSsoProfilesIdpCredentialsDeleteResource+            )+            Core.mempty
+ gen/Gogol/CloudIdentity/InboundSamlSsoProfiles/IdpCredentials/Get.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.InboundSamlSsoProfiles.IdpCredentials.Get+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets an IdpCredential.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.inboundSamlSsoProfiles.idpCredentials.get@.+module Gogol.CloudIdentity.InboundSamlSsoProfiles.IdpCredentials.Get+  ( -- * Resource+    CloudIdentityInboundSamlSsoProfilesIdpCredentialsGetResource,++    -- ** Constructing a Request+    CloudIdentityInboundSamlSsoProfilesIdpCredentialsGet (..),+    newCloudIdentityInboundSamlSsoProfilesIdpCredentialsGet,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.inboundSamlSsoProfiles.idpCredentials.get@ method which the+-- 'CloudIdentityInboundSamlSsoProfilesIdpCredentialsGet' request conforms to.+type CloudIdentityInboundSamlSsoProfilesIdpCredentialsGetResource =+  "v1"+    Core.:> Core.Capture "name" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] IdpCredential++-- | Gets an IdpCredential.+--+-- /See:/ 'newCloudIdentityInboundSamlSsoProfilesIdpCredentialsGet' smart constructor.+data CloudIdentityInboundSamlSsoProfilesIdpCredentialsGet = CloudIdentityInboundSamlSsoProfilesIdpCredentialsGet+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Required. The <https://cloud.google.com/apis/design/resource_names resource name> of the IdpCredential to retrieve. Format: @inboundSamlSsoProfiles\/{sso_profile_id}\/idpCredentials\/{idp_credential_id}@+    name :: Core.Text,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityInboundSamlSsoProfilesIdpCredentialsGet' with the minimum fields required to make a request.+newCloudIdentityInboundSamlSsoProfilesIdpCredentialsGet ::+  -- |  Required. The <https://cloud.google.com/apis/design/resource_names resource name> of the IdpCredential to retrieve. Format: @inboundSamlSsoProfiles\/{sso_profile_id}\/idpCredentials\/{idp_credential_id}@ See 'name'.+  Core.Text ->+  CloudIdentityInboundSamlSsoProfilesIdpCredentialsGet+newCloudIdentityInboundSamlSsoProfilesIdpCredentialsGet name =+  CloudIdentityInboundSamlSsoProfilesIdpCredentialsGet+    { xgafv =+        Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      name = name,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance+  Core.GoogleRequest+    CloudIdentityInboundSamlSsoProfilesIdpCredentialsGet+  where+  type+    Rs CloudIdentityInboundSamlSsoProfilesIdpCredentialsGet =+      IdpCredential+  type+    Scopes CloudIdentityInboundSamlSsoProfilesIdpCredentialsGet =+      '[ CloudIdentity'Inboundsso,+         CloudIdentity'Inboundsso'Readonly,+         CloudPlatform'FullControl+       ]+  requestClient+    CloudIdentityInboundSamlSsoProfilesIdpCredentialsGet {..} =+      go+        name+        xgafv+        accessToken+        callback+        uploadType+        uploadProtocol+        (Core.Just Core.AltJSON)+        cloudIdentityService+      where+        go =+          Core.buildClient+            ( Core.Proxy ::+                Core.Proxy+                  CloudIdentityInboundSamlSsoProfilesIdpCredentialsGetResource+            )+            Core.mempty
+ gen/Gogol/CloudIdentity/InboundSamlSsoProfiles/IdpCredentials/List.hs view
@@ -0,0 +1,133 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.InboundSamlSsoProfiles.IdpCredentials.List+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of IdpCredentials in an InboundSamlSsoProfile.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.inboundSamlSsoProfiles.idpCredentials.list@.+module Gogol.CloudIdentity.InboundSamlSsoProfiles.IdpCredentials.List+  ( -- * Resource+    CloudIdentityInboundSamlSsoProfilesIdpCredentialsListResource,++    -- ** Constructing a Request+    CloudIdentityInboundSamlSsoProfilesIdpCredentialsList (..),+    newCloudIdentityInboundSamlSsoProfilesIdpCredentialsList,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.inboundSamlSsoProfiles.idpCredentials.list@ method which the+-- 'CloudIdentityInboundSamlSsoProfilesIdpCredentialsList' request conforms to.+type CloudIdentityInboundSamlSsoProfilesIdpCredentialsListResource =+  "v1"+    Core.:> Core.Capture "parent" Core.Text+    Core.:> "idpCredentials"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "pageSize" Core.Int32+    Core.:> Core.QueryParam "pageToken" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] ListIdpCredentialsResponse++-- | Returns a list of IdpCredentials in an InboundSamlSsoProfile.+--+-- /See:/ 'newCloudIdentityInboundSamlSsoProfilesIdpCredentialsList' smart constructor.+data CloudIdentityInboundSamlSsoProfilesIdpCredentialsList = CloudIdentityInboundSamlSsoProfilesIdpCredentialsList+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | The maximum number of @IdpCredential@s to return. The service may return fewer than this value.+    pageSize :: (Core.Maybe Core.Int32),+    -- | A page token, received from a previous @ListIdpCredentials@ call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to @ListIdpCredentials@ must match the call that provided the page token.+    pageToken :: (Core.Maybe Core.Text),+    -- | Required. The parent, which owns this collection of @IdpCredential@s. Format: @inboundSamlSsoProfiles\/{sso_profile_id}@+    parent :: Core.Text,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityInboundSamlSsoProfilesIdpCredentialsList' with the minimum fields required to make a request.+newCloudIdentityInboundSamlSsoProfilesIdpCredentialsList ::+  -- |  Required. The parent, which owns this collection of @IdpCredential@s. Format: @inboundSamlSsoProfiles\/{sso_profile_id}@ See 'parent'.+  Core.Text ->+  CloudIdentityInboundSamlSsoProfilesIdpCredentialsList+newCloudIdentityInboundSamlSsoProfilesIdpCredentialsList parent =+  CloudIdentityInboundSamlSsoProfilesIdpCredentialsList+    { xgafv =+        Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      pageSize = Core.Nothing,+      pageToken = Core.Nothing,+      parent = parent,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance+  Core.GoogleRequest+    CloudIdentityInboundSamlSsoProfilesIdpCredentialsList+  where+  type+    Rs CloudIdentityInboundSamlSsoProfilesIdpCredentialsList =+      ListIdpCredentialsResponse+  type+    Scopes CloudIdentityInboundSamlSsoProfilesIdpCredentialsList =+      '[ CloudIdentity'Inboundsso,+         CloudIdentity'Inboundsso'Readonly,+         CloudPlatform'FullControl+       ]+  requestClient+    CloudIdentityInboundSamlSsoProfilesIdpCredentialsList {..} =+      go+        parent+        xgafv+        accessToken+        callback+        pageSize+        pageToken+        uploadType+        uploadProtocol+        (Core.Just Core.AltJSON)+        cloudIdentityService+      where+        go =+          Core.buildClient+            ( Core.Proxy ::+                Core.Proxy+                  CloudIdentityInboundSamlSsoProfilesIdpCredentialsListResource+            )+            Core.mempty
+ gen/Gogol/CloudIdentity/InboundSamlSsoProfiles/List.hs view
@@ -0,0 +1,125 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.InboundSamlSsoProfiles.List+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists InboundSamlSsoProfiles for a customer.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.inboundSamlSsoProfiles.list@.+module Gogol.CloudIdentity.InboundSamlSsoProfiles.List+  ( -- * Resource+    CloudIdentityInboundSamlSsoProfilesListResource,++    -- ** Constructing a Request+    CloudIdentityInboundSamlSsoProfilesList (..),+    newCloudIdentityInboundSamlSsoProfilesList,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.inboundSamlSsoProfiles.list@ method which the+-- 'CloudIdentityInboundSamlSsoProfilesList' request conforms to.+type CloudIdentityInboundSamlSsoProfilesListResource =+  "v1"+    Core.:> "inboundSamlSsoProfiles"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "filter" Core.Text+    Core.:> Core.QueryParam "pageSize" Core.Int32+    Core.:> Core.QueryParam "pageToken" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] ListInboundSamlSsoProfilesResponse++-- | Lists InboundSamlSsoProfiles for a customer.+--+-- /See:/ 'newCloudIdentityInboundSamlSsoProfilesList' smart constructor.+data CloudIdentityInboundSamlSsoProfilesList = CloudIdentityInboundSamlSsoProfilesList+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | A <https://github.com/google/cel-spec Common Expression Language> expression to filter the results. The only supported filter is filtering by customer. For example: @customer==\"customers\/C0123abc\"@. Omitting the filter or specifying a filter of @customer==\"customers\/my_customer\"@ will return the profiles for the customer that the caller (authenticated user) belongs to.+    filter :: (Core.Maybe Core.Text),+    -- | The maximum number of InboundSamlSsoProfiles to return. The service may return fewer than this value. If omitted (or defaulted to zero) the server will use a sensible default. This default may change over time. The maximum allowed value is 100. Requests with page_size greater than that will be silently interpreted as having this maximum value.+    pageSize :: (Core.Maybe Core.Int32),+    -- | A page token, received from a previous @ListInboundSamlSsoProfiles@ call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to @ListInboundSamlSsoProfiles@ must match the call that provided the page token.+    pageToken :: (Core.Maybe Core.Text),+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityInboundSamlSsoProfilesList' with the minimum fields required to make a request.+newCloudIdentityInboundSamlSsoProfilesList ::+  CloudIdentityInboundSamlSsoProfilesList+newCloudIdentityInboundSamlSsoProfilesList =+  CloudIdentityInboundSamlSsoProfilesList+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      filter = Core.Nothing,+      pageSize = Core.Nothing,+      pageToken = Core.Nothing,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityInboundSamlSsoProfilesList where+  type+    Rs CloudIdentityInboundSamlSsoProfilesList =+      ListInboundSamlSsoProfilesResponse+  type+    Scopes CloudIdentityInboundSamlSsoProfilesList =+      '[ CloudIdentity'Inboundsso,+         CloudIdentity'Inboundsso'Readonly,+         CloudPlatform'FullControl+       ]+  requestClient CloudIdentityInboundSamlSsoProfilesList {..} =+    go+      xgafv+      accessToken+      callback+      filter+      pageSize+      pageToken+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CloudIdentityInboundSamlSsoProfilesListResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/InboundSamlSsoProfiles/Patch.hs view
@@ -0,0 +1,126 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.InboundSamlSsoProfiles.Patch+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an InboundSamlSsoProfile. When the target customer has enabled <https://support.google.com/a/answer/13790448 Multi-party approval for sensitive actions>, the @Operation@ in the response will have @\"done\": false@, it will not have a response, and the metadata will have @\"state\": \"awaiting-multi-party-approval\"@.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.inboundSamlSsoProfiles.patch@.+module Gogol.CloudIdentity.InboundSamlSsoProfiles.Patch+  ( -- * Resource+    CloudIdentityInboundSamlSsoProfilesPatchResource,++    -- ** Constructing a Request+    CloudIdentityInboundSamlSsoProfilesPatch (..),+    newCloudIdentityInboundSamlSsoProfilesPatch,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.inboundSamlSsoProfiles.patch@ method which the+-- 'CloudIdentityInboundSamlSsoProfilesPatch' request conforms to.+type CloudIdentityInboundSamlSsoProfilesPatchResource =+  "v1"+    Core.:> Core.Capture "name" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "updateMask" Core.FieldMask+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.ReqBody '[Core.JSON] InboundSamlSsoProfile+    Core.:> Core.Patch '[Core.JSON] Operation++-- | Updates an InboundSamlSsoProfile. When the target customer has enabled <https://support.google.com/a/answer/13790448 Multi-party approval for sensitive actions>, the @Operation@ in the response will have @\"done\": false@, it will not have a response, and the metadata will have @\"state\": \"awaiting-multi-party-approval\"@.+--+-- /See:/ 'newCloudIdentityInboundSamlSsoProfilesPatch' smart constructor.+data CloudIdentityInboundSamlSsoProfilesPatch = CloudIdentityInboundSamlSsoProfilesPatch+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Output only. <https://cloud.google.com/apis/design/resource_names Resource name> of the SAML SSO profile.+    name :: Core.Text,+    -- | Multipart request metadata.+    payload :: InboundSamlSsoProfile,+    -- | Required. The list of fields to be updated.+    updateMask :: (Core.Maybe Core.FieldMask),+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityInboundSamlSsoProfilesPatch' with the minimum fields required to make a request.+newCloudIdentityInboundSamlSsoProfilesPatch ::+  -- |  Output only. <https://cloud.google.com/apis/design/resource_names Resource name> of the SAML SSO profile. See 'name'.+  Core.Text ->+  -- |  Multipart request metadata. See 'payload'.+  InboundSamlSsoProfile ->+  CloudIdentityInboundSamlSsoProfilesPatch+newCloudIdentityInboundSamlSsoProfilesPatch name payload =+  CloudIdentityInboundSamlSsoProfilesPatch+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      name = name,+      payload = payload,+      updateMask = Core.Nothing,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance+  Core.GoogleRequest+    CloudIdentityInboundSamlSsoProfilesPatch+  where+  type Rs CloudIdentityInboundSamlSsoProfilesPatch = Operation+  type+    Scopes CloudIdentityInboundSamlSsoProfilesPatch =+      '[CloudIdentity'Inboundsso, CloudPlatform'FullControl]+  requestClient CloudIdentityInboundSamlSsoProfilesPatch {..} =+    go+      name+      xgafv+      accessToken+      callback+      updateMask+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      payload+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CloudIdentityInboundSamlSsoProfilesPatchResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/InboundSsoAssignments/Create.hs view
@@ -0,0 +1,115 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.InboundSsoAssignments.Create+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an InboundSsoAssignment for users and devices in a @Customer@ under a given @Group@ or @OrgUnit@.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.inboundSsoAssignments.create@.+module Gogol.CloudIdentity.InboundSsoAssignments.Create+  ( -- * Resource+    CloudIdentityInboundSsoAssignmentsCreateResource,++    -- ** Constructing a Request+    CloudIdentityInboundSsoAssignmentsCreate (..),+    newCloudIdentityInboundSsoAssignmentsCreate,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.inboundSsoAssignments.create@ method which the+-- 'CloudIdentityInboundSsoAssignmentsCreate' request conforms to.+type CloudIdentityInboundSsoAssignmentsCreateResource =+  "v1"+    Core.:> "inboundSsoAssignments"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.ReqBody '[Core.JSON] InboundSsoAssignment+    Core.:> Core.Post '[Core.JSON] Operation++-- | Creates an InboundSsoAssignment for users and devices in a @Customer@ under a given @Group@ or @OrgUnit@.+--+-- /See:/ 'newCloudIdentityInboundSsoAssignmentsCreate' smart constructor.+data CloudIdentityInboundSsoAssignmentsCreate = CloudIdentityInboundSsoAssignmentsCreate+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Multipart request metadata.+    payload :: InboundSsoAssignment,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityInboundSsoAssignmentsCreate' with the minimum fields required to make a request.+newCloudIdentityInboundSsoAssignmentsCreate ::+  -- |  Multipart request metadata. See 'payload'.+  InboundSsoAssignment ->+  CloudIdentityInboundSsoAssignmentsCreate+newCloudIdentityInboundSsoAssignmentsCreate payload =+  CloudIdentityInboundSsoAssignmentsCreate+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      payload = payload,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance+  Core.GoogleRequest+    CloudIdentityInboundSsoAssignmentsCreate+  where+  type Rs CloudIdentityInboundSsoAssignmentsCreate = Operation+  type+    Scopes CloudIdentityInboundSsoAssignmentsCreate =+      '[CloudIdentity'Inboundsso, CloudPlatform'FullControl]+  requestClient CloudIdentityInboundSsoAssignmentsCreate {..} =+    go+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      payload+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CloudIdentityInboundSsoAssignmentsCreateResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/InboundSsoAssignments/Delete.hs view
@@ -0,0 +1,114 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.InboundSsoAssignments.Delete+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an InboundSsoAssignment. To disable SSO, Create (or Update) an assignment that has @sso_mode@ == @SSO_OFF@.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.inboundSsoAssignments.delete@.+module Gogol.CloudIdentity.InboundSsoAssignments.Delete+  ( -- * Resource+    CloudIdentityInboundSsoAssignmentsDeleteResource,++    -- ** Constructing a Request+    CloudIdentityInboundSsoAssignmentsDelete (..),+    newCloudIdentityInboundSsoAssignmentsDelete,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.inboundSsoAssignments.delete@ method which the+-- 'CloudIdentityInboundSsoAssignmentsDelete' request conforms to.+type CloudIdentityInboundSsoAssignmentsDeleteResource =+  "v1"+    Core.:> Core.Capture "name" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Delete '[Core.JSON] Operation++-- | Deletes an InboundSsoAssignment. To disable SSO, Create (or Update) an assignment that has @sso_mode@ == @SSO_OFF@.+--+-- /See:/ 'newCloudIdentityInboundSsoAssignmentsDelete' smart constructor.+data CloudIdentityInboundSsoAssignmentsDelete = CloudIdentityInboundSsoAssignmentsDelete+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Required. The <https://cloud.google.com/apis/design/resource_names resource name> of the InboundSsoAssignment to delete. Format: @inboundSsoAssignments\/{assignment}@+    name :: Core.Text,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityInboundSsoAssignmentsDelete' with the minimum fields required to make a request.+newCloudIdentityInboundSsoAssignmentsDelete ::+  -- |  Required. The <https://cloud.google.com/apis/design/resource_names resource name> of the InboundSsoAssignment to delete. Format: @inboundSsoAssignments\/{assignment}@ See 'name'.+  Core.Text ->+  CloudIdentityInboundSsoAssignmentsDelete+newCloudIdentityInboundSsoAssignmentsDelete name =+  CloudIdentityInboundSsoAssignmentsDelete+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      name = name,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance+  Core.GoogleRequest+    CloudIdentityInboundSsoAssignmentsDelete+  where+  type Rs CloudIdentityInboundSsoAssignmentsDelete = Operation+  type+    Scopes CloudIdentityInboundSsoAssignmentsDelete =+      '[CloudIdentity'Inboundsso, CloudPlatform'FullControl]+  requestClient CloudIdentityInboundSsoAssignmentsDelete {..} =+    go+      name+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CloudIdentityInboundSsoAssignmentsDeleteResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/InboundSsoAssignments/Get.hs view
@@ -0,0 +1,116 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.InboundSsoAssignments.Get+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets an InboundSsoAssignment.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.inboundSsoAssignments.get@.+module Gogol.CloudIdentity.InboundSsoAssignments.Get+  ( -- * Resource+    CloudIdentityInboundSsoAssignmentsGetResource,++    -- ** Constructing a Request+    CloudIdentityInboundSsoAssignmentsGet (..),+    newCloudIdentityInboundSsoAssignmentsGet,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.inboundSsoAssignments.get@ method which the+-- 'CloudIdentityInboundSsoAssignmentsGet' request conforms to.+type CloudIdentityInboundSsoAssignmentsGetResource =+  "v1"+    Core.:> Core.Capture "name" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] InboundSsoAssignment++-- | Gets an InboundSsoAssignment.+--+-- /See:/ 'newCloudIdentityInboundSsoAssignmentsGet' smart constructor.+data CloudIdentityInboundSsoAssignmentsGet = CloudIdentityInboundSsoAssignmentsGet+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Required. The <https://cloud.google.com/apis/design/resource_names resource name> of the InboundSsoAssignment to fetch. Format: @inboundSsoAssignments\/{assignment}@+    name :: Core.Text,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityInboundSsoAssignmentsGet' with the minimum fields required to make a request.+newCloudIdentityInboundSsoAssignmentsGet ::+  -- |  Required. The <https://cloud.google.com/apis/design/resource_names resource name> of the InboundSsoAssignment to fetch. Format: @inboundSsoAssignments\/{assignment}@ See 'name'.+  Core.Text ->+  CloudIdentityInboundSsoAssignmentsGet+newCloudIdentityInboundSsoAssignmentsGet name =+  CloudIdentityInboundSsoAssignmentsGet+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      name = name,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityInboundSsoAssignmentsGet where+  type+    Rs CloudIdentityInboundSsoAssignmentsGet =+      InboundSsoAssignment+  type+    Scopes CloudIdentityInboundSsoAssignmentsGet =+      '[ CloudIdentity'Inboundsso,+         CloudIdentity'Inboundsso'Readonly,+         CloudPlatform'FullControl+       ]+  requestClient CloudIdentityInboundSsoAssignmentsGet {..} =+    go+      name+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CloudIdentityInboundSsoAssignmentsGetResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/InboundSsoAssignments/List.hs view
@@ -0,0 +1,125 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.InboundSsoAssignments.List+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the InboundSsoAssignments for a @Customer@.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.inboundSsoAssignments.list@.+module Gogol.CloudIdentity.InboundSsoAssignments.List+  ( -- * Resource+    CloudIdentityInboundSsoAssignmentsListResource,++    -- ** Constructing a Request+    CloudIdentityInboundSsoAssignmentsList (..),+    newCloudIdentityInboundSsoAssignmentsList,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.inboundSsoAssignments.list@ method which the+-- 'CloudIdentityInboundSsoAssignmentsList' request conforms to.+type CloudIdentityInboundSsoAssignmentsListResource =+  "v1"+    Core.:> "inboundSsoAssignments"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "filter" Core.Text+    Core.:> Core.QueryParam "pageSize" Core.Int32+    Core.:> Core.QueryParam "pageToken" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] ListInboundSsoAssignmentsResponse++-- | Lists the InboundSsoAssignments for a @Customer@.+--+-- /See:/ 'newCloudIdentityInboundSsoAssignmentsList' smart constructor.+data CloudIdentityInboundSsoAssignmentsList = CloudIdentityInboundSsoAssignmentsList+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | A CEL expression to filter the results. The only supported filter is filtering by customer. For example: @customer==customers\/C0123abc@. Omitting the filter or specifying a filter of @customer==customers\/my_customer@ will return the assignments for the customer that the caller (authenticated user) belongs to.+    filter :: (Core.Maybe Core.Text),+    -- | The maximum number of assignments to return. The service may return fewer than this value. If omitted (or defaulted to zero) the server will use a sensible default. This default may change over time. The maximum allowed value is 100, though requests with page_size greater than that will be silently interpreted as having this maximum value. This may increase in the futue.+    pageSize :: (Core.Maybe Core.Int32),+    -- | A page token, received from a previous @ListInboundSsoAssignments@ call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to @ListInboundSsoAssignments@ must match the call that provided the page token.+    pageToken :: (Core.Maybe Core.Text),+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityInboundSsoAssignmentsList' with the minimum fields required to make a request.+newCloudIdentityInboundSsoAssignmentsList ::+  CloudIdentityInboundSsoAssignmentsList+newCloudIdentityInboundSsoAssignmentsList =+  CloudIdentityInboundSsoAssignmentsList+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      filter = Core.Nothing,+      pageSize = Core.Nothing,+      pageToken = Core.Nothing,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityInboundSsoAssignmentsList where+  type+    Rs CloudIdentityInboundSsoAssignmentsList =+      ListInboundSsoAssignmentsResponse+  type+    Scopes CloudIdentityInboundSsoAssignmentsList =+      '[ CloudIdentity'Inboundsso,+         CloudIdentity'Inboundsso'Readonly,+         CloudPlatform'FullControl+       ]+  requestClient CloudIdentityInboundSsoAssignmentsList {..} =+    go+      xgafv+      accessToken+      callback+      filter+      pageSize+      pageToken+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CloudIdentityInboundSsoAssignmentsListResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/InboundSsoAssignments/Patch.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.InboundSsoAssignments.Patch+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an InboundSsoAssignment. The body of this request is the @inbound_sso_assignment@ field and the @update_mask@ is relative to that. For example: a PATCH to @\/v1\/inboundSsoAssignments\/0abcdefg1234567&update_mask=rank@ with a body of @{ \"rank\": 1 }@ moves that (presumably group-targeted) SSO assignment to the highest priority and shifts any other group-targeted assignments down in priority.+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.inboundSsoAssignments.patch@.+module Gogol.CloudIdentity.InboundSsoAssignments.Patch+  ( -- * Resource+    CloudIdentityInboundSsoAssignmentsPatchResource,++    -- ** Constructing a Request+    CloudIdentityInboundSsoAssignmentsPatch (..),+    newCloudIdentityInboundSsoAssignmentsPatch,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.inboundSsoAssignments.patch@ method which the+-- 'CloudIdentityInboundSsoAssignmentsPatch' request conforms to.+type CloudIdentityInboundSsoAssignmentsPatchResource =+  "v1"+    Core.:> Core.Capture "name" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "updateMask" Core.FieldMask+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.ReqBody '[Core.JSON] InboundSsoAssignment+    Core.:> Core.Patch '[Core.JSON] Operation++-- | Updates an InboundSsoAssignment. The body of this request is the @inbound_sso_assignment@ field and the @update_mask@ is relative to that. For example: a PATCH to @\/v1\/inboundSsoAssignments\/0abcdefg1234567&update_mask=rank@ with a body of @{ \"rank\": 1 }@ moves that (presumably group-targeted) SSO assignment to the highest priority and shifts any other group-targeted assignments down in priority.+--+-- /See:/ 'newCloudIdentityInboundSsoAssignmentsPatch' smart constructor.+data CloudIdentityInboundSsoAssignmentsPatch = CloudIdentityInboundSsoAssignmentsPatch+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Output only. <https://cloud.google.com/apis/design/resource_names Resource name> of the Inbound SSO Assignment.+    name :: Core.Text,+    -- | Multipart request metadata.+    payload :: InboundSsoAssignment,+    -- | Required. The list of fields to be updated.+    updateMask :: (Core.Maybe Core.FieldMask),+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityInboundSsoAssignmentsPatch' with the minimum fields required to make a request.+newCloudIdentityInboundSsoAssignmentsPatch ::+  -- |  Output only. <https://cloud.google.com/apis/design/resource_names Resource name> of the Inbound SSO Assignment. See 'name'.+  Core.Text ->+  -- |  Multipart request metadata. See 'payload'.+  InboundSsoAssignment ->+  CloudIdentityInboundSsoAssignmentsPatch+newCloudIdentityInboundSsoAssignmentsPatch name payload =+  CloudIdentityInboundSsoAssignmentsPatch+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      name = name,+      payload = payload,+      updateMask = Core.Nothing,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityInboundSsoAssignmentsPatch where+  type Rs CloudIdentityInboundSsoAssignmentsPatch = Operation+  type+    Scopes CloudIdentityInboundSsoAssignmentsPatch =+      '[CloudIdentity'Inboundsso, CloudPlatform'FullControl]+  requestClient CloudIdentityInboundSsoAssignmentsPatch {..} =+    go+      name+      xgafv+      accessToken+      callback+      updateMask+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      payload+      cloudIdentityService+    where+      go =+        Core.buildClient+          ( Core.Proxy ::+              Core.Proxy CloudIdentityInboundSsoAssignmentsPatchResource+          )+          Core.mempty
+ gen/Gogol/CloudIdentity/Internal/Product.hs view
@@ -0,0 +1,5201 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Internal.Product+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Gogol.CloudIdentity.Internal.Product+  ( -- * AddIdpCredentialOperationMetadata+    AddIdpCredentialOperationMetadata (..),+    newAddIdpCredentialOperationMetadata,++    -- * AddIdpCredentialRequest+    AddIdpCredentialRequest (..),+    newAddIdpCredentialRequest,++    -- * CancelUserInvitationRequest+    CancelUserInvitationRequest (..),+    newCancelUserInvitationRequest,++    -- * CheckTransitiveMembershipResponse+    CheckTransitiveMembershipResponse (..),+    newCheckTransitiveMembershipResponse,++    -- * CreateGroupMetadata+    CreateGroupMetadata (..),+    newCreateGroupMetadata,++    -- * CreateInboundSamlSsoProfileOperationMetadata+    CreateInboundSamlSsoProfileOperationMetadata (..),+    newCreateInboundSamlSsoProfileOperationMetadata,++    -- * CreateInboundSsoAssignmentOperationMetadata+    CreateInboundSsoAssignmentOperationMetadata (..),+    newCreateInboundSsoAssignmentOperationMetadata,++    -- * CreateMembershipMetadata+    CreateMembershipMetadata (..),+    newCreateMembershipMetadata,++    -- * DeleteGroupMetadata+    DeleteGroupMetadata (..),+    newDeleteGroupMetadata,++    -- * DeleteIdpCredentialOperationMetadata+    DeleteIdpCredentialOperationMetadata (..),+    newDeleteIdpCredentialOperationMetadata,++    -- * DeleteInboundSamlSsoProfileOperationMetadata+    DeleteInboundSamlSsoProfileOperationMetadata (..),+    newDeleteInboundSamlSsoProfileOperationMetadata,++    -- * DeleteInboundSsoAssignmentOperationMetadata+    DeleteInboundSsoAssignmentOperationMetadata (..),+    newDeleteInboundSsoAssignmentOperationMetadata,++    -- * DeleteMembershipMetadata+    DeleteMembershipMetadata (..),+    newDeleteMembershipMetadata,++    -- * DsaPublicKeyInfo+    DsaPublicKeyInfo (..),+    newDsaPublicKeyInfo,++    -- * DynamicGroupMetadata+    DynamicGroupMetadata (..),+    newDynamicGroupMetadata,++    -- * DynamicGroupQuery+    DynamicGroupQuery (..),+    newDynamicGroupQuery,++    -- * DynamicGroupStatus+    DynamicGroupStatus (..),+    newDynamicGroupStatus,++    -- * EntityKey+    EntityKey (..),+    newEntityKey,++    -- * ExpiryDetail+    ExpiryDetail (..),+    newExpiryDetail,++    -- * GetMembershipGraphMetadata+    GetMembershipGraphMetadata (..),+    newGetMembershipGraphMetadata,++    -- * GetMembershipGraphResponse+    GetMembershipGraphResponse (..),+    newGetMembershipGraphResponse,++    -- * GoogleAppsCloudidentityDevicesV1AndroidAttributes+    GoogleAppsCloudidentityDevicesV1AndroidAttributes (..),+    newGoogleAppsCloudidentityDevicesV1AndroidAttributes,++    -- * GoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata+    GoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata (..),+    newGoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata,++    -- * GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest+    GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest (..),+    newGoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest,++    -- * GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse+    GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse (..),+    newGoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse,++    -- * GoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata+    GoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata (..),+    newGoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata,++    -- * GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest+    GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest (..),+    newGoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest,++    -- * GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse+    GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse (..),+    newGoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse,++    -- * GoogleAppsCloudidentityDevicesV1BrowserAttributes+    GoogleAppsCloudidentityDevicesV1BrowserAttributes (..),+    newGoogleAppsCloudidentityDevicesV1BrowserAttributes,++    -- * GoogleAppsCloudidentityDevicesV1BrowserInfo+    GoogleAppsCloudidentityDevicesV1BrowserInfo (..),+    newGoogleAppsCloudidentityDevicesV1BrowserInfo,++    -- * GoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata (..),+    newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata,++    -- * GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest (..),+    newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest,++    -- * GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse (..),+    newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse,++    -- * GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata (..),+    newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata,++    -- * GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest (..),+    newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest,++    -- * GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse (..),+    newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse,++    -- * GoogleAppsCloudidentityDevicesV1CertificateAttributes+    GoogleAppsCloudidentityDevicesV1CertificateAttributes (..),+    newGoogleAppsCloudidentityDevicesV1CertificateAttributes,++    -- * GoogleAppsCloudidentityDevicesV1CertificateTemplate+    GoogleAppsCloudidentityDevicesV1CertificateTemplate (..),+    newGoogleAppsCloudidentityDevicesV1CertificateTemplate,++    -- * GoogleAppsCloudidentityDevicesV1ClientState+    GoogleAppsCloudidentityDevicesV1ClientState (..),+    newGoogleAppsCloudidentityDevicesV1ClientState,++    -- * GoogleAppsCloudidentityDevicesV1ClientState_KeyValuePairs+    GoogleAppsCloudidentityDevicesV1ClientState_KeyValuePairs (..),+    newGoogleAppsCloudidentityDevicesV1ClientState_KeyValuePairs,++    -- * GoogleAppsCloudidentityDevicesV1CreateDeviceMetadata+    GoogleAppsCloudidentityDevicesV1CreateDeviceMetadata (..),+    newGoogleAppsCloudidentityDevicesV1CreateDeviceMetadata,++    -- * GoogleAppsCloudidentityDevicesV1CustomAttributeValue+    GoogleAppsCloudidentityDevicesV1CustomAttributeValue (..),+    newGoogleAppsCloudidentityDevicesV1CustomAttributeValue,++    -- * GoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata+    GoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata (..),+    newGoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata,++    -- * GoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata+    GoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata (..),+    newGoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata,++    -- * GoogleAppsCloudidentityDevicesV1Device+    GoogleAppsCloudidentityDevicesV1Device (..),+    newGoogleAppsCloudidentityDevicesV1Device,++    -- * GoogleAppsCloudidentityDevicesV1DeviceUser+    GoogleAppsCloudidentityDevicesV1DeviceUser (..),+    newGoogleAppsCloudidentityDevicesV1DeviceUser,++    -- * GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes+    GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes (..),+    newGoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes,++    -- * GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes_AdditionalSignals+    GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes_AdditionalSignals (..),+    newGoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes_AdditionalSignals,++    -- * GoogleAppsCloudidentityDevicesV1ListClientStatesResponse+    GoogleAppsCloudidentityDevicesV1ListClientStatesResponse (..),+    newGoogleAppsCloudidentityDevicesV1ListClientStatesResponse,++    -- * GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse+    GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse (..),+    newGoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse,++    -- * GoogleAppsCloudidentityDevicesV1ListDevicesResponse+    GoogleAppsCloudidentityDevicesV1ListDevicesResponse (..),+    newGoogleAppsCloudidentityDevicesV1ListDevicesResponse,++    -- * GoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata+    GoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata (..),+    newGoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata,++    -- * GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse+    GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse (..),+    newGoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse,++    -- * GoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata+    GoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata (..),+    newGoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata,++    -- * GoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata+    GoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata (..),+    newGoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata,++    -- * GoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata+    GoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata (..),+    newGoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata,++    -- * GoogleAppsCloudidentityDevicesV1WipeDeviceMetadata+    GoogleAppsCloudidentityDevicesV1WipeDeviceMetadata (..),+    newGoogleAppsCloudidentityDevicesV1WipeDeviceMetadata,++    -- * GoogleAppsCloudidentityDevicesV1WipeDeviceRequest+    GoogleAppsCloudidentityDevicesV1WipeDeviceRequest (..),+    newGoogleAppsCloudidentityDevicesV1WipeDeviceRequest,++    -- * GoogleAppsCloudidentityDevicesV1WipeDeviceResponse+    GoogleAppsCloudidentityDevicesV1WipeDeviceResponse (..),+    newGoogleAppsCloudidentityDevicesV1WipeDeviceResponse,++    -- * GoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata+    GoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata (..),+    newGoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata,++    -- * GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest+    GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest (..),+    newGoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest,++    -- * GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse+    GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse (..),+    newGoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse,++    -- * Group+    Group (..),+    newGroup,++    -- * Group_Labels+    Group_Labels (..),+    newGroup_Labels,++    -- * GroupRelation+    GroupRelation (..),+    newGroupRelation,++    -- * GroupRelation_Labels+    GroupRelation_Labels (..),+    newGroupRelation_Labels,++    -- * IdpCredential+    IdpCredential (..),+    newIdpCredential,++    -- * InboundSamlSsoProfile+    InboundSamlSsoProfile (..),+    newInboundSamlSsoProfile,++    -- * InboundSsoAssignment+    InboundSsoAssignment (..),+    newInboundSsoAssignment,++    -- * IsInvitableUserResponse+    IsInvitableUserResponse (..),+    newIsInvitableUserResponse,++    -- * ListGroupsResponse+    ListGroupsResponse (..),+    newListGroupsResponse,++    -- * ListIdpCredentialsResponse+    ListIdpCredentialsResponse (..),+    newListIdpCredentialsResponse,++    -- * ListInboundSamlSsoProfilesResponse+    ListInboundSamlSsoProfilesResponse (..),+    newListInboundSamlSsoProfilesResponse,++    -- * ListInboundSsoAssignmentsResponse+    ListInboundSsoAssignmentsResponse (..),+    newListInboundSsoAssignmentsResponse,++    -- * ListMembershipsResponse+    ListMembershipsResponse (..),+    newListMembershipsResponse,++    -- * ListPoliciesResponse+    ListPoliciesResponse (..),+    newListPoliciesResponse,++    -- * ListUserInvitationsResponse+    ListUserInvitationsResponse (..),+    newListUserInvitationsResponse,++    -- * LookupGroupNameResponse+    LookupGroupNameResponse (..),+    newLookupGroupNameResponse,++    -- * LookupMembershipNameResponse+    LookupMembershipNameResponse (..),+    newLookupMembershipNameResponse,++    -- * MemberRelation+    MemberRelation (..),+    newMemberRelation,++    -- * MemberRestriction+    MemberRestriction (..),+    newMemberRestriction,++    -- * Membership+    Membership (..),+    newMembership,++    -- * MembershipAdjacencyList+    MembershipAdjacencyList (..),+    newMembershipAdjacencyList,++    -- * MembershipRelation+    MembershipRelation (..),+    newMembershipRelation,++    -- * MembershipRelation_Labels+    MembershipRelation_Labels (..),+    newMembershipRelation_Labels,++    -- * MembershipRole+    MembershipRole (..),+    newMembershipRole,++    -- * MembershipRoleRestrictionEvaluation+    MembershipRoleRestrictionEvaluation (..),+    newMembershipRoleRestrictionEvaluation,++    -- * ModifyMembershipRolesRequest+    ModifyMembershipRolesRequest (..),+    newModifyMembershipRolesRequest,++    -- * ModifyMembershipRolesResponse+    ModifyMembershipRolesResponse (..),+    newModifyMembershipRolesResponse,++    -- * Operation+    Operation (..),+    newOperation,++    -- * Operation_Metadata+    Operation_Metadata (..),+    newOperation_Metadata,++    -- * Operation_Response+    Operation_Response (..),+    newOperation_Response,++    -- * Policy+    Policy (..),+    newPolicy,++    -- * PolicyQuery+    PolicyQuery (..),+    newPolicyQuery,++    -- * RestrictionEvaluation+    RestrictionEvaluation (..),+    newRestrictionEvaluation,++    -- * RestrictionEvaluations+    RestrictionEvaluations (..),+    newRestrictionEvaluations,++    -- * RsaPublicKeyInfo+    RsaPublicKeyInfo (..),+    newRsaPublicKeyInfo,++    -- * SamlIdpConfig+    SamlIdpConfig (..),+    newSamlIdpConfig,++    -- * SamlSpConfig+    SamlSpConfig (..),+    newSamlSpConfig,++    -- * SamlSsoInfo+    SamlSsoInfo (..),+    newSamlSsoInfo,++    -- * SearchDirectGroupsResponse+    SearchDirectGroupsResponse (..),+    newSearchDirectGroupsResponse,++    -- * SearchGroupsResponse+    SearchGroupsResponse (..),+    newSearchGroupsResponse,++    -- * SearchTransitiveGroupsResponse+    SearchTransitiveGroupsResponse (..),+    newSearchTransitiveGroupsResponse,++    -- * SearchTransitiveMembershipsResponse+    SearchTransitiveMembershipsResponse (..),+    newSearchTransitiveMembershipsResponse,++    -- * SecuritySettings+    SecuritySettings (..),+    newSecuritySettings,++    -- * SendUserInvitationRequest+    SendUserInvitationRequest (..),+    newSendUserInvitationRequest,++    -- * Setting+    Setting (..),+    newSetting,++    -- * Setting_Value+    Setting_Value (..),+    newSetting_Value,++    -- * SignInBehavior+    SignInBehavior (..),+    newSignInBehavior,++    -- * Status+    Status (..),+    newStatus,++    -- * Status_DetailsItem+    Status_DetailsItem (..),+    newStatus_DetailsItem,++    -- * TransitiveMembershipRole+    TransitiveMembershipRole (..),+    newTransitiveMembershipRole,++    -- * UpdateGroupMetadata+    UpdateGroupMetadata (..),+    newUpdateGroupMetadata,++    -- * UpdateInboundSamlSsoProfileOperationMetadata+    UpdateInboundSamlSsoProfileOperationMetadata (..),+    newUpdateInboundSamlSsoProfileOperationMetadata,++    -- * UpdateInboundSsoAssignmentOperationMetadata+    UpdateInboundSsoAssignmentOperationMetadata (..),+    newUpdateInboundSsoAssignmentOperationMetadata,++    -- * UpdateMembershipMetadata+    UpdateMembershipMetadata (..),+    newUpdateMembershipMetadata,++    -- * UpdateMembershipRolesParams+    UpdateMembershipRolesParams (..),+    newUpdateMembershipRolesParams,++    -- * UserInvitation+    UserInvitation (..),+    newUserInvitation,+  )+where++import Gogol.CloudIdentity.Internal.Sum+import Gogol.Prelude qualified as Core++-- | LRO response metadata for InboundSamlSsoProfilesService.AddIdpCredential.+--+-- /See:/ 'newAddIdpCredentialOperationMetadata' smart constructor.+newtype AddIdpCredentialOperationMetadata = AddIdpCredentialOperationMetadata+  { -- | State of this Operation Will be \"awaiting-multi-party-approval\" when the operation is deferred due to the target customer having enabled <https://support.google.com/a/answer/13790448 Multi-party approval for sensitive actions>.+    state :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'AddIdpCredentialOperationMetadata' with the minimum fields required to make a request.+newAddIdpCredentialOperationMetadata ::+  AddIdpCredentialOperationMetadata+newAddIdpCredentialOperationMetadata =+  AddIdpCredentialOperationMetadata {state = Core.Nothing}++instance Core.FromJSON AddIdpCredentialOperationMetadata where+  parseJSON =+    Core.withObject+      "AddIdpCredentialOperationMetadata"+      ( \o ->+          AddIdpCredentialOperationMetadata Core.<$> (o Core..:? "state")+      )++instance Core.ToJSON AddIdpCredentialOperationMetadata where+  toJSON AddIdpCredentialOperationMetadata {..} =+    Core.object (Core.catMaybes [("state" Core..=) Core.<$> state])++-- | The request for creating an IdpCredential with its associated payload. An InboundSamlSsoProfile can own up to 2 credentials.+--+-- /See:/ 'newAddIdpCredentialRequest' smart constructor.+newtype AddIdpCredentialRequest = AddIdpCredentialRequest+  { -- | PEM encoded x509 certificate containing the public key for verifying IdP signatures.+    pemData :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'AddIdpCredentialRequest' with the minimum fields required to make a request.+newAddIdpCredentialRequest ::+  AddIdpCredentialRequest+newAddIdpCredentialRequest =+  AddIdpCredentialRequest {pemData = Core.Nothing}++instance Core.FromJSON AddIdpCredentialRequest where+  parseJSON =+    Core.withObject+      "AddIdpCredentialRequest"+      (\o -> AddIdpCredentialRequest Core.<$> (o Core..:? "pemData"))++instance Core.ToJSON AddIdpCredentialRequest where+  toJSON AddIdpCredentialRequest {..} =+    Core.object+      (Core.catMaybes [("pemData" Core..=) Core.<$> pemData])++-- | Request to cancel sent invitation for target email in UserInvitation.+--+-- /See:/ 'newCancelUserInvitationRequest' smart constructor.+data CancelUserInvitationRequest = CancelUserInvitationRequest+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CancelUserInvitationRequest' with the minimum fields required to make a request.+newCancelUserInvitationRequest ::+  CancelUserInvitationRequest+newCancelUserInvitationRequest = CancelUserInvitationRequest++instance Core.FromJSON CancelUserInvitationRequest where+  parseJSON =+    Core.withObject+      "CancelUserInvitationRequest"+      (\o -> Core.pure CancelUserInvitationRequest)++instance Core.ToJSON CancelUserInvitationRequest where+  toJSON = Core.const Core.emptyObject++-- | The response message for MembershipsService.CheckTransitiveMembership.+--+-- /See:/ 'newCheckTransitiveMembershipResponse' smart constructor.+newtype CheckTransitiveMembershipResponse = CheckTransitiveMembershipResponse+  { -- | Response does not include the possible roles of a member since the behavior of this rpc is not all-or-nothing unlike the other rpcs. So, it may not be possible to list all the roles definitively, due to possible lack of authorization in some of the paths.+    hasMembership :: (Core.Maybe Core.Bool)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CheckTransitiveMembershipResponse' with the minimum fields required to make a request.+newCheckTransitiveMembershipResponse ::+  CheckTransitiveMembershipResponse+newCheckTransitiveMembershipResponse =+  CheckTransitiveMembershipResponse {hasMembership = Core.Nothing}++instance Core.FromJSON CheckTransitiveMembershipResponse where+  parseJSON =+    Core.withObject+      "CheckTransitiveMembershipResponse"+      ( \o ->+          CheckTransitiveMembershipResponse+            Core.<$> (o Core..:? "hasMembership")+      )++instance Core.ToJSON CheckTransitiveMembershipResponse where+  toJSON CheckTransitiveMembershipResponse {..} =+    Core.object+      (Core.catMaybes [("hasMembership" Core..=) Core.<$> hasMembership])++-- | Metadata for CreateGroup LRO.+--+-- /See:/ 'newCreateGroupMetadata' smart constructor.+data CreateGroupMetadata = CreateGroupMetadata+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CreateGroupMetadata' with the minimum fields required to make a request.+newCreateGroupMetadata ::+  CreateGroupMetadata+newCreateGroupMetadata = CreateGroupMetadata++instance Core.FromJSON CreateGroupMetadata where+  parseJSON =+    Core.withObject+      "CreateGroupMetadata"+      (\o -> Core.pure CreateGroupMetadata)++instance Core.ToJSON CreateGroupMetadata where+  toJSON = Core.const Core.emptyObject++-- | LRO response metadata for InboundSamlSsoProfilesService.CreateInboundSamlSsoProfile.+--+-- /See:/ 'newCreateInboundSamlSsoProfileOperationMetadata' smart constructor.+newtype CreateInboundSamlSsoProfileOperationMetadata = CreateInboundSamlSsoProfileOperationMetadata+  { -- | State of this Operation Will be \"awaiting-multi-party-approval\" when the operation is deferred due to the target customer having enabled <https://support.google.com/a/answer/13790448 Multi-party approval for sensitive actions>.+    state :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CreateInboundSamlSsoProfileOperationMetadata' with the minimum fields required to make a request.+newCreateInboundSamlSsoProfileOperationMetadata ::+  CreateInboundSamlSsoProfileOperationMetadata+newCreateInboundSamlSsoProfileOperationMetadata =+  CreateInboundSamlSsoProfileOperationMetadata+    { state =+        Core.Nothing+    }++instance Core.FromJSON CreateInboundSamlSsoProfileOperationMetadata where+  parseJSON =+    Core.withObject+      "CreateInboundSamlSsoProfileOperationMetadata"+      ( \o ->+          CreateInboundSamlSsoProfileOperationMetadata+            Core.<$> (o Core..:? "state")+      )++instance Core.ToJSON CreateInboundSamlSsoProfileOperationMetadata where+  toJSON CreateInboundSamlSsoProfileOperationMetadata {..} =+    Core.object (Core.catMaybes [("state" Core..=) Core.<$> state])++-- | LRO response metadata for InboundSsoAssignmentsService.CreateInboundSsoAssignment.+--+-- /See:/ 'newCreateInboundSsoAssignmentOperationMetadata' smart constructor.+data CreateInboundSsoAssignmentOperationMetadata = CreateInboundSsoAssignmentOperationMetadata+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CreateInboundSsoAssignmentOperationMetadata' with the minimum fields required to make a request.+newCreateInboundSsoAssignmentOperationMetadata ::+  CreateInboundSsoAssignmentOperationMetadata+newCreateInboundSsoAssignmentOperationMetadata =+  CreateInboundSsoAssignmentOperationMetadata++instance Core.FromJSON CreateInboundSsoAssignmentOperationMetadata where+  parseJSON =+    Core.withObject+      "CreateInboundSsoAssignmentOperationMetadata"+      (\o -> Core.pure CreateInboundSsoAssignmentOperationMetadata)++instance Core.ToJSON CreateInboundSsoAssignmentOperationMetadata where+  toJSON = Core.const Core.emptyObject++-- | Metadata for CreateMembership LRO.+--+-- /See:/ 'newCreateMembershipMetadata' smart constructor.+data CreateMembershipMetadata = CreateMembershipMetadata+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CreateMembershipMetadata' with the minimum fields required to make a request.+newCreateMembershipMetadata ::+  CreateMembershipMetadata+newCreateMembershipMetadata = CreateMembershipMetadata++instance Core.FromJSON CreateMembershipMetadata where+  parseJSON =+    Core.withObject+      "CreateMembershipMetadata"+      (\o -> Core.pure CreateMembershipMetadata)++instance Core.ToJSON CreateMembershipMetadata where+  toJSON = Core.const Core.emptyObject++-- | Metadata for DeleteGroup LRO.+--+-- /See:/ 'newDeleteGroupMetadata' smart constructor.+data DeleteGroupMetadata = DeleteGroupMetadata+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DeleteGroupMetadata' with the minimum fields required to make a request.+newDeleteGroupMetadata ::+  DeleteGroupMetadata+newDeleteGroupMetadata = DeleteGroupMetadata++instance Core.FromJSON DeleteGroupMetadata where+  parseJSON =+    Core.withObject+      "DeleteGroupMetadata"+      (\o -> Core.pure DeleteGroupMetadata)++instance Core.ToJSON DeleteGroupMetadata where+  toJSON = Core.const Core.emptyObject++-- | LRO response metadata for InboundSamlSsoProfilesService.DeleteIdpCredential.+--+-- /See:/ 'newDeleteIdpCredentialOperationMetadata' smart constructor.+data DeleteIdpCredentialOperationMetadata = DeleteIdpCredentialOperationMetadata+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DeleteIdpCredentialOperationMetadata' with the minimum fields required to make a request.+newDeleteIdpCredentialOperationMetadata ::+  DeleteIdpCredentialOperationMetadata+newDeleteIdpCredentialOperationMetadata =+  DeleteIdpCredentialOperationMetadata++instance Core.FromJSON DeleteIdpCredentialOperationMetadata where+  parseJSON =+    Core.withObject+      "DeleteIdpCredentialOperationMetadata"+      (\o -> Core.pure DeleteIdpCredentialOperationMetadata)++instance Core.ToJSON DeleteIdpCredentialOperationMetadata where+  toJSON = Core.const Core.emptyObject++-- | LRO response metadata for InboundSamlSsoProfilesService.DeleteInboundSamlSsoProfile.+--+-- /See:/ 'newDeleteInboundSamlSsoProfileOperationMetadata' smart constructor.+data DeleteInboundSamlSsoProfileOperationMetadata = DeleteInboundSamlSsoProfileOperationMetadata+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DeleteInboundSamlSsoProfileOperationMetadata' with the minimum fields required to make a request.+newDeleteInboundSamlSsoProfileOperationMetadata ::+  DeleteInboundSamlSsoProfileOperationMetadata+newDeleteInboundSamlSsoProfileOperationMetadata =+  DeleteInboundSamlSsoProfileOperationMetadata++instance Core.FromJSON DeleteInboundSamlSsoProfileOperationMetadata where+  parseJSON =+    Core.withObject+      "DeleteInboundSamlSsoProfileOperationMetadata"+      (\o -> Core.pure DeleteInboundSamlSsoProfileOperationMetadata)++instance Core.ToJSON DeleteInboundSamlSsoProfileOperationMetadata where+  toJSON = Core.const Core.emptyObject++-- | LRO response metadata for InboundSsoAssignmentsService.DeleteInboundSsoAssignment.+--+-- /See:/ 'newDeleteInboundSsoAssignmentOperationMetadata' smart constructor.+data DeleteInboundSsoAssignmentOperationMetadata = DeleteInboundSsoAssignmentOperationMetadata+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DeleteInboundSsoAssignmentOperationMetadata' with the minimum fields required to make a request.+newDeleteInboundSsoAssignmentOperationMetadata ::+  DeleteInboundSsoAssignmentOperationMetadata+newDeleteInboundSsoAssignmentOperationMetadata =+  DeleteInboundSsoAssignmentOperationMetadata++instance Core.FromJSON DeleteInboundSsoAssignmentOperationMetadata where+  parseJSON =+    Core.withObject+      "DeleteInboundSsoAssignmentOperationMetadata"+      (\o -> Core.pure DeleteInboundSsoAssignmentOperationMetadata)++instance Core.ToJSON DeleteInboundSsoAssignmentOperationMetadata where+  toJSON = Core.const Core.emptyObject++-- | Metadata for DeleteMembership LRO.+--+-- /See:/ 'newDeleteMembershipMetadata' smart constructor.+data DeleteMembershipMetadata = DeleteMembershipMetadata+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DeleteMembershipMetadata' with the minimum fields required to make a request.+newDeleteMembershipMetadata ::+  DeleteMembershipMetadata+newDeleteMembershipMetadata = DeleteMembershipMetadata++instance Core.FromJSON DeleteMembershipMetadata where+  parseJSON =+    Core.withObject+      "DeleteMembershipMetadata"+      (\o -> Core.pure DeleteMembershipMetadata)++instance Core.ToJSON DeleteMembershipMetadata where+  toJSON = Core.const Core.emptyObject++-- | Information of a DSA public key.+--+-- /See:/ 'newDsaPublicKeyInfo' smart constructor.+newtype DsaPublicKeyInfo = DsaPublicKeyInfo+  { -- | Key size in bits (size of parameter P).+    keySize :: (Core.Maybe Core.Int32)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DsaPublicKeyInfo' with the minimum fields required to make a request.+newDsaPublicKeyInfo ::+  DsaPublicKeyInfo+newDsaPublicKeyInfo = DsaPublicKeyInfo {keySize = Core.Nothing}++instance Core.FromJSON DsaPublicKeyInfo where+  parseJSON =+    Core.withObject+      "DsaPublicKeyInfo"+      (\o -> DsaPublicKeyInfo Core.<$> (o Core..:? "keySize"))++instance Core.ToJSON DsaPublicKeyInfo where+  toJSON DsaPublicKeyInfo {..} =+    Core.object+      (Core.catMaybes [("keySize" Core..=) Core.<$> keySize])++-- | Dynamic group metadata like queries and status.+--+-- /See:/ 'newDynamicGroupMetadata' smart constructor.+data DynamicGroupMetadata = DynamicGroupMetadata+  { -- | Memberships will be the union of all queries. Only one entry with USER resource is currently supported. Customers can create up to 500 dynamic groups.+    queries :: (Core.Maybe [DynamicGroupQuery]),+    -- | Output only. Status of the dynamic group.+    status :: (Core.Maybe DynamicGroupStatus)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DynamicGroupMetadata' with the minimum fields required to make a request.+newDynamicGroupMetadata ::+  DynamicGroupMetadata+newDynamicGroupMetadata =+  DynamicGroupMetadata+    { queries = Core.Nothing,+      status = Core.Nothing+    }++instance Core.FromJSON DynamicGroupMetadata where+  parseJSON =+    Core.withObject+      "DynamicGroupMetadata"+      ( \o ->+          DynamicGroupMetadata+            Core.<$> (o Core..:? "queries")+            Core.<*> (o Core..:? "status")+      )++instance Core.ToJSON DynamicGroupMetadata where+  toJSON DynamicGroupMetadata {..} =+    Core.object+      ( Core.catMaybes+          [ ("queries" Core..=) Core.<$> queries,+            ("status" Core..=) Core.<$> status+          ]+      )++-- | Defines a query on a resource.+--+-- /See:/ 'newDynamicGroupQuery' smart constructor.+data DynamicGroupQuery = DynamicGroupQuery+  { -- | Query that determines the memberships of the dynamic group. Examples: All users with at least one @organizations.department@ of engineering. @user.organizations.exists(org, org.department==\'engineering\')@ All users with at least one location that has @area@ of @foo@ and @building_id@ of @bar@. @user.locations.exists(loc, loc.area==\'foo\' && loc.building_id==\'bar\')@ All users with any variation of the name John Doe (case-insensitive queries add @equalsIgnoreCase()@ to the value being queried). @user.name.value.equalsIgnoreCase(\'jOhn DoE\')@+    query :: (Core.Maybe Core.Text),+    -- | Resource type for the Dynamic Group Query+    resourceType :: (Core.Maybe DynamicGroupQuery_ResourceType)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DynamicGroupQuery' with the minimum fields required to make a request.+newDynamicGroupQuery ::+  DynamicGroupQuery+newDynamicGroupQuery =+  DynamicGroupQuery+    { query = Core.Nothing,+      resourceType = Core.Nothing+    }++instance Core.FromJSON DynamicGroupQuery where+  parseJSON =+    Core.withObject+      "DynamicGroupQuery"+      ( \o ->+          DynamicGroupQuery+            Core.<$> (o Core..:? "query")+            Core.<*> (o Core..:? "resourceType")+      )++instance Core.ToJSON DynamicGroupQuery where+  toJSON DynamicGroupQuery {..} =+    Core.object+      ( Core.catMaybes+          [ ("query" Core..=) Core.<$> query,+            ("resourceType" Core..=) Core.<$> resourceType+          ]+      )++-- | The current status of a dynamic group along with timestamp.+--+-- /See:/ 'newDynamicGroupStatus' smart constructor.+data DynamicGroupStatus = DynamicGroupStatus+  { -- | Status of the dynamic group.+    status :: (Core.Maybe DynamicGroupStatus_Status),+    -- | The latest time at which the dynamic group is guaranteed to be in the given status. If status is @UP_TO_DATE@, the latest time at which the dynamic group was confirmed to be up-to-date. If status is @UPDATING_MEMBERSHIPS@, the time at which dynamic group was created.+    statusTime :: (Core.Maybe Core.DateTime)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'DynamicGroupStatus' with the minimum fields required to make a request.+newDynamicGroupStatus ::+  DynamicGroupStatus+newDynamicGroupStatus =+  DynamicGroupStatus+    { status = Core.Nothing,+      statusTime = Core.Nothing+    }++instance Core.FromJSON DynamicGroupStatus where+  parseJSON =+    Core.withObject+      "DynamicGroupStatus"+      ( \o ->+          DynamicGroupStatus+            Core.<$> (o Core..:? "status")+            Core.<*> (o Core..:? "statusTime")+      )++instance Core.ToJSON DynamicGroupStatus where+  toJSON DynamicGroupStatus {..} =+    Core.object+      ( Core.catMaybes+          [ ("status" Core..=) Core.<$> status,+            ("statusTime" Core..=) Core.<$> statusTime+          ]+      )++-- | A unique identifier for an entity in the Cloud Identity Groups API. An entity can represent either a group with an optional @namespace@ or a user without a @namespace@. The combination of @id@ and @namespace@ must be unique; however, the same @id@ can be used with different @namespace@s.+--+-- /See:/ 'newEntityKey' smart constructor.+data EntityKey = EntityKey+  { -- | The ID of the entity. For Google-managed entities, the @id@ should be the email address of an existing group or user. Email addresses need to adhere to <https://support.google.com/a/answer/9193374 name guidelines for users and groups>. For external-identity-mapped entities, the @id@ must be a string conforming to the Identity Source\'s requirements. Must be unique within a @namespace@.+    id :: (Core.Maybe Core.Text),+    -- | The namespace in which the entity exists. If not specified, the @EntityKey@ represents a Google-managed entity such as a Google user or a Google Group. If specified, the @EntityKey@ represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of @identitysources\/{identity_source}@.+    namespace :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'EntityKey' with the minimum fields required to make a request.+newEntityKey ::+  EntityKey+newEntityKey =+  EntityKey {id = Core.Nothing, namespace = Core.Nothing}++instance Core.FromJSON EntityKey where+  parseJSON =+    Core.withObject+      "EntityKey"+      ( \o ->+          EntityKey+            Core.<$> (o Core..:? "id")+            Core.<*> (o Core..:? "namespace")+      )++instance Core.ToJSON EntityKey where+  toJSON EntityKey {..} =+    Core.object+      ( Core.catMaybes+          [ ("id" Core..=) Core.<$> id,+            ("namespace" Core..=) Core.<$> namespace+          ]+      )++-- | The @MembershipRole@ expiry details.+--+-- /See:/ 'newExpiryDetail' smart constructor.+newtype ExpiryDetail = ExpiryDetail+  { -- | The time at which the @MembershipRole@ will expire.+    expireTime :: (Core.Maybe Core.DateTime)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ExpiryDetail' with the minimum fields required to make a request.+newExpiryDetail ::+  ExpiryDetail+newExpiryDetail = ExpiryDetail {expireTime = Core.Nothing}++instance Core.FromJSON ExpiryDetail where+  parseJSON =+    Core.withObject+      "ExpiryDetail"+      (\o -> ExpiryDetail Core.<$> (o Core..:? "expireTime"))++instance Core.ToJSON ExpiryDetail where+  toJSON ExpiryDetail {..} =+    Core.object+      (Core.catMaybes [("expireTime" Core..=) Core.<$> expireTime])++-- | Metadata of GetMembershipGraphResponse LRO. This is currently empty to permit future extensibility.+--+-- /See:/ 'newGetMembershipGraphMetadata' smart constructor.+data GetMembershipGraphMetadata = GetMembershipGraphMetadata+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GetMembershipGraphMetadata' with the minimum fields required to make a request.+newGetMembershipGraphMetadata ::+  GetMembershipGraphMetadata+newGetMembershipGraphMetadata = GetMembershipGraphMetadata++instance Core.FromJSON GetMembershipGraphMetadata where+  parseJSON =+    Core.withObject+      "GetMembershipGraphMetadata"+      (\o -> Core.pure GetMembershipGraphMetadata)++instance Core.ToJSON GetMembershipGraphMetadata where+  toJSON = Core.const Core.emptyObject++-- | The response message for MembershipsService.GetMembershipGraph.+--+-- /See:/ 'newGetMembershipGraphResponse' smart constructor.+data GetMembershipGraphResponse = GetMembershipGraphResponse+  { -- | The membership graph\'s path information represented as an adjacency list.+    adjacencyList :: (Core.Maybe [MembershipAdjacencyList]),+    -- | The resources representing each group in the adjacency list. Each group in this list can be correlated to a \'group\' of the MembershipAdjacencyList using the \'name\' of the Group resource.+    groups :: (Core.Maybe [Group])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GetMembershipGraphResponse' with the minimum fields required to make a request.+newGetMembershipGraphResponse ::+  GetMembershipGraphResponse+newGetMembershipGraphResponse =+  GetMembershipGraphResponse+    { adjacencyList = Core.Nothing,+      groups = Core.Nothing+    }++instance Core.FromJSON GetMembershipGraphResponse where+  parseJSON =+    Core.withObject+      "GetMembershipGraphResponse"+      ( \o ->+          GetMembershipGraphResponse+            Core.<$> (o Core..:? "adjacencyList")+            Core.<*> (o Core..:? "groups")+      )++instance Core.ToJSON GetMembershipGraphResponse where+  toJSON GetMembershipGraphResponse {..} =+    Core.object+      ( Core.catMaybes+          [ ("adjacencyList" Core..=) Core.<$> adjacencyList,+            ("groups" Core..=) Core.<$> groups+          ]+      )++-- | Resource representing the Android specific attributes of a Device.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1AndroidAttributes' smart constructor.+data GoogleAppsCloudidentityDevicesV1AndroidAttributes = GoogleAppsCloudidentityDevicesV1AndroidAttributes+  { -- | Whether the device passes Android CTS compliance.+    ctsProfileMatch :: (Core.Maybe Core.Bool),+    -- | Whether applications from unknown sources can be installed on device.+    enabledUnknownSources :: (Core.Maybe Core.Bool),+    -- | Whether any potentially harmful apps were detected on the device.+    hasPotentiallyHarmfulApps :: (Core.Maybe Core.Bool),+    -- | Whether this account is on an owner\/primary profile. For phones, only true for owner profiles. Android 4+ devices can have secondary or restricted user profiles.+    ownerProfileAccount :: (Core.Maybe Core.Bool),+    -- | Ownership privileges on device.+    ownershipPrivilege ::+      ( Core.Maybe+          GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege+      ),+    -- | Whether device supports Android work profiles. If false, this service will not block access to corp data even if an administrator turns on the \"Enforce Work Profile\" policy.+    supportsWorkProfile :: (Core.Maybe Core.Bool),+    -- | Whether Android verified boot status is GREEN.+    verifiedBoot :: (Core.Maybe Core.Bool),+    -- | Whether Google Play Protect Verify Apps is enabled.+    verifyAppsEnabled :: (Core.Maybe Core.Bool)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1AndroidAttributes' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1AndroidAttributes ::+  GoogleAppsCloudidentityDevicesV1AndroidAttributes+newGoogleAppsCloudidentityDevicesV1AndroidAttributes =+  GoogleAppsCloudidentityDevicesV1AndroidAttributes+    { ctsProfileMatch =+        Core.Nothing,+      enabledUnknownSources = Core.Nothing,+      hasPotentiallyHarmfulApps = Core.Nothing,+      ownerProfileAccount = Core.Nothing,+      ownershipPrivilege = Core.Nothing,+      supportsWorkProfile = Core.Nothing,+      verifiedBoot = Core.Nothing,+      verifyAppsEnabled = Core.Nothing+    }++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1AndroidAttributes+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1AndroidAttributes"+      ( \o ->+          GoogleAppsCloudidentityDevicesV1AndroidAttributes+            Core.<$> (o Core..:? "ctsProfileMatch")+            Core.<*> (o Core..:? "enabledUnknownSources")+            Core.<*> (o Core..:? "hasPotentiallyHarmfulApps")+            Core.<*> (o Core..:? "ownerProfileAccount")+            Core.<*> (o Core..:? "ownershipPrivilege")+            Core.<*> (o Core..:? "supportsWorkProfile")+            Core.<*> (o Core..:? "verifiedBoot")+            Core.<*> (o Core..:? "verifyAppsEnabled")+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1AndroidAttributes+  where+  toJSON GoogleAppsCloudidentityDevicesV1AndroidAttributes {..} =+    Core.object+      ( Core.catMaybes+          [ ("ctsProfileMatch" Core..=) Core.<$> ctsProfileMatch,+            ("enabledUnknownSources" Core..=) Core.<$> enabledUnknownSources,+            ("hasPotentiallyHarmfulApps" Core..=)+              Core.<$> hasPotentiallyHarmfulApps,+            ("ownerProfileAccount" Core..=) Core.<$> ownerProfileAccount,+            ("ownershipPrivilege" Core..=) Core.<$> ownershipPrivilege,+            ("supportsWorkProfile" Core..=) Core.<$> supportsWorkProfile,+            ("verifiedBoot" Core..=) Core.<$> verifiedBoot,+            ("verifyAppsEnabled" Core..=) Core.<$> verifyAppsEnabled+          ]+      )++-- | Metadata for ApproveDeviceUser LRO.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata' smart constructor.+data GoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata = GoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata ::+  GoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata+newGoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata =+  GoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata"+      ( \o ->+          Core.pure+            GoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata+  where+  toJSON = Core.const Core.emptyObject++-- | Request message for approving the device to access user data.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest' smart constructor.+newtype GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest = GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest+  { -- | Optional. <https://cloud.google.com/apis/design/resource_names Resource name> of the customer. If you\'re using this API for your own organization, use @customers\/my_customer@ If you\'re using this API to manage another organization, use @customers\/{customer}@, where customer is the customer to whom the device belongs.+    customer :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest ::+  GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest+newGoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest =+  GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest+    { customer =+        Core.Nothing+    }++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest"+      ( \o ->+          GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest+            Core.<$> (o Core..:? "customer")+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest+  where+  toJSON GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest {..} =+    Core.object+      (Core.catMaybes [("customer" Core..=) Core.<$> customer])++-- | Response message for approving the device to access user data.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse' smart constructor.+newtype GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse = GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse+  { -- | Resultant DeviceUser object for the action.+    deviceUser :: (Core.Maybe GoogleAppsCloudidentityDevicesV1DeviceUser)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse ::+  GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse+newGoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse =+  GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse+    { deviceUser =+        Core.Nothing+    }++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse"+      ( \o ->+          GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse+            Core.<$> (o Core..:? "deviceUser")+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse+  where+  toJSON+    GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse {..} =+      Core.object+        (Core.catMaybes [("deviceUser" Core..=) Core.<$> deviceUser])++-- | Metadata for BlockDeviceUser LRO.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata' smart constructor.+data GoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata = GoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata ::+  GoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata+newGoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata =+  GoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata"+      ( \o ->+          Core.pure GoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata+  where+  toJSON = Core.const Core.emptyObject++-- | Request message for blocking account on device.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest' smart constructor.+newtype GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest = GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest+  { -- | Optional. <https://cloud.google.com/apis/design/resource_names Resource name> of the customer. If you\'re using this API for your own organization, use @customers\/my_customer@ If you\'re using this API to manage another organization, use @customers\/{customer}@, where customer is the customer to whom the device belongs.+    customer :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest ::+  GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest+newGoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest =+  GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest+    { customer =+        Core.Nothing+    }++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest"+      ( \o ->+          GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest+            Core.<$> (o Core..:? "customer")+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest+  where+  toJSON GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest {..} =+    Core.object+      (Core.catMaybes [("customer" Core..=) Core.<$> customer])++-- | Response message for blocking the device from accessing user data.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse' smart constructor.+newtype GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse = GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse+  { -- | Resultant DeviceUser object for the action.+    deviceUser :: (Core.Maybe GoogleAppsCloudidentityDevicesV1DeviceUser)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse ::+  GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse+newGoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse =+  GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse+    { deviceUser =+        Core.Nothing+    }++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse"+      ( \o ->+          GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse+            Core.<$> (o Core..:? "deviceUser")+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse+  where+  toJSON GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse {..} =+    Core.object+      (Core.catMaybes [("deviceUser" Core..=) Core.<$> deviceUser])++-- | Contains information about browser profiles reported by the <https://chromewebstore.google.com/detail/endpoint-verification/callobklhcbilhphinckomhgkigmfocg?pli=1 Endpoint Verification extension>.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1BrowserAttributes' smart constructor.+data GoogleAppsCloudidentityDevicesV1BrowserAttributes = GoogleAppsCloudidentityDevicesV1BrowserAttributes+  { -- | Represents the current state of the <https://cloud.google.com/access-context-manager/docs/browser-attributes Chrome browser attributes> sent by the <https://chromewebstore.google.com/detail/endpoint-verification/callobklhcbilhphinckomhgkigmfocg?pli=1 Endpoint Verification extension>.+    chromeBrowserInfo :: (Core.Maybe GoogleAppsCloudidentityDevicesV1BrowserInfo),+    -- | Chrome profile ID that is exposed by the Chrome API. It is unique for each device.+    chromeProfileId :: (Core.Maybe Core.Text),+    -- | Timestamp in milliseconds since the Unix epoch when the profile\/gcm id was last synced.+    lastProfileSyncTime :: (Core.Maybe Core.DateTime)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1BrowserAttributes' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1BrowserAttributes ::+  GoogleAppsCloudidentityDevicesV1BrowserAttributes+newGoogleAppsCloudidentityDevicesV1BrowserAttributes =+  GoogleAppsCloudidentityDevicesV1BrowserAttributes+    { chromeBrowserInfo =+        Core.Nothing,+      chromeProfileId = Core.Nothing,+      lastProfileSyncTime = Core.Nothing+    }++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1BrowserAttributes+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1BrowserAttributes"+      ( \o ->+          GoogleAppsCloudidentityDevicesV1BrowserAttributes+            Core.<$> (o Core..:? "chromeBrowserInfo")+            Core.<*> (o Core..:? "chromeProfileId")+            Core.<*> (o Core..:? "lastProfileSyncTime")+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1BrowserAttributes+  where+  toJSON GoogleAppsCloudidentityDevicesV1BrowserAttributes {..} =+    Core.object+      ( Core.catMaybes+          [ ("chromeBrowserInfo" Core..=) Core.<$> chromeBrowserInfo,+            ("chromeProfileId" Core..=) Core.<$> chromeProfileId,+            ("lastProfileSyncTime" Core..=) Core.<$> lastProfileSyncTime+          ]+      )++-- | Browser-specific fields reported by the <https://chromewebstore.google.com/detail/endpoint-verification/callobklhcbilhphinckomhgkigmfocg?pli=1 Endpoint Verification extension>.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1BrowserInfo' smart constructor.+data GoogleAppsCloudidentityDevicesV1BrowserInfo = GoogleAppsCloudidentityDevicesV1BrowserInfo+  { -- | Output only. Browser\'s management state.+    browserManagementState ::+      ( Core.Maybe+          GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState+      ),+    -- | Version of the request initiating browser. E.g. @91.0.4442.4@.+    browserVersion :: (Core.Maybe Core.Text),+    -- | Current state of <https://chromeenterprise.google/policies/#BuiltInDnsClientEnabled built-in DNS client>.+    isBuiltInDnsClientEnabled :: (Core.Maybe Core.Bool),+    -- | Current state of <https://chromeenterprise.google/policies/#OnBulkDataEntryEnterpriseConnector bulk data analysis>. Set to true if provider list from Chrome is non-empty.+    isBulkDataEntryAnalysisEnabled :: (Core.Maybe Core.Bool),+    -- | Current state of <https://chromeenterprise.google/policies/#ChromeCleanupEnabled Chrome Cleanup>.+    isChromeCleanupEnabled :: (Core.Maybe Core.Bool),+    -- | Current state of <https://chromeenterprise.google/policies/#URLBlocklist Chrome Remote Desktop app>.+    isChromeRemoteDesktopAppBlocked :: (Core.Maybe Core.Bool),+    -- | Current state of <https://chromeenterprise.google/policies/#OnFileDownloadedEnterpriseConnector file download analysis>. Set to true if provider list from Chrome is non-empty.+    isFileDownloadAnalysisEnabled :: (Core.Maybe Core.Bool),+    -- | Current state of <https://chromeenterprise.google/policies/#OnFileAttachedEnterpriseConnector file upload analysis>. Set to true if provider list from Chrome is non-empty.+    isFileUploadAnalysisEnabled :: (Core.Maybe Core.Bool),+    -- | Current state of <https://chromeenterprise.google/policies/#EnterpriseRealTimeUrlCheckMode real-time URL check>. Set to true if provider list from Chrome is non-empty.+    isRealtimeUrlCheckEnabled :: (Core.Maybe Core.Bool),+    -- | Current state of <https://chromeenterprise.google/policies/#OnSecurityEventEnterpriseConnector security event analysis>. Set to true if provider list from Chrome is non-empty.+    isSecurityEventAnalysisEnabled :: (Core.Maybe Core.Bool),+    -- | Current state of <https://chromeenterprise.google/policies/?policy=IsolateOrigins site isolation>.+    isSiteIsolationEnabled :: (Core.Maybe Core.Bool),+    -- | Current state of <https://chromeenterprise.google/policies/#ThirdPartyBlockingEnabled third-party blocking>.+    isThirdPartyBlockingEnabled :: (Core.Maybe Core.Bool),+    -- | Current state of <https://chromeenterprise.google/policies/#PasswordProtectionWarningTrigger password protection trigger>.+    passwordProtectionWarningTrigger ::+      ( Core.Maybe+          GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger+      ),+    -- | Current state of <https://chromeenterprise.google/policies/#SafeBrowsingProtectionLevel Safe Browsing protection level>.+    safeBrowsingProtectionLevel ::+      ( Core.Maybe+          GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel+      )+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1BrowserInfo' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1BrowserInfo ::+  GoogleAppsCloudidentityDevicesV1BrowserInfo+newGoogleAppsCloudidentityDevicesV1BrowserInfo =+  GoogleAppsCloudidentityDevicesV1BrowserInfo+    { browserManagementState =+        Core.Nothing,+      browserVersion = Core.Nothing,+      isBuiltInDnsClientEnabled = Core.Nothing,+      isBulkDataEntryAnalysisEnabled = Core.Nothing,+      isChromeCleanupEnabled = Core.Nothing,+      isChromeRemoteDesktopAppBlocked = Core.Nothing,+      isFileDownloadAnalysisEnabled = Core.Nothing,+      isFileUploadAnalysisEnabled = Core.Nothing,+      isRealtimeUrlCheckEnabled = Core.Nothing,+      isSecurityEventAnalysisEnabled = Core.Nothing,+      isSiteIsolationEnabled = Core.Nothing,+      isThirdPartyBlockingEnabled = Core.Nothing,+      passwordProtectionWarningTrigger = Core.Nothing,+      safeBrowsingProtectionLevel = Core.Nothing+    }++instance Core.FromJSON GoogleAppsCloudidentityDevicesV1BrowserInfo where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1BrowserInfo"+      ( \o ->+          GoogleAppsCloudidentityDevicesV1BrowserInfo+            Core.<$> (o Core..:? "browserManagementState")+            Core.<*> (o Core..:? "browserVersion")+            Core.<*> (o Core..:? "isBuiltInDnsClientEnabled")+            Core.<*> (o Core..:? "isBulkDataEntryAnalysisEnabled")+            Core.<*> (o Core..:? "isChromeCleanupEnabled")+            Core.<*> (o Core..:? "isChromeRemoteDesktopAppBlocked")+            Core.<*> (o Core..:? "isFileDownloadAnalysisEnabled")+            Core.<*> (o Core..:? "isFileUploadAnalysisEnabled")+            Core.<*> (o Core..:? "isRealtimeUrlCheckEnabled")+            Core.<*> (o Core..:? "isSecurityEventAnalysisEnabled")+            Core.<*> (o Core..:? "isSiteIsolationEnabled")+            Core.<*> (o Core..:? "isThirdPartyBlockingEnabled")+            Core.<*> (o Core..:? "passwordProtectionWarningTrigger")+            Core.<*> (o Core..:? "safeBrowsingProtectionLevel")+      )++instance Core.ToJSON GoogleAppsCloudidentityDevicesV1BrowserInfo where+  toJSON GoogleAppsCloudidentityDevicesV1BrowserInfo {..} =+    Core.object+      ( Core.catMaybes+          [ ("browserManagementState" Core..=)+              Core.<$> browserManagementState,+            ("browserVersion" Core..=) Core.<$> browserVersion,+            ("isBuiltInDnsClientEnabled" Core..=)+              Core.<$> isBuiltInDnsClientEnabled,+            ("isBulkDataEntryAnalysisEnabled" Core..=)+              Core.<$> isBulkDataEntryAnalysisEnabled,+            ("isChromeCleanupEnabled" Core..=) Core.<$> isChromeCleanupEnabled,+            ("isChromeRemoteDesktopAppBlocked" Core..=)+              Core.<$> isChromeRemoteDesktopAppBlocked,+            ("isFileDownloadAnalysisEnabled" Core..=)+              Core.<$> isFileDownloadAnalysisEnabled,+            ("isFileUploadAnalysisEnabled" Core..=)+              Core.<$> isFileUploadAnalysisEnabled,+            ("isRealtimeUrlCheckEnabled" Core..=)+              Core.<$> isRealtimeUrlCheckEnabled,+            ("isSecurityEventAnalysisEnabled" Core..=)+              Core.<$> isSecurityEventAnalysisEnabled,+            ("isSiteIsolationEnabled" Core..=) Core.<$> isSiteIsolationEnabled,+            ("isThirdPartyBlockingEnabled" Core..=)+              Core.<$> isThirdPartyBlockingEnabled,+            ("passwordProtectionWarningTrigger" Core..=)+              Core.<$> passwordProtectionWarningTrigger,+            ("safeBrowsingProtectionLevel" Core..=)+              Core.<$> safeBrowsingProtectionLevel+          ]+      )++-- | Metadata for CancelWipeDevice LRO.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata' smart constructor.+data GoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata = GoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata ::+  GoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata+newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata =+  GoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata"+      ( \o ->+          Core.pure GoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata+  where+  toJSON = Core.const Core.emptyObject++-- | Request message for cancelling an unfinished device wipe.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest' smart constructor.+newtype GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest = GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest+  { -- | Optional. <https://cloud.google.com/apis/design/resource_names Resource name> of the customer. If you\'re using this API for your own organization, use @customers\/my_customer@ If you\'re using this API to manage another organization, use @customers\/{customer}@, where customer is the customer to whom the device belongs.+    customer :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest ::+  GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest+newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest =+  GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest+    { customer =+        Core.Nothing+    }++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest"+      ( \o ->+          GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest+            Core.<$> (o Core..:? "customer")+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest+  where+  toJSON GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest {..} =+    Core.object+      (Core.catMaybes [("customer" Core..=) Core.<$> customer])++-- | Response message for cancelling an unfinished device wipe.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse' smart constructor.+newtype GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse = GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse+  { -- | Resultant Device object for the action. Note that asset tags will not be returned in the device object.+    device :: (Core.Maybe GoogleAppsCloudidentityDevicesV1Device)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse ::+  GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse+newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse =+  GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse+    { device =+        Core.Nothing+    }++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse"+      ( \o ->+          GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse+            Core.<$> (o Core..:? "device")+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse+  where+  toJSON GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse {..} =+    Core.object (Core.catMaybes [("device" Core..=) Core.<$> device])++-- | Metadata for CancelWipeDeviceUser LRO.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata' smart constructor.+data GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata = GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata ::+  GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata+newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata =+  GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata"+      ( \o ->+          Core.pure+            GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata+  where+  toJSON = Core.const Core.emptyObject++-- | Request message for cancelling an unfinished user account wipe.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest' smart constructor.+newtype GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest = GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest+  { -- | Optional. <https://cloud.google.com/apis/design/resource_names Resource name> of the customer. If you\'re using this API for your own organization, use @customers\/my_customer@ If you\'re using this API to manage another organization, use @customers\/{customer}@, where customer is the customer to whom the device belongs.+    customer :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest ::+  GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest+newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest =+  GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest+    { customer =+        Core.Nothing+    }++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest"+      ( \o ->+          GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest+            Core.<$> (o Core..:? "customer")+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest+  where+  toJSON+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest {..} =+      Core.object+        (Core.catMaybes [("customer" Core..=) Core.<$> customer])++-- | Response message for cancelling an unfinished user account wipe.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse' smart constructor.+newtype GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse = GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse+  { -- | Resultant DeviceUser object for the action.+    deviceUser :: (Core.Maybe GoogleAppsCloudidentityDevicesV1DeviceUser)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse ::+  GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse+newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse =+  GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse+    { deviceUser =+        Core.Nothing+    }++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse"+      ( \o ->+          GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse+            Core.<$> (o Core..:? "deviceUser")+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse+  where+  toJSON+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse {..} =+      Core.object+        (Core.catMaybes [("deviceUser" Core..=) Core.<$> deviceUser])++-- | Stores information about a certificate.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1CertificateAttributes' smart constructor.+data GoogleAppsCloudidentityDevicesV1CertificateAttributes = GoogleAppsCloudidentityDevicesV1CertificateAttributes+  { -- | The X.509 extension for CertificateTemplate.+    certificateTemplate :: (Core.Maybe GoogleAppsCloudidentityDevicesV1CertificateTemplate),+    -- | The encoded certificate fingerprint.+    fingerprint :: (Core.Maybe Core.Text),+    -- | The name of the issuer of this certificate.+    issuer :: (Core.Maybe Core.Text),+    -- | Serial number of the certificate, Example: \"123456789\".+    serialNumber :: (Core.Maybe Core.Text),+    -- | The subject name of this certificate.+    subject :: (Core.Maybe Core.Text),+    -- | The certificate thumbprint.+    thumbprint :: (Core.Maybe Core.Text),+    -- | Output only. Validation state of this certificate.+    validationState ::+      ( Core.Maybe+          GoogleAppsCloudidentityDevicesV1CertificateAttributes_ValidationState+      ),+    -- | Certificate not valid at or after this timestamp.+    validityExpirationTime :: (Core.Maybe Core.DateTime),+    -- | Certificate not valid before this timestamp.+    validityStartTime :: (Core.Maybe Core.DateTime)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1CertificateAttributes' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1CertificateAttributes ::+  GoogleAppsCloudidentityDevicesV1CertificateAttributes+newGoogleAppsCloudidentityDevicesV1CertificateAttributes =+  GoogleAppsCloudidentityDevicesV1CertificateAttributes+    { certificateTemplate =+        Core.Nothing,+      fingerprint = Core.Nothing,+      issuer = Core.Nothing,+      serialNumber = Core.Nothing,+      subject = Core.Nothing,+      thumbprint = Core.Nothing,+      validationState = Core.Nothing,+      validityExpirationTime = Core.Nothing,+      validityStartTime = Core.Nothing+    }++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1CertificateAttributes+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1CertificateAttributes"+      ( \o ->+          GoogleAppsCloudidentityDevicesV1CertificateAttributes+            Core.<$> (o Core..:? "certificateTemplate")+            Core.<*> (o Core..:? "fingerprint")+            Core.<*> (o Core..:? "issuer")+            Core.<*> (o Core..:? "serialNumber")+            Core.<*> (o Core..:? "subject")+            Core.<*> (o Core..:? "thumbprint")+            Core.<*> (o Core..:? "validationState")+            Core.<*> (o Core..:? "validityExpirationTime")+            Core.<*> (o Core..:? "validityStartTime")+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1CertificateAttributes+  where+  toJSON GoogleAppsCloudidentityDevicesV1CertificateAttributes {..} =+    Core.object+      ( Core.catMaybes+          [ ("certificateTemplate" Core..=) Core.<$> certificateTemplate,+            ("fingerprint" Core..=) Core.<$> fingerprint,+            ("issuer" Core..=) Core.<$> issuer,+            ("serialNumber" Core..=) Core.<$> serialNumber,+            ("subject" Core..=) Core.<$> subject,+            ("thumbprint" Core..=) Core.<$> thumbprint,+            ("validationState" Core..=) Core.<$> validationState,+            ("validityExpirationTime" Core..=) Core.<$> validityExpirationTime,+            ("validityStartTime" Core..=) Core.<$> validityStartTime+          ]+      )++-- | CertificateTemplate (v3 Extension in X.509).+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1CertificateTemplate' smart constructor.+data GoogleAppsCloudidentityDevicesV1CertificateTemplate = GoogleAppsCloudidentityDevicesV1CertificateTemplate+  { -- | The template id of the template. Example: \"1.3.6.1.4.1.311.21.8.15608621.11768144.5720724.16068415.6889630.81.2472537.7784047\".+    id :: (Core.Maybe Core.Text),+    -- | The Major version of the template. Example: 100.+    majorVersion :: (Core.Maybe Core.Int32),+    -- | The minor version of the template. Example: 12.+    minorVersion :: (Core.Maybe Core.Int32)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1CertificateTemplate' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1CertificateTemplate ::+  GoogleAppsCloudidentityDevicesV1CertificateTemplate+newGoogleAppsCloudidentityDevicesV1CertificateTemplate =+  GoogleAppsCloudidentityDevicesV1CertificateTemplate+    { id =+        Core.Nothing,+      majorVersion = Core.Nothing,+      minorVersion = Core.Nothing+    }++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1CertificateTemplate+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1CertificateTemplate"+      ( \o ->+          GoogleAppsCloudidentityDevicesV1CertificateTemplate+            Core.<$> (o Core..:? "id")+            Core.<*> (o Core..:? "majorVersion")+            Core.<*> (o Core..:? "minorVersion")+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1CertificateTemplate+  where+  toJSON GoogleAppsCloudidentityDevicesV1CertificateTemplate {..} =+    Core.object+      ( Core.catMaybes+          [ ("id" Core..=) Core.<$> id,+            ("majorVersion" Core..=) Core.<$> majorVersion,+            ("minorVersion" Core..=) Core.<$> minorVersion+          ]+      )++-- | Represents the state associated with an API client calling the Devices API. Resource representing ClientState and supports updates from API users+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1ClientState' smart constructor.+data GoogleAppsCloudidentityDevicesV1ClientState = GoogleAppsCloudidentityDevicesV1ClientState+  { -- | The caller can specify asset tags for this resource+    assetTags :: (Core.Maybe [Core.Text]),+    -- | The compliance state of the resource as specified by the API client.+    complianceState ::+      ( Core.Maybe+          GoogleAppsCloudidentityDevicesV1ClientState_ComplianceState+      ),+    -- | Output only. The time the client state data was created.+    createTime :: (Core.Maybe Core.DateTime),+    -- | This field may be used to store a unique identifier for the API resource within which these CustomAttributes are a field.+    customId :: (Core.Maybe Core.Text),+    -- | The token that needs to be passed back for concurrency control in updates. Token needs to be passed back in UpdateRequest+    etag :: (Core.Maybe Core.Text),+    -- | The Health score of the resource. The Health score is the callers specification of the condition of the device from a usability point of view. For example, a third-party device management provider may specify a health score based on its compliance with organizational policies.+    healthScore ::+      ( Core.Maybe+          GoogleAppsCloudidentityDevicesV1ClientState_HealthScore+      ),+    -- | The map of key-value attributes stored by callers specific to a device. The total serialized length of this map may not exceed 10KB. No limit is placed on the number of attributes in a map.+    keyValuePairs ::+      ( Core.Maybe+          GoogleAppsCloudidentityDevicesV1ClientState_KeyValuePairs+      ),+    -- | Output only. The time the client state data was last updated.+    lastUpdateTime :: (Core.Maybe Core.DateTime),+    -- | The management state of the resource as specified by the API client.+    managed :: (Core.Maybe GoogleAppsCloudidentityDevicesV1ClientState_Managed),+    -- | Output only. <https://cloud.google.com/apis/design/resource_names Resource name> of the ClientState in format: @devices\/{device}\/deviceUsers\/{device_user}\/clientState\/{partner}@, where partner corresponds to the partner storing the data. For partners belonging to the \"BeyondCorp Alliance\", this is the partner ID specified to you by Google. For all other callers, this is a string of the form: @{customer}-suffix@, where @customer@ is your customer ID. The /suffix/ is any string the caller specifies. This string will be displayed verbatim in the administration console. This suffix is used in setting up Custom Access Levels in Context-Aware Access. Your organization\'s customer ID can be obtained from the URL: @GET https:\/\/www.googleapis.com\/admin\/directory\/v1\/customers\/my_customer@ The @id@ field in the response contains the customer ID starting with the letter \'C\'. The customer ID to be used in this API is the string after the letter \'C\' (not including \'C\')+    name :: (Core.Maybe Core.Text),+    -- | Output only. The owner of the ClientState+    ownerType :: (Core.Maybe GoogleAppsCloudidentityDevicesV1ClientState_OwnerType),+    -- | A descriptive cause of the health score.+    scoreReason :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1ClientState' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1ClientState ::+  GoogleAppsCloudidentityDevicesV1ClientState+newGoogleAppsCloudidentityDevicesV1ClientState =+  GoogleAppsCloudidentityDevicesV1ClientState+    { assetTags =+        Core.Nothing,+      complianceState = Core.Nothing,+      createTime = Core.Nothing,+      customId = Core.Nothing,+      etag = Core.Nothing,+      healthScore = Core.Nothing,+      keyValuePairs = Core.Nothing,+      lastUpdateTime = Core.Nothing,+      managed = Core.Nothing,+      name = Core.Nothing,+      ownerType = Core.Nothing,+      scoreReason = Core.Nothing+    }++instance Core.FromJSON GoogleAppsCloudidentityDevicesV1ClientState where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1ClientState"+      ( \o ->+          GoogleAppsCloudidentityDevicesV1ClientState+            Core.<$> (o Core..:? "assetTags")+            Core.<*> (o Core..:? "complianceState")+            Core.<*> (o Core..:? "createTime")+            Core.<*> (o Core..:? "customId")+            Core.<*> (o Core..:? "etag")+            Core.<*> (o Core..:? "healthScore")+            Core.<*> (o Core..:? "keyValuePairs")+            Core.<*> (o Core..:? "lastUpdateTime")+            Core.<*> (o Core..:? "managed")+            Core.<*> (o Core..:? "name")+            Core.<*> (o Core..:? "ownerType")+            Core.<*> (o Core..:? "scoreReason")+      )++instance Core.ToJSON GoogleAppsCloudidentityDevicesV1ClientState where+  toJSON GoogleAppsCloudidentityDevicesV1ClientState {..} =+    Core.object+      ( Core.catMaybes+          [ ("assetTags" Core..=) Core.<$> assetTags,+            ("complianceState" Core..=) Core.<$> complianceState,+            ("createTime" Core..=) Core.<$> createTime,+            ("customId" Core..=) Core.<$> customId,+            ("etag" Core..=) Core.<$> etag,+            ("healthScore" Core..=) Core.<$> healthScore,+            ("keyValuePairs" Core..=) Core.<$> keyValuePairs,+            ("lastUpdateTime" Core..=) Core.<$> lastUpdateTime,+            ("managed" Core..=) Core.<$> managed,+            ("name" Core..=) Core.<$> name,+            ("ownerType" Core..=) Core.<$> ownerType,+            ("scoreReason" Core..=) Core.<$> scoreReason+          ]+      )++-- | The map of key-value attributes stored by callers specific to a device. The total serialized length of this map may not exceed 10KB. No limit is placed on the number of attributes in a map.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1ClientState_KeyValuePairs' smart constructor.+newtype GoogleAppsCloudidentityDevicesV1ClientState_KeyValuePairs = GoogleAppsCloudidentityDevicesV1ClientState_KeyValuePairs+  { additional ::+      ( Core.HashMap+          Core.Text+          GoogleAppsCloudidentityDevicesV1CustomAttributeValue+      )+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1ClientState_KeyValuePairs' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1ClientState_KeyValuePairs ::+  -- |  See 'additional'.+  Core.HashMap+    Core.Text+    GoogleAppsCloudidentityDevicesV1CustomAttributeValue ->+  GoogleAppsCloudidentityDevicesV1ClientState_KeyValuePairs+newGoogleAppsCloudidentityDevicesV1ClientState_KeyValuePairs+  additional =+    GoogleAppsCloudidentityDevicesV1ClientState_KeyValuePairs+      { additional =+          additional+      }++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1ClientState_KeyValuePairs+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1ClientState_KeyValuePairs"+      ( \o ->+          GoogleAppsCloudidentityDevicesV1ClientState_KeyValuePairs+            Core.<$> (Core.parseJSONObject o)+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1ClientState_KeyValuePairs+  where+  toJSON+    GoogleAppsCloudidentityDevicesV1ClientState_KeyValuePairs {..} =+      Core.toJSON additional++-- | Metadata for CreateDevice LRO.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1CreateDeviceMetadata' smart constructor.+data GoogleAppsCloudidentityDevicesV1CreateDeviceMetadata = GoogleAppsCloudidentityDevicesV1CreateDeviceMetadata+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1CreateDeviceMetadata' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1CreateDeviceMetadata ::+  GoogleAppsCloudidentityDevicesV1CreateDeviceMetadata+newGoogleAppsCloudidentityDevicesV1CreateDeviceMetadata =+  GoogleAppsCloudidentityDevicesV1CreateDeviceMetadata++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1CreateDeviceMetadata+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1CreateDeviceMetadata"+      ( \o ->+          Core.pure GoogleAppsCloudidentityDevicesV1CreateDeviceMetadata+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1CreateDeviceMetadata+  where+  toJSON = Core.const Core.emptyObject++-- | Additional custom attribute values may be one of these types+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1CustomAttributeValue' smart constructor.+data GoogleAppsCloudidentityDevicesV1CustomAttributeValue = GoogleAppsCloudidentityDevicesV1CustomAttributeValue+  { -- | Represents a boolean value.+    boolValue :: (Core.Maybe Core.Bool),+    -- | Represents a double value.+    numberValue :: (Core.Maybe Core.Double),+    -- | Represents a string value.+    stringValue :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1CustomAttributeValue' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1CustomAttributeValue ::+  GoogleAppsCloudidentityDevicesV1CustomAttributeValue+newGoogleAppsCloudidentityDevicesV1CustomAttributeValue =+  GoogleAppsCloudidentityDevicesV1CustomAttributeValue+    { boolValue =+        Core.Nothing,+      numberValue = Core.Nothing,+      stringValue = Core.Nothing+    }++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1CustomAttributeValue+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1CustomAttributeValue"+      ( \o ->+          GoogleAppsCloudidentityDevicesV1CustomAttributeValue+            Core.<$> (o Core..:? "boolValue")+            Core.<*> (o Core..:? "numberValue")+            Core.<*> (o Core..:? "stringValue")+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1CustomAttributeValue+  where+  toJSON GoogleAppsCloudidentityDevicesV1CustomAttributeValue {..} =+    Core.object+      ( Core.catMaybes+          [ ("boolValue" Core..=) Core.<$> boolValue,+            ("numberValue" Core..=) Core.<$> numberValue,+            ("stringValue" Core..=) Core.<$> stringValue+          ]+      )++-- | Metadata for DeleteDevice LRO.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata' smart constructor.+data GoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata = GoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata ::+  GoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata+newGoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata =+  GoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata"+      ( \o ->+          Core.pure GoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata+  where+  toJSON = Core.const Core.emptyObject++-- | Metadata for DeleteDeviceUser LRO.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata' smart constructor.+data GoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata = GoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata ::+  GoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata+newGoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata =+  GoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata"+      ( \o ->+          Core.pure GoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata+  where+  toJSON = Core.const Core.emptyObject++-- | A Device within the Cloud Identity Devices API. Represents a Device known to Google Cloud, independent of the device ownership, type, and whether it is assigned or in use by a user.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1Device' smart constructor.+data GoogleAppsCloudidentityDevicesV1Device = GoogleAppsCloudidentityDevicesV1Device+  { -- | Output only. Attributes specific to Android devices.+    androidSpecificAttributes :: (Core.Maybe GoogleAppsCloudidentityDevicesV1AndroidAttributes),+    -- | Asset tag of the device.+    assetTag :: (Core.Maybe Core.Text),+    -- | Output only. Baseband version of the device.+    basebandVersion :: (Core.Maybe Core.Text),+    -- | Output only. Device bootloader version. Example: 0.6.7.+    bootloaderVersion :: (Core.Maybe Core.Text),+    -- | Output only. Device brand. Example: Samsung.+    brand :: (Core.Maybe Core.Text),+    -- | Output only. Build number of the device.+    buildNumber :: (Core.Maybe Core.Text),+    -- | Output only. Represents whether the Device is compromised.+    compromisedState ::+      ( Core.Maybe+          GoogleAppsCloudidentityDevicesV1Device_CompromisedState+      ),+    -- | Output only. When the Company-Owned device was imported. This field is empty for BYOD devices.+    createTime :: (Core.Maybe Core.DateTime),+    -- | Unique identifier for the device.+    deviceId :: (Core.Maybe Core.Text),+    -- | Output only. Type of device.+    deviceType :: (Core.Maybe GoogleAppsCloudidentityDevicesV1Device_DeviceType),+    -- | Output only. Whether developer options is enabled on device.+    enabledDeveloperOptions :: (Core.Maybe Core.Bool),+    -- | Output only. Whether USB debugging is enabled on device.+    enabledUsbDebugging :: (Core.Maybe Core.Bool),+    -- | Output only. Device encryption state.+    encryptionState :: (Core.Maybe GoogleAppsCloudidentityDevicesV1Device_EncryptionState),+    -- | Output only. Attributes specific to <https://cloud.google.com/endpoint-verification/docs/overview Endpoint Verification> devices.+    endpointVerificationSpecificAttributes ::+      ( Core.Maybe+          GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes+      ),+    -- | Host name of the device.+    hostname :: (Core.Maybe Core.Text),+    -- | Output only. IMEI number of device if GSM device; empty otherwise.+    imei :: (Core.Maybe Core.Text),+    -- | Output only. Kernel version of the device.+    kernelVersion :: (Core.Maybe Core.Text),+    -- | Most recent time when device synced with this service.+    lastSyncTime :: (Core.Maybe Core.DateTime),+    -- | Output only. Management state of the device+    managementState :: (Core.Maybe GoogleAppsCloudidentityDevicesV1Device_ManagementState),+    -- | Output only. Device manufacturer. Example: Motorola.+    manufacturer :: (Core.Maybe Core.Text),+    -- | Output only. MEID number of device if CDMA device; empty otherwise.+    meid :: (Core.Maybe Core.Text),+    -- | Output only. Model name of device. Example: Pixel 3.+    model :: (Core.Maybe Core.Text),+    -- | Output only. <https://cloud.google.com/apis/design/resource_names Resource name> of the Device in format: @devices\/{device}@, where device is the unique id assigned to the Device. Important: Device API scopes require that you use domain-wide delegation to access the API. For more information, see <https://cloud.google.com/identity/docs/how-to/setup-devices Set up the Devices API>.+    name :: (Core.Maybe Core.Text),+    -- | Output only. Mobile or network operator of device, if available.+    networkOperator :: (Core.Maybe Core.Text),+    -- | Output only. OS version of the device. Example: Android 8.1.0.+    osVersion :: (Core.Maybe Core.Text),+    -- | Output only. Domain name for Google accounts on device. Type for other accounts on device. On Android, will only be populated if |ownership/privilege| is |PROFILE/OWNER| or |DEVICE_OWNER|. Does not include the account signed in to the device policy app if that account\'s domain has only one account. Examples: \"com.example\", \"xyz.com\".+    otherAccounts :: (Core.Maybe [Core.Text]),+    -- | Output only. Whether the device is owned by the company or an individual+    ownerType :: (Core.Maybe GoogleAppsCloudidentityDevicesV1Device_OwnerType),+    -- | Output only. OS release version. Example: 6.0.+    releaseVersion :: (Core.Maybe Core.Text),+    -- | Output only. OS security patch update time on device.+    securityPatchTime :: (Core.Maybe Core.DateTime),+    -- | Serial Number of device. Example: HT82V1A01076.+    serialNumber :: (Core.Maybe Core.Text),+    -- | Output only. Unified device id of the device.+    unifiedDeviceId :: (Core.Maybe Core.Text),+    -- | WiFi MAC addresses of device.+    wifiMacAddresses :: (Core.Maybe [Core.Text])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1Device' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1Device ::+  GoogleAppsCloudidentityDevicesV1Device+newGoogleAppsCloudidentityDevicesV1Device =+  GoogleAppsCloudidentityDevicesV1Device+    { androidSpecificAttributes =+        Core.Nothing,+      assetTag = Core.Nothing,+      basebandVersion = Core.Nothing,+      bootloaderVersion = Core.Nothing,+      brand = Core.Nothing,+      buildNumber = Core.Nothing,+      compromisedState = Core.Nothing,+      createTime = Core.Nothing,+      deviceId = Core.Nothing,+      deviceType = Core.Nothing,+      enabledDeveloperOptions = Core.Nothing,+      enabledUsbDebugging = Core.Nothing,+      encryptionState = Core.Nothing,+      endpointVerificationSpecificAttributes = Core.Nothing,+      hostname = Core.Nothing,+      imei = Core.Nothing,+      kernelVersion = Core.Nothing,+      lastSyncTime = Core.Nothing,+      managementState = Core.Nothing,+      manufacturer = Core.Nothing,+      meid = Core.Nothing,+      model = Core.Nothing,+      name = Core.Nothing,+      networkOperator = Core.Nothing,+      osVersion = Core.Nothing,+      otherAccounts = Core.Nothing,+      ownerType = Core.Nothing,+      releaseVersion = Core.Nothing,+      securityPatchTime = Core.Nothing,+      serialNumber = Core.Nothing,+      unifiedDeviceId = Core.Nothing,+      wifiMacAddresses = Core.Nothing+    }++instance Core.FromJSON GoogleAppsCloudidentityDevicesV1Device where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1Device"+      ( \o ->+          GoogleAppsCloudidentityDevicesV1Device+            Core.<$> (o Core..:? "androidSpecificAttributes")+            Core.<*> (o Core..:? "assetTag")+            Core.<*> (o Core..:? "basebandVersion")+            Core.<*> (o Core..:? "bootloaderVersion")+            Core.<*> (o Core..:? "brand")+            Core.<*> (o Core..:? "buildNumber")+            Core.<*> (o Core..:? "compromisedState")+            Core.<*> (o Core..:? "createTime")+            Core.<*> (o Core..:? "deviceId")+            Core.<*> (o Core..:? "deviceType")+            Core.<*> (o Core..:? "enabledDeveloperOptions")+            Core.<*> (o Core..:? "enabledUsbDebugging")+            Core.<*> (o Core..:? "encryptionState")+            Core.<*> (o Core..:? "endpointVerificationSpecificAttributes")+            Core.<*> (o Core..:? "hostname")+            Core.<*> (o Core..:? "imei")+            Core.<*> (o Core..:? "kernelVersion")+            Core.<*> (o Core..:? "lastSyncTime")+            Core.<*> (o Core..:? "managementState")+            Core.<*> (o Core..:? "manufacturer")+            Core.<*> (o Core..:? "meid")+            Core.<*> (o Core..:? "model")+            Core.<*> (o Core..:? "name")+            Core.<*> (o Core..:? "networkOperator")+            Core.<*> (o Core..:? "osVersion")+            Core.<*> (o Core..:? "otherAccounts")+            Core.<*> (o Core..:? "ownerType")+            Core.<*> (o Core..:? "releaseVersion")+            Core.<*> (o Core..:? "securityPatchTime")+            Core.<*> (o Core..:? "serialNumber")+            Core.<*> (o Core..:? "unifiedDeviceId")+            Core.<*> (o Core..:? "wifiMacAddresses")+      )++instance Core.ToJSON GoogleAppsCloudidentityDevicesV1Device where+  toJSON GoogleAppsCloudidentityDevicesV1Device {..} =+    Core.object+      ( Core.catMaybes+          [ ("androidSpecificAttributes" Core..=)+              Core.<$> androidSpecificAttributes,+            ("assetTag" Core..=) Core.<$> assetTag,+            ("basebandVersion" Core..=) Core.<$> basebandVersion,+            ("bootloaderVersion" Core..=) Core.<$> bootloaderVersion,+            ("brand" Core..=) Core.<$> brand,+            ("buildNumber" Core..=) Core.<$> buildNumber,+            ("compromisedState" Core..=) Core.<$> compromisedState,+            ("createTime" Core..=) Core.<$> createTime,+            ("deviceId" Core..=) Core.<$> deviceId,+            ("deviceType" Core..=) Core.<$> deviceType,+            ("enabledDeveloperOptions" Core..=)+              Core.<$> enabledDeveloperOptions,+            ("enabledUsbDebugging" Core..=) Core.<$> enabledUsbDebugging,+            ("encryptionState" Core..=) Core.<$> encryptionState,+            ("endpointVerificationSpecificAttributes" Core..=)+              Core.<$> endpointVerificationSpecificAttributes,+            ("hostname" Core..=) Core.<$> hostname,+            ("imei" Core..=) Core.<$> imei,+            ("kernelVersion" Core..=) Core.<$> kernelVersion,+            ("lastSyncTime" Core..=) Core.<$> lastSyncTime,+            ("managementState" Core..=) Core.<$> managementState,+            ("manufacturer" Core..=) Core.<$> manufacturer,+            ("meid" Core..=) Core.<$> meid,+            ("model" Core..=) Core.<$> model,+            ("name" Core..=) Core.<$> name,+            ("networkOperator" Core..=) Core.<$> networkOperator,+            ("osVersion" Core..=) Core.<$> osVersion,+            ("otherAccounts" Core..=) Core.<$> otherAccounts,+            ("ownerType" Core..=) Core.<$> ownerType,+            ("releaseVersion" Core..=) Core.<$> releaseVersion,+            ("securityPatchTime" Core..=) Core.<$> securityPatchTime,+            ("serialNumber" Core..=) Core.<$> serialNumber,+            ("unifiedDeviceId" Core..=) Core.<$> unifiedDeviceId,+            ("wifiMacAddresses" Core..=) Core.<$> wifiMacAddresses+          ]+      )++-- | Represents a user\'s use of a Device in the Cloud Identity Devices API. A DeviceUser is a resource representing a user\'s use of a Device+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1DeviceUser' smart constructor.+data GoogleAppsCloudidentityDevicesV1DeviceUser = GoogleAppsCloudidentityDevicesV1DeviceUser+  { -- | Compromised State of the DeviceUser object+    compromisedState ::+      ( Core.Maybe+          GoogleAppsCloudidentityDevicesV1DeviceUser_CompromisedState+      ),+    -- | When the user first signed in to the device+    createTime :: (Core.Maybe Core.DateTime),+    -- | Output only. Most recent time when user registered with this service.+    firstSyncTime :: (Core.Maybe Core.DateTime),+    -- | Output only. Default locale used on device, in IETF BCP-47 format.+    languageCode :: (Core.Maybe Core.Text),+    -- | Output only. Last time when user synced with policies.+    lastSyncTime :: (Core.Maybe Core.DateTime),+    -- | Output only. Management state of the user on the device.+    managementState ::+      ( Core.Maybe+          GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState+      ),+    -- | Output only. <https://cloud.google.com/apis/design/resource_names Resource name> of the DeviceUser in format: @devices\/{device}\/deviceUsers\/{device_user}@, where @device_user@ uniquely identifies a user\'s use of a device.+    name :: (Core.Maybe Core.Text),+    -- | Password state of the DeviceUser object+    passwordState ::+      ( Core.Maybe+          GoogleAppsCloudidentityDevicesV1DeviceUser_PasswordState+      ),+    -- | Output only. User agent on the device for this specific user+    userAgent :: (Core.Maybe Core.Text),+    -- | Email address of the user registered on the device.+    userEmail :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1DeviceUser' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1DeviceUser ::+  GoogleAppsCloudidentityDevicesV1DeviceUser+newGoogleAppsCloudidentityDevicesV1DeviceUser =+  GoogleAppsCloudidentityDevicesV1DeviceUser+    { compromisedState =+        Core.Nothing,+      createTime = Core.Nothing,+      firstSyncTime = Core.Nothing,+      languageCode = Core.Nothing,+      lastSyncTime = Core.Nothing,+      managementState = Core.Nothing,+      name = Core.Nothing,+      passwordState = Core.Nothing,+      userAgent = Core.Nothing,+      userEmail = Core.Nothing+    }++instance Core.FromJSON GoogleAppsCloudidentityDevicesV1DeviceUser where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1DeviceUser"+      ( \o ->+          GoogleAppsCloudidentityDevicesV1DeviceUser+            Core.<$> (o Core..:? "compromisedState")+            Core.<*> (o Core..:? "createTime")+            Core.<*> (o Core..:? "firstSyncTime")+            Core.<*> (o Core..:? "languageCode")+            Core.<*> (o Core..:? "lastSyncTime")+            Core.<*> (o Core..:? "managementState")+            Core.<*> (o Core..:? "name")+            Core.<*> (o Core..:? "passwordState")+            Core.<*> (o Core..:? "userAgent")+            Core.<*> (o Core..:? "userEmail")+      )++instance Core.ToJSON GoogleAppsCloudidentityDevicesV1DeviceUser where+  toJSON GoogleAppsCloudidentityDevicesV1DeviceUser {..} =+    Core.object+      ( Core.catMaybes+          [ ("compromisedState" Core..=) Core.<$> compromisedState,+            ("createTime" Core..=) Core.<$> createTime,+            ("firstSyncTime" Core..=) Core.<$> firstSyncTime,+            ("languageCode" Core..=) Core.<$> languageCode,+            ("lastSyncTime" Core..=) Core.<$> lastSyncTime,+            ("managementState" Core..=) Core.<$> managementState,+            ("name" Core..=) Core.<$> name,+            ("passwordState" Core..=) Core.<$> passwordState,+            ("userAgent" Core..=) Core.<$> userAgent,+            ("userEmail" Core..=) Core.<$> userEmail+          ]+      )++-- | Resource representing the <https://cloud.google.com/endpoint-verification/docs/device-information Endpoint Verification-specific attributes> of a device.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes' smart constructor.+data GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes = GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes+  { -- | <https://cloud.google.com/endpoint-verification/docs/device-information Additional signals> reported by Endpoint Verification. It includes the following attributes: * Non-configurable attributes: hotfixes, av/installed, av/enabled, windows/domain/name, is/os/native/firewall/enabled, and is/secure/boot_enabled. * <https://cloud.google.com/endpoint-verification/docs/collect-config-attributes Configurable attributes>: file, folder, and binary attributes; registry entries; and properties in a plist.+    additionalSignals ::+      ( Core.Maybe+          GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes_AdditionalSignals+      ),+    -- | Details of browser profiles reported by Endpoint Verification.+    browserAttributes :: (Core.Maybe [GoogleAppsCloudidentityDevicesV1BrowserAttributes]),+    -- | Details of certificates.+    certificateAttributes ::+      ( Core.Maybe+          [GoogleAppsCloudidentityDevicesV1CertificateAttributes]+      )+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes ::+  GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes+newGoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes =+  GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes+    { additionalSignals =+        Core.Nothing,+      browserAttributes =+        Core.Nothing,+      certificateAttributes =+        Core.Nothing+    }++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes"+      ( \o ->+          GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes+            Core.<$> (o Core..:? "additionalSignals")+            Core.<*> (o Core..:? "browserAttributes")+            Core.<*> (o Core..:? "certificateAttributes")+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes+  where+  toJSON+    GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes {..} =+      Core.object+        ( Core.catMaybes+            [ ("additionalSignals" Core..=) Core.<$> additionalSignals,+              ("browserAttributes" Core..=) Core.<$> browserAttributes,+              ("certificateAttributes" Core..=) Core.<$> certificateAttributes+            ]+        )++-- | <https://cloud.google.com/endpoint-verification/docs/device-information Additional signals> reported by Endpoint Verification. It includes the following attributes: * Non-configurable attributes: hotfixes, av/installed, av/enabled, windows/domain/name, is/os/native/firewall/enabled, and is/secure/boot_enabled. * <https://cloud.google.com/endpoint-verification/docs/collect-config-attributes Configurable attributes>: file, folder, and binary attributes; registry entries; and properties in a plist.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes_AdditionalSignals' smart constructor.+newtype GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes_AdditionalSignals = GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes_AdditionalSignals+  { -- | Properties of the object.+    additional :: (Core.HashMap Core.Text Core.Value)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes_AdditionalSignals' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes_AdditionalSignals ::+  -- |  Properties of the object. See 'additional'.+  Core.HashMap+    Core.Text+    Core.Value ->+  GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes_AdditionalSignals+newGoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes_AdditionalSignals+  additional =+    GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes_AdditionalSignals+      { additional =+          additional+      }++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes_AdditionalSignals+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes_AdditionalSignals"+      ( \o ->+          GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes_AdditionalSignals+            Core.<$> (Core.parseJSONObject o)+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes_AdditionalSignals+  where+  toJSON+    GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes_AdditionalSignals {..} =+      Core.toJSON additional++-- | Response message that is returned in ListClientStates.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1ListClientStatesResponse' smart constructor.+data GoogleAppsCloudidentityDevicesV1ListClientStatesResponse = GoogleAppsCloudidentityDevicesV1ListClientStatesResponse+  { -- | Client states meeting the list restrictions.+    clientStates :: (Core.Maybe [GoogleAppsCloudidentityDevicesV1ClientState]),+    -- | Token to retrieve the next page of results. Empty if there are no more results.+    nextPageToken :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1ListClientStatesResponse' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1ListClientStatesResponse ::+  GoogleAppsCloudidentityDevicesV1ListClientStatesResponse+newGoogleAppsCloudidentityDevicesV1ListClientStatesResponse =+  GoogleAppsCloudidentityDevicesV1ListClientStatesResponse+    { clientStates =+        Core.Nothing,+      nextPageToken = Core.Nothing+    }++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1ListClientStatesResponse+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1ListClientStatesResponse"+      ( \o ->+          GoogleAppsCloudidentityDevicesV1ListClientStatesResponse+            Core.<$> (o Core..:? "clientStates")+            Core.<*> (o Core..:? "nextPageToken")+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1ListClientStatesResponse+  where+  toJSON GoogleAppsCloudidentityDevicesV1ListClientStatesResponse {..} =+    Core.object+      ( Core.catMaybes+          [ ("clientStates" Core..=) Core.<$> clientStates,+            ("nextPageToken" Core..=) Core.<$> nextPageToken+          ]+      )++-- | Response message that is returned from the ListDeviceUsers method.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse' smart constructor.+data GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse = GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse+  { -- | Devices meeting the list restrictions.+    deviceUsers :: (Core.Maybe [GoogleAppsCloudidentityDevicesV1DeviceUser]),+    -- | Token to retrieve the next page of results. Empty if there are no more results.+    nextPageToken :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse ::+  GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse+newGoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse =+  GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse+    { deviceUsers =+        Core.Nothing,+      nextPageToken = Core.Nothing+    }++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse"+      ( \o ->+          GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse+            Core.<$> (o Core..:? "deviceUsers")+            Core.<*> (o Core..:? "nextPageToken")+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse+  where+  toJSON GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse {..} =+    Core.object+      ( Core.catMaybes+          [ ("deviceUsers" Core..=) Core.<$> deviceUsers,+            ("nextPageToken" Core..=) Core.<$> nextPageToken+          ]+      )++-- | Response message that is returned from the ListDevices method.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1ListDevicesResponse' smart constructor.+data GoogleAppsCloudidentityDevicesV1ListDevicesResponse = GoogleAppsCloudidentityDevicesV1ListDevicesResponse+  { -- | Devices meeting the list restrictions.+    devices :: (Core.Maybe [GoogleAppsCloudidentityDevicesV1Device]),+    -- | Token to retrieve the next page of results. Empty if there are no more results.+    nextPageToken :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1ListDevicesResponse' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1ListDevicesResponse ::+  GoogleAppsCloudidentityDevicesV1ListDevicesResponse+newGoogleAppsCloudidentityDevicesV1ListDevicesResponse =+  GoogleAppsCloudidentityDevicesV1ListDevicesResponse+    { devices =+        Core.Nothing,+      nextPageToken = Core.Nothing+    }++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1ListDevicesResponse+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1ListDevicesResponse"+      ( \o ->+          GoogleAppsCloudidentityDevicesV1ListDevicesResponse+            Core.<$> (o Core..:? "devices")+            Core.<*> (o Core..:? "nextPageToken")+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1ListDevicesResponse+  where+  toJSON GoogleAppsCloudidentityDevicesV1ListDevicesResponse {..} =+    Core.object+      ( Core.catMaybes+          [ ("devices" Core..=) Core.<$> devices,+            ("nextPageToken" Core..=) Core.<$> nextPageToken+          ]+      )++-- | Metadata for ListEndpointApps LRO.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata' smart constructor.+data GoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata = GoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata ::+  GoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata+newGoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata =+  GoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata"+      ( \o ->+          Core.pure GoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata+  where+  toJSON = Core.const Core.emptyObject++-- | Response containing resource names of the DeviceUsers associated with the caller\'s credentials.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse' smart constructor.+data GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse = GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse+  { -- | The customer resource name that may be passed back to other Devices API methods such as List, Get, etc.+    customer :: (Core.Maybe Core.Text),+    -- | <https://cloud.google.com/apis/design/resource_names Resource names> of the DeviceUsers in the format: @devices\/{device}\/deviceUsers\/{user_resource}@, where device is the unique ID assigned to a Device and user_resource is the unique user ID+    names :: (Core.Maybe [Core.Text]),+    -- | Token to retrieve the next page of results. Empty if there are no more results.+    nextPageToken :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse ::+  GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse+newGoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse =+  GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse+    { customer =+        Core.Nothing,+      names = Core.Nothing,+      nextPageToken = Core.Nothing+    }++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse"+      ( \o ->+          GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse+            Core.<$> (o Core..:? "customer")+            Core.<*> (o Core..:? "names")+            Core.<*> (o Core..:? "nextPageToken")+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse+  where+  toJSON+    GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse {..} =+      Core.object+        ( Core.catMaybes+            [ ("customer" Core..=) Core.<$> customer,+              ("names" Core..=) Core.<$> names,+              ("nextPageToken" Core..=) Core.<$> nextPageToken+            ]+        )++-- | Metadata for SignoutDeviceUser LRO.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata' smart constructor.+data GoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata = GoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata ::+  GoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata+newGoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata =+  GoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata"+      ( \o ->+          Core.pure+            GoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata+  where+  toJSON = Core.const Core.emptyObject++-- | Metadata for UpdateClientState LRO.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata' smart constructor.+data GoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata = GoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata ::+  GoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata+newGoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata =+  GoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata"+      ( \o ->+          Core.pure+            GoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata+  where+  toJSON = Core.const Core.emptyObject++-- | Metadata for UpdateDevice LRO.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata' smart constructor.+data GoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata = GoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata ::+  GoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata+newGoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata =+  GoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata"+      ( \o ->+          Core.pure GoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata+  where+  toJSON = Core.const Core.emptyObject++-- | Metadata for WipeDevice LRO.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1WipeDeviceMetadata' smart constructor.+data GoogleAppsCloudidentityDevicesV1WipeDeviceMetadata = GoogleAppsCloudidentityDevicesV1WipeDeviceMetadata+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1WipeDeviceMetadata' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1WipeDeviceMetadata ::+  GoogleAppsCloudidentityDevicesV1WipeDeviceMetadata+newGoogleAppsCloudidentityDevicesV1WipeDeviceMetadata =+  GoogleAppsCloudidentityDevicesV1WipeDeviceMetadata++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1WipeDeviceMetadata+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1WipeDeviceMetadata"+      ( \o ->+          Core.pure GoogleAppsCloudidentityDevicesV1WipeDeviceMetadata+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1WipeDeviceMetadata+  where+  toJSON = Core.const Core.emptyObject++-- | Request message for wiping all data on the device.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1WipeDeviceRequest' smart constructor.+data GoogleAppsCloudidentityDevicesV1WipeDeviceRequest = GoogleAppsCloudidentityDevicesV1WipeDeviceRequest+  { -- | Optional. <https://cloud.google.com/apis/design/resource_names Resource name> of the customer. If you\'re using this API for your own organization, use @customers\/my_customer@ If you\'re using this API to manage another organization, use @customers\/{customer}@, where customer is the customer to whom the device belongs.+    customer :: (Core.Maybe Core.Text),+    -- | Optional. Specifies if a user is able to factory reset a device after a Device Wipe. On iOS, this is called \"Activation Lock\", while on Android, this is known as \"Factory Reset Protection\". If true, this protection will be removed from the device, so that a user can successfully factory reset. If false, the setting is untouched on the device.+    removeResetLock :: (Core.Maybe Core.Bool)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1WipeDeviceRequest' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1WipeDeviceRequest ::+  GoogleAppsCloudidentityDevicesV1WipeDeviceRequest+newGoogleAppsCloudidentityDevicesV1WipeDeviceRequest =+  GoogleAppsCloudidentityDevicesV1WipeDeviceRequest+    { customer =+        Core.Nothing,+      removeResetLock = Core.Nothing+    }++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1WipeDeviceRequest+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1WipeDeviceRequest"+      ( \o ->+          GoogleAppsCloudidentityDevicesV1WipeDeviceRequest+            Core.<$> (o Core..:? "customer")+            Core.<*> (o Core..:? "removeResetLock")+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1WipeDeviceRequest+  where+  toJSON GoogleAppsCloudidentityDevicesV1WipeDeviceRequest {..} =+    Core.object+      ( Core.catMaybes+          [ ("customer" Core..=) Core.<$> customer,+            ("removeResetLock" Core..=) Core.<$> removeResetLock+          ]+      )++-- | Response message for wiping all data on the device.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1WipeDeviceResponse' smart constructor.+newtype GoogleAppsCloudidentityDevicesV1WipeDeviceResponse = GoogleAppsCloudidentityDevicesV1WipeDeviceResponse+  { -- | Resultant Device object for the action. Note that asset tags will not be returned in the device object.+    device :: (Core.Maybe GoogleAppsCloudidentityDevicesV1Device)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1WipeDeviceResponse' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1WipeDeviceResponse ::+  GoogleAppsCloudidentityDevicesV1WipeDeviceResponse+newGoogleAppsCloudidentityDevicesV1WipeDeviceResponse =+  GoogleAppsCloudidentityDevicesV1WipeDeviceResponse+    { device =+        Core.Nothing+    }++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1WipeDeviceResponse+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1WipeDeviceResponse"+      ( \o ->+          GoogleAppsCloudidentityDevicesV1WipeDeviceResponse+            Core.<$> (o Core..:? "device")+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1WipeDeviceResponse+  where+  toJSON GoogleAppsCloudidentityDevicesV1WipeDeviceResponse {..} =+    Core.object (Core.catMaybes [("device" Core..=) Core.<$> device])++-- | Metadata for WipeDeviceUser LRO.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata' smart constructor.+data GoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata = GoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata ::+  GoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata+newGoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata =+  GoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata"+      ( \o ->+          Core.pure GoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata+  where+  toJSON = Core.const Core.emptyObject++-- | Request message for starting an account wipe on device.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest' smart constructor.+newtype GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest = GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest+  { -- | Optional. <https://cloud.google.com/apis/design/resource_names Resource name> of the customer. If you\'re using this API for your own organization, use @customers\/my_customer@ If you\'re using this API to manage another organization, use @customers\/{customer}@, where customer is the customer to whom the device belongs.+    customer :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest ::+  GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest+newGoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest =+  GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest+    { customer =+        Core.Nothing+    }++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest"+      ( \o ->+          GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest+            Core.<$> (o Core..:? "customer")+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest+  where+  toJSON GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest {..} =+    Core.object+      (Core.catMaybes [("customer" Core..=) Core.<$> customer])++-- | Response message for wiping the user\'s account from the device.+--+-- /See:/ 'newGoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse' smart constructor.+newtype GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse = GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse+  { -- | Resultant DeviceUser object for the action.+    deviceUser :: (Core.Maybe GoogleAppsCloudidentityDevicesV1DeviceUser)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse' with the minimum fields required to make a request.+newGoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse ::+  GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse+newGoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse =+  GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse+    { deviceUser =+        Core.Nothing+    }++instance+  Core.FromJSON+    GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse+  where+  parseJSON =+    Core.withObject+      "GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse"+      ( \o ->+          GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse+            Core.<$> (o Core..:? "deviceUser")+      )++instance+  Core.ToJSON+    GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse+  where+  toJSON GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse {..} =+    Core.object+      (Core.catMaybes [("deviceUser" Core..=) Core.<$> deviceUser])++-- | A group within the Cloud Identity Groups API. A @Group@ is a collection of entities, where each entity is either a user, another group, or a service account.+--+-- /See:/ 'newGroup' smart constructor.+data Group = Group+  { -- | Output only. Additional group keys associated with the Group.+    additionalGroupKeys :: (Core.Maybe [EntityKey]),+    -- | Output only. The time when the @Group@ was created.+    createTime :: (Core.Maybe Core.DateTime),+    -- | An extended description to help users determine the purpose of a @Group@. Must not be longer than 4,096 characters.+    description :: (Core.Maybe Core.Text),+    -- | The display name of the @Group@.+    displayName :: (Core.Maybe Core.Text),+    -- | Optional. Dynamic group metadata like queries and status.+    dynamicGroupMetadata :: (Core.Maybe DynamicGroupMetadata),+    -- | Required. The @EntityKey@ of the @Group@.+    groupKey :: (Core.Maybe EntityKey),+    -- | Required. One or more label entries that apply to the Group. Currently supported labels contain a key with an empty value. Google Groups are the default type of group and have a label with a key of @cloudidentity.googleapis.com\/groups.discussion_forum@ and an empty value. Existing Google Groups can have an additional label with a key of @cloudidentity.googleapis.com\/groups.security@ and an empty value added to them. __This is an immutable change and the security label cannot be removed once added.__ Dynamic groups have a label with a key of @cloudidentity.googleapis.com\/groups.dynamic@. Identity-mapped groups for Cloud Search have a label with a key of @system\/groups\/external@ and an empty value.+    labels :: (Core.Maybe Group_Labels),+    -- | Output only. The <https://cloud.google.com/apis/design/resource_names resource name> of the @Group@. Shall be of the form @groups\/{group}@.+    name :: (Core.Maybe Core.Text),+    -- | Required. Immutable. The resource name of the entity under which this @Group@ resides in the Cloud Identity resource hierarchy. Must be of the form @identitysources\/{identity_source}@ for external <https://support.google.com/a/answer/9039510 identity-mapped groups> or @customers\/{customer_id}@ for Google Groups. The @customer_id@ must begin with \"C\" (for example, \'C046psxkn\'). [Find your customer ID.] (https:\/\/support.google.com\/cloudidentity\/answer\/10070793)+    parent :: (Core.Maybe Core.Text),+    -- | Output only. The time when the @Group@ was last updated.+    updateTime :: (Core.Maybe Core.DateTime)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Group' with the minimum fields required to make a request.+newGroup ::+  Group+newGroup =+  Group+    { additionalGroupKeys = Core.Nothing,+      createTime = Core.Nothing,+      description = Core.Nothing,+      displayName = Core.Nothing,+      dynamicGroupMetadata = Core.Nothing,+      groupKey = Core.Nothing,+      labels = Core.Nothing,+      name = Core.Nothing,+      parent = Core.Nothing,+      updateTime = Core.Nothing+    }++instance Core.FromJSON Group where+  parseJSON =+    Core.withObject+      "Group"+      ( \o ->+          Group+            Core.<$> (o Core..:? "additionalGroupKeys")+            Core.<*> (o Core..:? "createTime")+            Core.<*> (o Core..:? "description")+            Core.<*> (o Core..:? "displayName")+            Core.<*> (o Core..:? "dynamicGroupMetadata")+            Core.<*> (o Core..:? "groupKey")+            Core.<*> (o Core..:? "labels")+            Core.<*> (o Core..:? "name")+            Core.<*> (o Core..:? "parent")+            Core.<*> (o Core..:? "updateTime")+      )++instance Core.ToJSON Group where+  toJSON Group {..} =+    Core.object+      ( Core.catMaybes+          [ ("additionalGroupKeys" Core..=) Core.<$> additionalGroupKeys,+            ("createTime" Core..=) Core.<$> createTime,+            ("description" Core..=) Core.<$> description,+            ("displayName" Core..=) Core.<$> displayName,+            ("dynamicGroupMetadata" Core..=) Core.<$> dynamicGroupMetadata,+            ("groupKey" Core..=) Core.<$> groupKey,+            ("labels" Core..=) Core.<$> labels,+            ("name" Core..=) Core.<$> name,+            ("parent" Core..=) Core.<$> parent,+            ("updateTime" Core..=) Core.<$> updateTime+          ]+      )++-- | Required. One or more label entries that apply to the Group. Currently supported labels contain a key with an empty value. Google Groups are the default type of group and have a label with a key of @cloudidentity.googleapis.com\/groups.discussion_forum@ and an empty value. Existing Google Groups can have an additional label with a key of @cloudidentity.googleapis.com\/groups.security@ and an empty value added to them. __This is an immutable change and the security label cannot be removed once added.__ Dynamic groups have a label with a key of @cloudidentity.googleapis.com\/groups.dynamic@. Identity-mapped groups for Cloud Search have a label with a key of @system\/groups\/external@ and an empty value.+--+-- /See:/ 'newGroup_Labels' smart constructor.+newtype Group_Labels = Group_Labels+  { additional :: (Core.HashMap Core.Text Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Group_Labels' with the minimum fields required to make a request.+newGroup_Labels ::+  -- |  See 'additional'.+  Core.HashMap Core.Text Core.Text ->+  Group_Labels+newGroup_Labels additional = Group_Labels {additional = additional}++instance Core.FromJSON Group_Labels where+  parseJSON =+    Core.withObject+      "Group_Labels"+      (\o -> Group_Labels Core.<$> (Core.parseJSONObject o))++instance Core.ToJSON Group_Labels where+  toJSON Group_Labels {..} = Core.toJSON additional++-- | Message representing a transitive group of a user or a group.+--+-- /See:/ 'newGroupRelation' smart constructor.+data GroupRelation = GroupRelation+  { -- | Display name for this group.+    displayName :: (Core.Maybe Core.Text),+    -- | Resource name for this group.+    group' :: (Core.Maybe Core.Text),+    -- | Entity key has an id and a namespace. In case of discussion forums, the id will be an email address without a namespace.+    groupKey :: (Core.Maybe EntityKey),+    -- | Labels for Group resource.+    labels :: (Core.Maybe GroupRelation_Labels),+    -- | The relation between the member and the transitive group.+    relationType :: (Core.Maybe GroupRelation_RelationType),+    -- | Membership roles of the member for the group.+    roles :: (Core.Maybe [TransitiveMembershipRole])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GroupRelation' with the minimum fields required to make a request.+newGroupRelation ::+  GroupRelation+newGroupRelation =+  GroupRelation+    { displayName = Core.Nothing,+      group' = Core.Nothing,+      groupKey = Core.Nothing,+      labels = Core.Nothing,+      relationType = Core.Nothing,+      roles = Core.Nothing+    }++instance Core.FromJSON GroupRelation where+  parseJSON =+    Core.withObject+      "GroupRelation"+      ( \o ->+          GroupRelation+            Core.<$> (o Core..:? "displayName")+            Core.<*> (o Core..:? "group")+            Core.<*> (o Core..:? "groupKey")+            Core.<*> (o Core..:? "labels")+            Core.<*> (o Core..:? "relationType")+            Core.<*> (o Core..:? "roles")+      )++instance Core.ToJSON GroupRelation where+  toJSON GroupRelation {..} =+    Core.object+      ( Core.catMaybes+          [ ("displayName" Core..=) Core.<$> displayName,+            ("group" Core..=) Core.<$> group',+            ("groupKey" Core..=) Core.<$> groupKey,+            ("labels" Core..=) Core.<$> labels,+            ("relationType" Core..=) Core.<$> relationType,+            ("roles" Core..=) Core.<$> roles+          ]+      )++-- | Labels for Group resource.+--+-- /See:/ 'newGroupRelation_Labels' smart constructor.+newtype GroupRelation_Labels = GroupRelation_Labels+  { additional :: (Core.HashMap Core.Text Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'GroupRelation_Labels' with the minimum fields required to make a request.+newGroupRelation_Labels ::+  -- |  See 'additional'.+  Core.HashMap Core.Text Core.Text ->+  GroupRelation_Labels+newGroupRelation_Labels additional =+  GroupRelation_Labels {additional = additional}++instance Core.FromJSON GroupRelation_Labels where+  parseJSON =+    Core.withObject+      "GroupRelation_Labels"+      (\o -> GroupRelation_Labels Core.<$> (Core.parseJSONObject o))++instance Core.ToJSON GroupRelation_Labels where+  toJSON GroupRelation_Labels {..} = Core.toJSON additional++-- | Credential for verifying signatures produced by the Identity Provider.+--+-- /See:/ 'newIdpCredential' smart constructor.+data IdpCredential = IdpCredential+  { -- | Output only. Information of a DSA public key.+    dsaKeyInfo :: (Core.Maybe DsaPublicKeyInfo),+    -- | Output only. <https://cloud.google.com/apis/design/resource_names Resource name> of the credential.+    name :: (Core.Maybe Core.Text),+    -- | Output only. Information of a RSA public key.+    rsaKeyInfo :: (Core.Maybe RsaPublicKeyInfo),+    -- | Output only. Time when the @IdpCredential@ was last updated.+    updateTime :: (Core.Maybe Core.DateTime)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'IdpCredential' with the minimum fields required to make a request.+newIdpCredential ::+  IdpCredential+newIdpCredential =+  IdpCredential+    { dsaKeyInfo = Core.Nothing,+      name = Core.Nothing,+      rsaKeyInfo = Core.Nothing,+      updateTime = Core.Nothing+    }++instance Core.FromJSON IdpCredential where+  parseJSON =+    Core.withObject+      "IdpCredential"+      ( \o ->+          IdpCredential+            Core.<$> (o Core..:? "dsaKeyInfo")+            Core.<*> (o Core..:? "name")+            Core.<*> (o Core..:? "rsaKeyInfo")+            Core.<*> (o Core..:? "updateTime")+      )++instance Core.ToJSON IdpCredential where+  toJSON IdpCredential {..} =+    Core.object+      ( Core.catMaybes+          [ ("dsaKeyInfo" Core..=) Core.<$> dsaKeyInfo,+            ("name" Core..=) Core.<$> name,+            ("rsaKeyInfo" Core..=) Core.<$> rsaKeyInfo,+            ("updateTime" Core..=) Core.<$> updateTime+          ]+      )++-- | A <https://www.oasis-open.org/standards#samlv2.0 SAML 2.0> federation between a Google enterprise customer and a SAML identity provider.+--+-- /See:/ 'newInboundSamlSsoProfile' smart constructor.+data InboundSamlSsoProfile = InboundSamlSsoProfile+  { -- | Immutable. The customer. For example: @customers\/C0123abc@.+    customer :: (Core.Maybe Core.Text),+    -- | Human-readable name of the SAML SSO profile.+    displayName :: (Core.Maybe Core.Text),+    -- | SAML identity provider configuration.+    idpConfig :: (Core.Maybe SamlIdpConfig),+    -- | Output only. <https://cloud.google.com/apis/design/resource_names Resource name> of the SAML SSO profile.+    name :: (Core.Maybe Core.Text),+    -- | SAML service provider configuration for this SAML SSO profile. These are the service provider details provided by Google that should be configured on the corresponding identity provider.+    spConfig :: (Core.Maybe SamlSpConfig)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'InboundSamlSsoProfile' with the minimum fields required to make a request.+newInboundSamlSsoProfile ::+  InboundSamlSsoProfile+newInboundSamlSsoProfile =+  InboundSamlSsoProfile+    { customer = Core.Nothing,+      displayName = Core.Nothing,+      idpConfig = Core.Nothing,+      name = Core.Nothing,+      spConfig = Core.Nothing+    }++instance Core.FromJSON InboundSamlSsoProfile where+  parseJSON =+    Core.withObject+      "InboundSamlSsoProfile"+      ( \o ->+          InboundSamlSsoProfile+            Core.<$> (o Core..:? "customer")+            Core.<*> (o Core..:? "displayName")+            Core.<*> (o Core..:? "idpConfig")+            Core.<*> (o Core..:? "name")+            Core.<*> (o Core..:? "spConfig")+      )++instance Core.ToJSON InboundSamlSsoProfile where+  toJSON InboundSamlSsoProfile {..} =+    Core.object+      ( Core.catMaybes+          [ ("customer" Core..=) Core.<$> customer,+            ("displayName" Core..=) Core.<$> displayName,+            ("idpConfig" Core..=) Core.<$> idpConfig,+            ("name" Core..=) Core.<$> name,+            ("spConfig" Core..=) Core.<$> spConfig+          ]+      )++-- | Targets with \"set\" SSO assignments and their respective assignments.+--+-- /See:/ 'newInboundSsoAssignment' smart constructor.+data InboundSsoAssignment = InboundSsoAssignment+  { -- | Immutable. The customer. For example: @customers\/C0123abc@.+    customer :: (Core.Maybe Core.Text),+    -- | Output only. <https://cloud.google.com/apis/design/resource_names Resource name> of the Inbound SSO Assignment.+    name :: (Core.Maybe Core.Text),+    -- | Must be zero (which is the default value so it can be omitted) for assignments with @target_org_unit@ set and must be greater-than-or-equal-to one for assignments with @target_group@ set.+    rank :: (Core.Maybe Core.Int32),+    -- | SAML SSO details. Must be set if and only if @sso_mode@ is set to @SAML_SSO@.+    samlSsoInfo :: (Core.Maybe SamlSsoInfo),+    -- | Assertions about users assigned to an IdP will always be accepted from that IdP. This controls whether\/when Google should redirect a user to the IdP. Unset (defaults) is the recommended configuration.+    signInBehavior :: (Core.Maybe SignInBehavior),+    -- | Inbound SSO behavior.+    ssoMode :: (Core.Maybe InboundSsoAssignment_SsoMode),+    -- | Immutable. Must be of the form @groups\/{group}@.+    targetGroup :: (Core.Maybe Core.Text),+    -- | Immutable. Must be of the form @orgUnits\/{org_unit}@.+    targetOrgUnit :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'InboundSsoAssignment' with the minimum fields required to make a request.+newInboundSsoAssignment ::+  InboundSsoAssignment+newInboundSsoAssignment =+  InboundSsoAssignment+    { customer = Core.Nothing,+      name = Core.Nothing,+      rank = Core.Nothing,+      samlSsoInfo = Core.Nothing,+      signInBehavior = Core.Nothing,+      ssoMode = Core.Nothing,+      targetGroup = Core.Nothing,+      targetOrgUnit = Core.Nothing+    }++instance Core.FromJSON InboundSsoAssignment where+  parseJSON =+    Core.withObject+      "InboundSsoAssignment"+      ( \o ->+          InboundSsoAssignment+            Core.<$> (o Core..:? "customer")+            Core.<*> (o Core..:? "name")+            Core.<*> (o Core..:? "rank")+            Core.<*> (o Core..:? "samlSsoInfo")+            Core.<*> (o Core..:? "signInBehavior")+            Core.<*> (o Core..:? "ssoMode")+            Core.<*> (o Core..:? "targetGroup")+            Core.<*> (o Core..:? "targetOrgUnit")+      )++instance Core.ToJSON InboundSsoAssignment where+  toJSON InboundSsoAssignment {..} =+    Core.object+      ( Core.catMaybes+          [ ("customer" Core..=) Core.<$> customer,+            ("name" Core..=) Core.<$> name,+            ("rank" Core..=) Core.<$> rank,+            ("samlSsoInfo" Core..=) Core.<$> samlSsoInfo,+            ("signInBehavior" Core..=) Core.<$> signInBehavior,+            ("ssoMode" Core..=) Core.<$> ssoMode,+            ("targetGroup" Core..=) Core.<$> targetGroup,+            ("targetOrgUnit" Core..=) Core.<$> targetOrgUnit+          ]+      )++-- | Response for IsInvitableUser RPC.+--+-- /See:/ 'newIsInvitableUserResponse' smart constructor.+newtype IsInvitableUserResponse = IsInvitableUserResponse+  { -- | Returns true if the email address is invitable.+    isInvitableUser :: (Core.Maybe Core.Bool)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'IsInvitableUserResponse' with the minimum fields required to make a request.+newIsInvitableUserResponse ::+  IsInvitableUserResponse+newIsInvitableUserResponse =+  IsInvitableUserResponse {isInvitableUser = Core.Nothing}++instance Core.FromJSON IsInvitableUserResponse where+  parseJSON =+    Core.withObject+      "IsInvitableUserResponse"+      ( \o ->+          IsInvitableUserResponse Core.<$> (o Core..:? "isInvitableUser")+      )++instance Core.ToJSON IsInvitableUserResponse where+  toJSON IsInvitableUserResponse {..} =+    Core.object+      ( Core.catMaybes+          [("isInvitableUser" Core..=) Core.<$> isInvitableUser]+      )++-- | Response message for ListGroups operation.+--+-- /See:/ 'newListGroupsResponse' smart constructor.+data ListGroupsResponse = ListGroupsResponse+  { -- | Groups returned in response to list request. The results are not sorted.+    groups :: (Core.Maybe [Group]),+    -- | Token to retrieve the next page of results, or empty if there are no more results available for listing.+    nextPageToken :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ListGroupsResponse' with the minimum fields required to make a request.+newListGroupsResponse ::+  ListGroupsResponse+newListGroupsResponse =+  ListGroupsResponse+    { groups = Core.Nothing,+      nextPageToken = Core.Nothing+    }++instance Core.FromJSON ListGroupsResponse where+  parseJSON =+    Core.withObject+      "ListGroupsResponse"+      ( \o ->+          ListGroupsResponse+            Core.<$> (o Core..:? "groups")+            Core.<*> (o Core..:? "nextPageToken")+      )++instance Core.ToJSON ListGroupsResponse where+  toJSON ListGroupsResponse {..} =+    Core.object+      ( Core.catMaybes+          [ ("groups" Core..=) Core.<$> groups,+            ("nextPageToken" Core..=) Core.<$> nextPageToken+          ]+      )++-- | Response of the InboundSamlSsoProfilesService.ListIdpCredentials method.+--+-- /See:/ 'newListIdpCredentialsResponse' smart constructor.+data ListIdpCredentialsResponse = ListIdpCredentialsResponse+  { -- | The IdpCredentials from the specified InboundSamlSsoProfile.+    idpCredentials :: (Core.Maybe [IdpCredential]),+    -- | A token, which can be sent as @page_token@ to retrieve the next page. If this field is omitted, there are no subsequent pages.+    nextPageToken :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ListIdpCredentialsResponse' with the minimum fields required to make a request.+newListIdpCredentialsResponse ::+  ListIdpCredentialsResponse+newListIdpCredentialsResponse =+  ListIdpCredentialsResponse+    { idpCredentials = Core.Nothing,+      nextPageToken = Core.Nothing+    }++instance Core.FromJSON ListIdpCredentialsResponse where+  parseJSON =+    Core.withObject+      "ListIdpCredentialsResponse"+      ( \o ->+          ListIdpCredentialsResponse+            Core.<$> (o Core..:? "idpCredentials")+            Core.<*> (o Core..:? "nextPageToken")+      )++instance Core.ToJSON ListIdpCredentialsResponse where+  toJSON ListIdpCredentialsResponse {..} =+    Core.object+      ( Core.catMaybes+          [ ("idpCredentials" Core..=) Core.<$> idpCredentials,+            ("nextPageToken" Core..=) Core.<$> nextPageToken+          ]+      )++-- | Response of the InboundSamlSsoProfilesService.ListInboundSamlSsoProfiles method.+--+-- /See:/ 'newListInboundSamlSsoProfilesResponse' smart constructor.+data ListInboundSamlSsoProfilesResponse = ListInboundSamlSsoProfilesResponse+  { -- | List of InboundSamlSsoProfiles.+    inboundSamlSsoProfiles :: (Core.Maybe [InboundSamlSsoProfile]),+    -- | A token, which can be sent as @page_token@ to retrieve the next page. If this field is omitted, there are no subsequent pages.+    nextPageToken :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ListInboundSamlSsoProfilesResponse' with the minimum fields required to make a request.+newListInboundSamlSsoProfilesResponse ::+  ListInboundSamlSsoProfilesResponse+newListInboundSamlSsoProfilesResponse =+  ListInboundSamlSsoProfilesResponse+    { inboundSamlSsoProfiles =+        Core.Nothing,+      nextPageToken = Core.Nothing+    }++instance Core.FromJSON ListInboundSamlSsoProfilesResponse where+  parseJSON =+    Core.withObject+      "ListInboundSamlSsoProfilesResponse"+      ( \o ->+          ListInboundSamlSsoProfilesResponse+            Core.<$> (o Core..:? "inboundSamlSsoProfiles")+            Core.<*> (o Core..:? "nextPageToken")+      )++instance Core.ToJSON ListInboundSamlSsoProfilesResponse where+  toJSON ListInboundSamlSsoProfilesResponse {..} =+    Core.object+      ( Core.catMaybes+          [ ("inboundSamlSsoProfiles" Core..=)+              Core.<$> inboundSamlSsoProfiles,+            ("nextPageToken" Core..=) Core.<$> nextPageToken+          ]+      )++-- | Response of the InboundSsoAssignmentsService.ListInboundSsoAssignments method.+--+-- /See:/ 'newListInboundSsoAssignmentsResponse' smart constructor.+data ListInboundSsoAssignmentsResponse = ListInboundSsoAssignmentsResponse+  { -- | The assignments.+    inboundSsoAssignments :: (Core.Maybe [InboundSsoAssignment]),+    -- | A token, which can be sent as @page_token@ to retrieve the next page. If this field is omitted, there are no subsequent pages.+    nextPageToken :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ListInboundSsoAssignmentsResponse' with the minimum fields required to make a request.+newListInboundSsoAssignmentsResponse ::+  ListInboundSsoAssignmentsResponse+newListInboundSsoAssignmentsResponse =+  ListInboundSsoAssignmentsResponse+    { inboundSsoAssignments =+        Core.Nothing,+      nextPageToken = Core.Nothing+    }++instance Core.FromJSON ListInboundSsoAssignmentsResponse where+  parseJSON =+    Core.withObject+      "ListInboundSsoAssignmentsResponse"+      ( \o ->+          ListInboundSsoAssignmentsResponse+            Core.<$> (o Core..:? "inboundSsoAssignments")+            Core.<*> (o Core..:? "nextPageToken")+      )++instance Core.ToJSON ListInboundSsoAssignmentsResponse where+  toJSON ListInboundSsoAssignmentsResponse {..} =+    Core.object+      ( Core.catMaybes+          [ ("inboundSsoAssignments" Core..=) Core.<$> inboundSsoAssignments,+            ("nextPageToken" Core..=) Core.<$> nextPageToken+          ]+      )++-- | The response message for MembershipsService.ListMemberships.+--+-- /See:/ 'newListMembershipsResponse' smart constructor.+data ListMembershipsResponse = ListMembershipsResponse+  { -- | The @Membership@s under the specified @parent@.+    memberships :: (Core.Maybe [Membership]),+    -- | A continuation token to retrieve the next page of results, or empty if there are no more results available.+    nextPageToken :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ListMembershipsResponse' with the minimum fields required to make a request.+newListMembershipsResponse ::+  ListMembershipsResponse+newListMembershipsResponse =+  ListMembershipsResponse+    { memberships = Core.Nothing,+      nextPageToken = Core.Nothing+    }++instance Core.FromJSON ListMembershipsResponse where+  parseJSON =+    Core.withObject+      "ListMembershipsResponse"+      ( \o ->+          ListMembershipsResponse+            Core.<$> (o Core..:? "memberships")+            Core.<*> (o Core..:? "nextPageToken")+      )++instance Core.ToJSON ListMembershipsResponse where+  toJSON ListMembershipsResponse {..} =+    Core.object+      ( Core.catMaybes+          [ ("memberships" Core..=) Core.<$> memberships,+            ("nextPageToken" Core..=) Core.<$> nextPageToken+          ]+      )++-- | The response message for PoliciesService.ListPolicies.+--+-- /See:/ 'newListPoliciesResponse' smart constructor.+data ListPoliciesResponse = ListPoliciesResponse+  { -- | The pagination token to retrieve the next page of results. If this field is empty, there are no subsequent pages.+    nextPageToken :: (Core.Maybe Core.Text),+    -- | The results+    policies :: (Core.Maybe [Policy])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ListPoliciesResponse' with the minimum fields required to make a request.+newListPoliciesResponse ::+  ListPoliciesResponse+newListPoliciesResponse =+  ListPoliciesResponse+    { nextPageToken = Core.Nothing,+      policies = Core.Nothing+    }++instance Core.FromJSON ListPoliciesResponse where+  parseJSON =+    Core.withObject+      "ListPoliciesResponse"+      ( \o ->+          ListPoliciesResponse+            Core.<$> (o Core..:? "nextPageToken")+            Core.<*> (o Core..:? "policies")+      )++instance Core.ToJSON ListPoliciesResponse where+  toJSON ListPoliciesResponse {..} =+    Core.object+      ( Core.catMaybes+          [ ("nextPageToken" Core..=) Core.<$> nextPageToken,+            ("policies" Core..=) Core.<$> policies+          ]+      )++-- | Response message for UserInvitation listing request.+--+-- /See:/ 'newListUserInvitationsResponse' smart constructor.+data ListUserInvitationsResponse = ListUserInvitationsResponse+  { -- | The token for the next page. If not empty, indicates that there may be more @UserInvitation@ resources that match the listing request; this value can be used in a subsequent ListUserInvitationsRequest to get continued results with the current list call.+    nextPageToken :: (Core.Maybe Core.Text),+    -- | The list of UserInvitation resources.+    userInvitations :: (Core.Maybe [UserInvitation])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ListUserInvitationsResponse' with the minimum fields required to make a request.+newListUserInvitationsResponse ::+  ListUserInvitationsResponse+newListUserInvitationsResponse =+  ListUserInvitationsResponse+    { nextPageToken = Core.Nothing,+      userInvitations = Core.Nothing+    }++instance Core.FromJSON ListUserInvitationsResponse where+  parseJSON =+    Core.withObject+      "ListUserInvitationsResponse"+      ( \o ->+          ListUserInvitationsResponse+            Core.<$> (o Core..:? "nextPageToken")+            Core.<*> (o Core..:? "userInvitations")+      )++instance Core.ToJSON ListUserInvitationsResponse where+  toJSON ListUserInvitationsResponse {..} =+    Core.object+      ( Core.catMaybes+          [ ("nextPageToken" Core..=) Core.<$> nextPageToken,+            ("userInvitations" Core..=) Core.<$> userInvitations+          ]+      )++-- | The response message for GroupsService.LookupGroupName.+--+-- /See:/ 'newLookupGroupNameResponse' smart constructor.+newtype LookupGroupNameResponse = LookupGroupNameResponse+  { -- | The <https://cloud.google.com/apis/design/resource_names resource name> of the looked-up @Group@.+    name :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'LookupGroupNameResponse' with the minimum fields required to make a request.+newLookupGroupNameResponse ::+  LookupGroupNameResponse+newLookupGroupNameResponse =+  LookupGroupNameResponse {name = Core.Nothing}++instance Core.FromJSON LookupGroupNameResponse where+  parseJSON =+    Core.withObject+      "LookupGroupNameResponse"+      (\o -> LookupGroupNameResponse Core.<$> (o Core..:? "name"))++instance Core.ToJSON LookupGroupNameResponse where+  toJSON LookupGroupNameResponse {..} =+    Core.object (Core.catMaybes [("name" Core..=) Core.<$> name])++-- | The response message for MembershipsService.LookupMembershipName.+--+-- /See:/ 'newLookupMembershipNameResponse' smart constructor.+newtype LookupMembershipNameResponse = LookupMembershipNameResponse+  { -- | The <https://cloud.google.com/apis/design/resource_names resource name> of the looked-up @Membership@. Must be of the form @groups\/{group}\/memberships\/{membership}@.+    name :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'LookupMembershipNameResponse' with the minimum fields required to make a request.+newLookupMembershipNameResponse ::+  LookupMembershipNameResponse+newLookupMembershipNameResponse =+  LookupMembershipNameResponse {name = Core.Nothing}++instance Core.FromJSON LookupMembershipNameResponse where+  parseJSON =+    Core.withObject+      "LookupMembershipNameResponse"+      (\o -> LookupMembershipNameResponse Core.<$> (o Core..:? "name"))++instance Core.ToJSON LookupMembershipNameResponse where+  toJSON LookupMembershipNameResponse {..} =+    Core.object (Core.catMaybes [("name" Core..=) Core.<$> name])++-- | Message representing a transitive membership of a group.+--+-- /See:/ 'newMemberRelation' smart constructor.+data MemberRelation = MemberRelation+  { -- | Resource name for this member.+    member :: (Core.Maybe Core.Text),+    -- | Entity key has an id and a namespace. In case of discussion forums, the id will be an email address without a namespace.+    preferredMemberKey :: (Core.Maybe [EntityKey]),+    -- | The relation between the group and the transitive member.+    relationType :: (Core.Maybe MemberRelation_RelationType),+    -- | The membership role details (i.e name of role and expiry time).+    roles :: (Core.Maybe [TransitiveMembershipRole])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'MemberRelation' with the minimum fields required to make a request.+newMemberRelation ::+  MemberRelation+newMemberRelation =+  MemberRelation+    { member = Core.Nothing,+      preferredMemberKey = Core.Nothing,+      relationType = Core.Nothing,+      roles = Core.Nothing+    }++instance Core.FromJSON MemberRelation where+  parseJSON =+    Core.withObject+      "MemberRelation"+      ( \o ->+          MemberRelation+            Core.<$> (o Core..:? "member")+            Core.<*> (o Core..:? "preferredMemberKey")+            Core.<*> (o Core..:? "relationType")+            Core.<*> (o Core..:? "roles")+      )++instance Core.ToJSON MemberRelation where+  toJSON MemberRelation {..} =+    Core.object+      ( Core.catMaybes+          [ ("member" Core..=) Core.<$> member,+            ("preferredMemberKey" Core..=) Core.<$> preferredMemberKey,+            ("relationType" Core..=) Core.<$> relationType,+            ("roles" Core..=) Core.<$> roles+          ]+      )++-- | The definition of MemberRestriction+--+-- /See:/ 'newMemberRestriction' smart constructor.+data MemberRestriction = MemberRestriction+  { -- | The evaluated state of this restriction on a group.+    evaluation :: (Core.Maybe RestrictionEvaluation),+    -- | Member Restriction as defined by CEL expression. Supported restrictions are: @member.customer_id@ and @member.type@. Valid values for @member.type@ are @1@, @2@ and @3@. They correspond to USER, SERVICE_ACCOUNT, and GROUP respectively. The value for @member.customer_id@ only supports @groupCustomerId()@ currently which means the customer id of the group will be used for restriction. Supported operators are @&&@, @||@ and @==@, corresponding to AND, OR, and EQUAL. Examples: Allow only service accounts of given customer to be members. @member.type == 2 && member.customer_id == groupCustomerId()@ Allow only users or groups to be members. @member.type == 1 || member.type == 3@+    query :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'MemberRestriction' with the minimum fields required to make a request.+newMemberRestriction ::+  MemberRestriction+newMemberRestriction =+  MemberRestriction+    { evaluation = Core.Nothing,+      query = Core.Nothing+    }++instance Core.FromJSON MemberRestriction where+  parseJSON =+    Core.withObject+      "MemberRestriction"+      ( \o ->+          MemberRestriction+            Core.<$> (o Core..:? "evaluation")+            Core.<*> (o Core..:? "query")+      )++instance Core.ToJSON MemberRestriction where+  toJSON MemberRestriction {..} =+    Core.object+      ( Core.catMaybes+          [ ("evaluation" Core..=) Core.<$> evaluation,+            ("query" Core..=) Core.<$> query+          ]+      )++-- | A membership within the Cloud Identity Groups API. A @Membership@ defines a relationship between a @Group@ and an entity belonging to that @Group@, referred to as a \"member\".+--+-- /See:/ 'newMembership' smart constructor.+data Membership = Membership+  { -- | Output only. The time when the @Membership@ was created.+    createTime :: (Core.Maybe Core.DateTime),+    -- | Output only. Delivery setting associated with the membership.+    deliverySetting :: (Core.Maybe Membership_DeliverySetting),+    -- | Output only. The <https://cloud.google.com/apis/design/resource_names resource name> of the @Membership@. Shall be of the form @groups\/{group}\/memberships\/{membership}@.+    name :: (Core.Maybe Core.Text),+    -- | Required. Immutable. The @EntityKey@ of the member.+    preferredMemberKey :: (Core.Maybe EntityKey),+    -- | The @MembershipRole@s that apply to the @Membership@. If unspecified, defaults to a single @MembershipRole@ with @name@ @MEMBER@. Must not contain duplicate @MembershipRole@s with the same @name@.+    roles :: (Core.Maybe [MembershipRole]),+    -- | Output only. The type of the membership.+    type' :: (Core.Maybe Membership_Type),+    -- | Output only. The time when the @Membership@ was last updated.+    updateTime :: (Core.Maybe Core.DateTime)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Membership' with the minimum fields required to make a request.+newMembership ::+  Membership+newMembership =+  Membership+    { createTime = Core.Nothing,+      deliverySetting = Core.Nothing,+      name = Core.Nothing,+      preferredMemberKey = Core.Nothing,+      roles = Core.Nothing,+      type' = Core.Nothing,+      updateTime = Core.Nothing+    }++instance Core.FromJSON Membership where+  parseJSON =+    Core.withObject+      "Membership"+      ( \o ->+          Membership+            Core.<$> (o Core..:? "createTime")+            Core.<*> (o Core..:? "deliverySetting")+            Core.<*> (o Core..:? "name")+            Core.<*> (o Core..:? "preferredMemberKey")+            Core.<*> (o Core..:? "roles")+            Core.<*> (o Core..:? "type")+            Core.<*> (o Core..:? "updateTime")+      )++instance Core.ToJSON Membership where+  toJSON Membership {..} =+    Core.object+      ( Core.catMaybes+          [ ("createTime" Core..=) Core.<$> createTime,+            ("deliverySetting" Core..=) Core.<$> deliverySetting,+            ("name" Core..=) Core.<$> name,+            ("preferredMemberKey" Core..=) Core.<$> preferredMemberKey,+            ("roles" Core..=) Core.<$> roles,+            ("type" Core..=) Core.<$> type',+            ("updateTime" Core..=) Core.<$> updateTime+          ]+      )++-- | Membership graph\'s path information as an adjacency list.+--+-- /See:/ 'newMembershipAdjacencyList' smart constructor.+data MembershipAdjacencyList = MembershipAdjacencyList+  { -- | Each edge contains information about the member that belongs to this group. Note: Fields returned here will help identify the specific Membership resource (e.g @name@, @preferred_member_key@ and @role@), but may not be a comprehensive list of all fields.+    edges :: (Core.Maybe [Membership]),+    -- | Resource name of the group that the members belong to.+    group' :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'MembershipAdjacencyList' with the minimum fields required to make a request.+newMembershipAdjacencyList ::+  MembershipAdjacencyList+newMembershipAdjacencyList =+  MembershipAdjacencyList+    { edges = Core.Nothing,+      group' = Core.Nothing+    }++instance Core.FromJSON MembershipAdjacencyList where+  parseJSON =+    Core.withObject+      "MembershipAdjacencyList"+      ( \o ->+          MembershipAdjacencyList+            Core.<$> (o Core..:? "edges")+            Core.<*> (o Core..:? "group")+      )++instance Core.ToJSON MembershipAdjacencyList where+  toJSON MembershipAdjacencyList {..} =+    Core.object+      ( Core.catMaybes+          [ ("edges" Core..=) Core.<$> edges,+            ("group" Core..=) Core.<$> group'+          ]+      )++-- | Message containing membership relation.+--+-- /See:/ 'newMembershipRelation' smart constructor.+data MembershipRelation = MembershipRelation+  { -- | An extended description to help users determine the purpose of a @Group@.+    description :: (Core.Maybe Core.Text),+    -- | The display name of the @Group@.+    displayName :: (Core.Maybe Core.Text),+    -- | The <https://cloud.google.com/apis/design/resource_names resource name> of the @Group@. Shall be of the form @groups\/{group_id}@.+    group' :: (Core.Maybe Core.Text),+    -- | The @EntityKey@ of the @Group@.+    groupKey :: (Core.Maybe EntityKey),+    -- | One or more label entries that apply to the Group. Currently supported labels contain a key with an empty value.+    labels :: (Core.Maybe MembershipRelation_Labels),+    -- | The <https://cloud.google.com/apis/design/resource_names resource name> of the @Membership@. Shall be of the form @groups\/{group_id}\/memberships\/{membership_id}@.+    membership :: (Core.Maybe Core.Text),+    -- | The @MembershipRole@s that apply to the @Membership@.+    roles :: (Core.Maybe [MembershipRole])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'MembershipRelation' with the minimum fields required to make a request.+newMembershipRelation ::+  MembershipRelation+newMembershipRelation =+  MembershipRelation+    { description = Core.Nothing,+      displayName = Core.Nothing,+      group' = Core.Nothing,+      groupKey = Core.Nothing,+      labels = Core.Nothing,+      membership = Core.Nothing,+      roles = Core.Nothing+    }++instance Core.FromJSON MembershipRelation where+  parseJSON =+    Core.withObject+      "MembershipRelation"+      ( \o ->+          MembershipRelation+            Core.<$> (o Core..:? "description")+            Core.<*> (o Core..:? "displayName")+            Core.<*> (o Core..:? "group")+            Core.<*> (o Core..:? "groupKey")+            Core.<*> (o Core..:? "labels")+            Core.<*> (o Core..:? "membership")+            Core.<*> (o Core..:? "roles")+      )++instance Core.ToJSON MembershipRelation where+  toJSON MembershipRelation {..} =+    Core.object+      ( Core.catMaybes+          [ ("description" Core..=) Core.<$> description,+            ("displayName" Core..=) Core.<$> displayName,+            ("group" Core..=) Core.<$> group',+            ("groupKey" Core..=) Core.<$> groupKey,+            ("labels" Core..=) Core.<$> labels,+            ("membership" Core..=) Core.<$> membership,+            ("roles" Core..=) Core.<$> roles+          ]+      )++-- | One or more label entries that apply to the Group. Currently supported labels contain a key with an empty value.+--+-- /See:/ 'newMembershipRelation_Labels' smart constructor.+newtype MembershipRelation_Labels = MembershipRelation_Labels+  { additional :: (Core.HashMap Core.Text Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'MembershipRelation_Labels' with the minimum fields required to make a request.+newMembershipRelation_Labels ::+  -- |  See 'additional'.+  Core.HashMap Core.Text Core.Text ->+  MembershipRelation_Labels+newMembershipRelation_Labels additional =+  MembershipRelation_Labels {additional = additional}++instance Core.FromJSON MembershipRelation_Labels where+  parseJSON =+    Core.withObject+      "MembershipRelation_Labels"+      ( \o ->+          MembershipRelation_Labels Core.<$> (Core.parseJSONObject o)+      )++instance Core.ToJSON MembershipRelation_Labels where+  toJSON MembershipRelation_Labels {..} = Core.toJSON additional++-- | A membership role within the Cloud Identity Groups API. A @MembershipRole@ defines the privileges granted to a @Membership@.+--+-- /See:/ 'newMembershipRole' smart constructor.+data MembershipRole = MembershipRole+  { -- | The expiry details of the @MembershipRole@. Expiry details are only supported for @MEMBER@ @MembershipRoles@. May be set if @name@ is @MEMBER@. Must not be set if @name@ is any other value.+    expiryDetail :: (Core.Maybe ExpiryDetail),+    -- | The name of the @MembershipRole@. Must be one of @OWNER@, @MANAGER@, @MEMBER@.+    name :: (Core.Maybe Core.Text),+    -- | Evaluations of restrictions applied to parent group on this membership.+    restrictionEvaluations :: (Core.Maybe RestrictionEvaluations)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'MembershipRole' with the minimum fields required to make a request.+newMembershipRole ::+  MembershipRole+newMembershipRole =+  MembershipRole+    { expiryDetail = Core.Nothing,+      name = Core.Nothing,+      restrictionEvaluations = Core.Nothing+    }++instance Core.FromJSON MembershipRole where+  parseJSON =+    Core.withObject+      "MembershipRole"+      ( \o ->+          MembershipRole+            Core.<$> (o Core..:? "expiryDetail")+            Core.<*> (o Core..:? "name")+            Core.<*> (o Core..:? "restrictionEvaluations")+      )++instance Core.ToJSON MembershipRole where+  toJSON MembershipRole {..} =+    Core.object+      ( Core.catMaybes+          [ ("expiryDetail" Core..=) Core.<$> expiryDetail,+            ("name" Core..=) Core.<$> name,+            ("restrictionEvaluations" Core..=)+              Core.<$> restrictionEvaluations+          ]+      )++-- | The evaluated state of this restriction.+--+-- /See:/ 'newMembershipRoleRestrictionEvaluation' smart constructor.+newtype MembershipRoleRestrictionEvaluation = MembershipRoleRestrictionEvaluation+  { -- | Output only. The current state of the restriction+    state :: (Core.Maybe MembershipRoleRestrictionEvaluation_State)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'MembershipRoleRestrictionEvaluation' with the minimum fields required to make a request.+newMembershipRoleRestrictionEvaluation ::+  MembershipRoleRestrictionEvaluation+newMembershipRoleRestrictionEvaluation =+  MembershipRoleRestrictionEvaluation {state = Core.Nothing}++instance Core.FromJSON MembershipRoleRestrictionEvaluation where+  parseJSON =+    Core.withObject+      "MembershipRoleRestrictionEvaluation"+      ( \o ->+          MembershipRoleRestrictionEvaluation Core.<$> (o Core..:? "state")+      )++instance Core.ToJSON MembershipRoleRestrictionEvaluation where+  toJSON MembershipRoleRestrictionEvaluation {..} =+    Core.object (Core.catMaybes [("state" Core..=) Core.<$> state])++-- | The request message for MembershipsService.ModifyMembershipRoles.+--+-- /See:/ 'newModifyMembershipRolesRequest' smart constructor.+data ModifyMembershipRolesRequest = ModifyMembershipRolesRequest+  { -- | The @MembershipRole@s to be added. Adding or removing roles in the same request as updating roles is not supported. Must not be set if @update_roles_params@ is set.+    addRoles :: (Core.Maybe [MembershipRole]),+    -- | The @name@s of the @MembershipRole@s to be removed. Adding or removing roles in the same request as updating roles is not supported. It is not possible to remove the @MEMBER@ @MembershipRole@. If you wish to delete a @Membership@, call MembershipsService.DeleteMembership instead. Must not contain @MEMBER@. Must not be set if @update_roles_params@ is set.+    removeRoles :: (Core.Maybe [Core.Text]),+    -- | The @MembershipRole@s to be updated. Updating roles in the same request as adding or removing roles is not supported. Must not be set if either @add_roles@ or @remove_roles@ is set.+    updateRolesParams :: (Core.Maybe [UpdateMembershipRolesParams])+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ModifyMembershipRolesRequest' with the minimum fields required to make a request.+newModifyMembershipRolesRequest ::+  ModifyMembershipRolesRequest+newModifyMembershipRolesRequest =+  ModifyMembershipRolesRequest+    { addRoles = Core.Nothing,+      removeRoles = Core.Nothing,+      updateRolesParams = Core.Nothing+    }++instance Core.FromJSON ModifyMembershipRolesRequest where+  parseJSON =+    Core.withObject+      "ModifyMembershipRolesRequest"+      ( \o ->+          ModifyMembershipRolesRequest+            Core.<$> (o Core..:? "addRoles")+            Core.<*> (o Core..:? "removeRoles")+            Core.<*> (o Core..:? "updateRolesParams")+      )++instance Core.ToJSON ModifyMembershipRolesRequest where+  toJSON ModifyMembershipRolesRequest {..} =+    Core.object+      ( Core.catMaybes+          [ ("addRoles" Core..=) Core.<$> addRoles,+            ("removeRoles" Core..=) Core.<$> removeRoles,+            ("updateRolesParams" Core..=) Core.<$> updateRolesParams+          ]+      )++-- | The response message for MembershipsService.ModifyMembershipRoles.+--+-- /See:/ 'newModifyMembershipRolesResponse' smart constructor.+newtype ModifyMembershipRolesResponse = ModifyMembershipRolesResponse+  { -- | The @Membership@ resource after modifying its @MembershipRole@s.+    membership :: (Core.Maybe Membership)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'ModifyMembershipRolesResponse' with the minimum fields required to make a request.+newModifyMembershipRolesResponse ::+  ModifyMembershipRolesResponse+newModifyMembershipRolesResponse =+  ModifyMembershipRolesResponse {membership = Core.Nothing}++instance Core.FromJSON ModifyMembershipRolesResponse where+  parseJSON =+    Core.withObject+      "ModifyMembershipRolesResponse"+      ( \o ->+          ModifyMembershipRolesResponse Core.<$> (o Core..:? "membership")+      )++instance Core.ToJSON ModifyMembershipRolesResponse where+  toJSON ModifyMembershipRolesResponse {..} =+    Core.object+      (Core.catMaybes [("membership" Core..=) Core.<$> membership])++-- | This resource represents a long-running operation that is the result of a network API call.+--+-- /See:/ 'newOperation' smart constructor.+data Operation = Operation+  { -- | If the value is @false@, it means the operation is still in progress. If @true@, the operation is completed, and either @error@ or @response@ is available.+    done :: (Core.Maybe Core.Bool),+    -- | The error result of the operation in case of failure or cancellation.+    error :: (Core.Maybe Status),+    -- | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.+    metadata :: (Core.Maybe Operation_Metadata),+    -- | The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the @name@ should be a resource name ending with @operations\/{unique_id}@.+    name :: (Core.Maybe Core.Text),+    -- | The normal, successful response of the operation. If the original method returns no data on success, such as @Delete@, the response is @google.protobuf.Empty@. If the original method is standard @Get@\/@Create@\/@Update@, the response should be the resource. For other methods, the response should have the type @XxxResponse@, where @Xxx@ is the original method name. For example, if the original method name is @TakeSnapshot()@, the inferred response type is @TakeSnapshotResponse@.+    response :: (Core.Maybe Operation_Response)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Operation' with the minimum fields required to make a request.+newOperation ::+  Operation+newOperation =+  Operation+    { done = Core.Nothing,+      error = Core.Nothing,+      metadata = Core.Nothing,+      name = Core.Nothing,+      response = Core.Nothing+    }++instance Core.FromJSON Operation where+  parseJSON =+    Core.withObject+      "Operation"+      ( \o ->+          Operation+            Core.<$> (o Core..:? "done")+            Core.<*> (o Core..:? "error")+            Core.<*> (o Core..:? "metadata")+            Core.<*> (o Core..:? "name")+            Core.<*> (o Core..:? "response")+      )++instance Core.ToJSON Operation where+  toJSON Operation {..} =+    Core.object+      ( Core.catMaybes+          [ ("done" Core..=) Core.<$> done,+            ("error" Core..=) Core.<$> error,+            ("metadata" Core..=) Core.<$> metadata,+            ("name" Core..=) Core.<$> name,+            ("response" Core..=) Core.<$> response+          ]+      )++-- | Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.+--+-- /See:/ 'newOperation_Metadata' smart constructor.+newtype Operation_Metadata = Operation_Metadata+  { -- | Properties of the object. Contains field \@type with type URL.+    additional :: (Core.HashMap Core.Text Core.Value)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Operation_Metadata' with the minimum fields required to make a request.+newOperation_Metadata ::+  -- |  Properties of the object. Contains field \@type with type URL. See 'additional'.+  Core.HashMap Core.Text Core.Value ->+  Operation_Metadata+newOperation_Metadata additional =+  Operation_Metadata {additional = additional}++instance Core.FromJSON Operation_Metadata where+  parseJSON =+    Core.withObject+      "Operation_Metadata"+      (\o -> Operation_Metadata Core.<$> (Core.parseJSONObject o))++instance Core.ToJSON Operation_Metadata where+  toJSON Operation_Metadata {..} = Core.toJSON additional++-- | The normal, successful response of the operation. If the original method returns no data on success, such as @Delete@, the response is @google.protobuf.Empty@. If the original method is standard @Get@\/@Create@\/@Update@, the response should be the resource. For other methods, the response should have the type @XxxResponse@, where @Xxx@ is the original method name. For example, if the original method name is @TakeSnapshot()@, the inferred response type is @TakeSnapshotResponse@.+--+-- /See:/ 'newOperation_Response' smart constructor.+newtype Operation_Response = Operation_Response+  { -- | Properties of the object. Contains field \@type with type URL.+    additional :: (Core.HashMap Core.Text Core.Value)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Operation_Response' with the minimum fields required to make a request.+newOperation_Response ::+  -- |  Properties of the object. Contains field \@type with type URL. See 'additional'.+  Core.HashMap Core.Text Core.Value ->+  Operation_Response+newOperation_Response additional =+  Operation_Response {additional = additional}++instance Core.FromJSON Operation_Response where+  parseJSON =+    Core.withObject+      "Operation_Response"+      (\o -> Operation_Response Core.<$> (Core.parseJSONObject o))++instance Core.ToJSON Operation_Response where+  toJSON Operation_Response {..} = Core.toJSON additional++-- | A Policy resource binds an instance of a single Setting with the scope of a PolicyQuery. The Setting instance will be applied to all entities that satisfy the query.+--+-- /See:/ 'newPolicy' smart constructor.+data Policy = Policy+  { -- | Immutable. Customer that the Policy belongs to. The value is in the format \'customers\/{customerId}\'. The @customerId@ must begin with \"C\" To find your customer ID in Admin Console see https:\/\/support.google.com\/a\/answer\/10070793.+    customer :: (Core.Maybe Core.Text),+    -- | Output only. Identifier. The <https://cloud.google.com/apis/design/resource_names resource name> of the Policy. Format: policies\/{policy}.+    name :: (Core.Maybe Core.Text),+    -- | Required. The PolicyQuery the Setting applies to.+    policyQuery :: (Core.Maybe PolicyQuery),+    -- | Required. The Setting configured by this Policy.+    setting :: (Core.Maybe Setting),+    -- | Output only. The type of the policy.+    type' :: (Core.Maybe Policy_Type)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Policy' with the minimum fields required to make a request.+newPolicy ::+  Policy+newPolicy =+  Policy+    { customer = Core.Nothing,+      name = Core.Nothing,+      policyQuery = Core.Nothing,+      setting = Core.Nothing,+      type' = Core.Nothing+    }++instance Core.FromJSON Policy where+  parseJSON =+    Core.withObject+      "Policy"+      ( \o ->+          Policy+            Core.<$> (o Core..:? "customer")+            Core.<*> (o Core..:? "name")+            Core.<*> (o Core..:? "policyQuery")+            Core.<*> (o Core..:? "setting")+            Core.<*> (o Core..:? "type")+      )++instance Core.ToJSON Policy where+  toJSON Policy {..} =+    Core.object+      ( Core.catMaybes+          [ ("customer" Core..=) Core.<$> customer,+            ("name" Core..=) Core.<$> name,+            ("policyQuery" Core..=) Core.<$> policyQuery,+            ("setting" Core..=) Core.<$> setting,+            ("type" Core..=) Core.<$> type'+          ]+      )++-- | PolicyQuery+--+-- /See:/ 'newPolicyQuery' smart constructor.+data PolicyQuery = PolicyQuery+  { -- | Immutable. The group that the query applies to. This field is only set if there is a single value for group that satisfies all clauses of the query. If no group applies, this will be the empty string.+    group' :: (Core.Maybe Core.Text),+    -- | Required. Immutable. Non-empty default. The OrgUnit the query applies to. This field is only set if there is a single value for org_unit that satisfies all clauses of the query.+    orgUnit :: (Core.Maybe Core.Text),+    -- | Immutable. The CEL query that defines which entities the Policy applies to (ex. a User entity). For details about CEL see https:\/\/opensource.google.com\/projects\/cel. The OrgUnits the Policy applies to are represented by a clause like so: entity.org/units.exists(org/unit, org/unit.org/unit/id == orgUnitId(\'{orgUnitId}\')) The Group the Policy applies to are represented by a clause like so: entity.groups.exists(group, group.group/id == groupId(\'{groupId}\')) The Licenses the Policy applies to are represented by a clause like so: entity.licenses.exists(license, license in [\'\/product\/{productId}\/sku\/{skuId}\']) The above clauses can be present in any combination, and used in conjunction with the &&, || and ! operators. The org_unit and group fields below are helper fields that contain the corresponding value(s) as the query to make the query easier to use.+    query :: (Core.Maybe Core.Text),+    -- | Output only. The decimal sort order of this PolicyQuery. The value is relative to all other policies with the same setting type for the customer. (There are no duplicates within this set).+    sortOrder :: (Core.Maybe Core.Double)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'PolicyQuery' with the minimum fields required to make a request.+newPolicyQuery ::+  PolicyQuery+newPolicyQuery =+  PolicyQuery+    { group' = Core.Nothing,+      orgUnit = Core.Nothing,+      query = Core.Nothing,+      sortOrder = Core.Nothing+    }++instance Core.FromJSON PolicyQuery where+  parseJSON =+    Core.withObject+      "PolicyQuery"+      ( \o ->+          PolicyQuery+            Core.<$> (o Core..:? "group")+            Core.<*> (o Core..:? "orgUnit")+            Core.<*> (o Core..:? "query")+            Core.<*> (o Core..:? "sortOrder")+      )++instance Core.ToJSON PolicyQuery where+  toJSON PolicyQuery {..} =+    Core.object+      ( Core.catMaybes+          [ ("group" Core..=) Core.<$> group',+            ("orgUnit" Core..=) Core.<$> orgUnit,+            ("query" Core..=) Core.<$> query,+            ("sortOrder" Core..=) Core.<$> sortOrder+          ]+      )++-- | The evaluated state of this restriction.+--+-- /See:/ 'newRestrictionEvaluation' smart constructor.+newtype RestrictionEvaluation = RestrictionEvaluation+  { -- | Output only. The current state of the restriction+    state :: (Core.Maybe RestrictionEvaluation_State)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RestrictionEvaluation' with the minimum fields required to make a request.+newRestrictionEvaluation ::+  RestrictionEvaluation+newRestrictionEvaluation =+  RestrictionEvaluation {state = Core.Nothing}++instance Core.FromJSON RestrictionEvaluation where+  parseJSON =+    Core.withObject+      "RestrictionEvaluation"+      (\o -> RestrictionEvaluation Core.<$> (o Core..:? "state"))++instance Core.ToJSON RestrictionEvaluation where+  toJSON RestrictionEvaluation {..} =+    Core.object (Core.catMaybes [("state" Core..=) Core.<$> state])++-- | Evaluations of restrictions applied to parent group on this membership.+--+-- /See:/ 'newRestrictionEvaluations' smart constructor.+newtype RestrictionEvaluations = RestrictionEvaluations+  { -- | Evaluation of the member restriction applied to this membership. Empty if the user lacks permission to view the restriction evaluation.+    memberRestrictionEvaluation :: (Core.Maybe MembershipRoleRestrictionEvaluation)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RestrictionEvaluations' with the minimum fields required to make a request.+newRestrictionEvaluations ::+  RestrictionEvaluations+newRestrictionEvaluations =+  RestrictionEvaluations+    { memberRestrictionEvaluation =+        Core.Nothing+    }++instance Core.FromJSON RestrictionEvaluations where+  parseJSON =+    Core.withObject+      "RestrictionEvaluations"+      ( \o ->+          RestrictionEvaluations+            Core.<$> (o Core..:? "memberRestrictionEvaluation")+      )++instance Core.ToJSON RestrictionEvaluations where+  toJSON RestrictionEvaluations {..} =+    Core.object+      ( Core.catMaybes+          [ ("memberRestrictionEvaluation" Core..=)+              Core.<$> memberRestrictionEvaluation+          ]+      )++-- | Information of a RSA public key.+--+-- /See:/ 'newRsaPublicKeyInfo' smart constructor.+newtype RsaPublicKeyInfo = RsaPublicKeyInfo+  { -- | Key size in bits (size of the modulus).+    keySize :: (Core.Maybe Core.Int32)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'RsaPublicKeyInfo' with the minimum fields required to make a request.+newRsaPublicKeyInfo ::+  RsaPublicKeyInfo+newRsaPublicKeyInfo = RsaPublicKeyInfo {keySize = Core.Nothing}++instance Core.FromJSON RsaPublicKeyInfo where+  parseJSON =+    Core.withObject+      "RsaPublicKeyInfo"+      (\o -> RsaPublicKeyInfo Core.<$> (o Core..:? "keySize"))++instance Core.ToJSON RsaPublicKeyInfo where+  toJSON RsaPublicKeyInfo {..} =+    Core.object+      (Core.catMaybes [("keySize" Core..=) Core.<$> keySize])++-- | SAML IDP (identity provider) configuration.+--+-- /See:/ 'newSamlIdpConfig' smart constructor.+data SamlIdpConfig = SamlIdpConfig+  { -- | The __Change Password URL__ of the identity provider. Users will be sent to this URL when changing their passwords at @myaccount.google.com@. This takes precedence over the change password URL configured at customer-level. Must use @HTTPS@.+    changePasswordUri :: (Core.Maybe Core.Text),+    -- | Required. The SAML __Entity ID__ of the identity provider.+    entityId :: (Core.Maybe Core.Text),+    -- | The __Logout Redirect URL__ (sign-out page URL) of the identity provider. When a user clicks the sign-out link on a Google page, they will be redirected to this URL. This is a pure redirect with no attached SAML @LogoutRequest@ i.e. SAML single logout is not supported. Must use @HTTPS@.+    logoutRedirectUri :: (Core.Maybe Core.Text),+    -- | Required. The @SingleSignOnService@ endpoint location (sign-in page URL) of the identity provider. This is the URL where the @AuthnRequest@ will be sent. Must use @HTTPS@. Assumed to accept the @HTTP-Redirect@ binding.+    singleSignOnServiceUri :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SamlIdpConfig' with the minimum fields required to make a request.+newSamlIdpConfig ::+  SamlIdpConfig+newSamlIdpConfig =+  SamlIdpConfig+    { changePasswordUri = Core.Nothing,+      entityId = Core.Nothing,+      logoutRedirectUri = Core.Nothing,+      singleSignOnServiceUri = Core.Nothing+    }++instance Core.FromJSON SamlIdpConfig where+  parseJSON =+    Core.withObject+      "SamlIdpConfig"+      ( \o ->+          SamlIdpConfig+            Core.<$> (o Core..:? "changePasswordUri")+            Core.<*> (o Core..:? "entityId")+            Core.<*> (o Core..:? "logoutRedirectUri")+            Core.<*> (o Core..:? "singleSignOnServiceUri")+      )++instance Core.ToJSON SamlIdpConfig where+  toJSON SamlIdpConfig {..} =+    Core.object+      ( Core.catMaybes+          [ ("changePasswordUri" Core..=) Core.<$> changePasswordUri,+            ("entityId" Core..=) Core.<$> entityId,+            ("logoutRedirectUri" Core..=) Core.<$> logoutRedirectUri,+            ("singleSignOnServiceUri" Core..=)+              Core.<$> singleSignOnServiceUri+          ]+      )++-- | SAML SP (service provider) configuration.+--+-- /See:/ 'newSamlSpConfig' smart constructor.+data SamlSpConfig = SamlSpConfig+  { -- | Output only. The SAML __Assertion Consumer Service (ACS) URL__ to be used for the IDP-initiated login. Assumed to accept response messages via the @HTTP-POST@ binding.+    assertionConsumerServiceUri :: (Core.Maybe Core.Text),+    -- | Output only. The SAML __Entity ID__ for this service provider.+    entityId :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SamlSpConfig' with the minimum fields required to make a request.+newSamlSpConfig ::+  SamlSpConfig+newSamlSpConfig =+  SamlSpConfig+    { assertionConsumerServiceUri = Core.Nothing,+      entityId = Core.Nothing+    }++instance Core.FromJSON SamlSpConfig where+  parseJSON =+    Core.withObject+      "SamlSpConfig"+      ( \o ->+          SamlSpConfig+            Core.<$> (o Core..:? "assertionConsumerServiceUri")+            Core.<*> (o Core..:? "entityId")+      )++instance Core.ToJSON SamlSpConfig where+  toJSON SamlSpConfig {..} =+    Core.object+      ( Core.catMaybes+          [ ("assertionConsumerServiceUri" Core..=)+              Core.<$> assertionConsumerServiceUri,+            ("entityId" Core..=) Core.<$> entityId+          ]+      )++-- | Details that are applicable when @sso_mode@ == @SAML_SSO@.+--+-- /See:/ 'newSamlSsoInfo' smart constructor.+newtype SamlSsoInfo = SamlSsoInfo+  { -- | Required. Name of the @InboundSamlSsoProfile@ to use. Must be of the form @inboundSamlSsoProfiles\/{inbound_saml_sso_profile}@.+    inboundSamlSsoProfile :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SamlSsoInfo' with the minimum fields required to make a request.+newSamlSsoInfo ::+  SamlSsoInfo+newSamlSsoInfo = SamlSsoInfo {inboundSamlSsoProfile = Core.Nothing}++instance Core.FromJSON SamlSsoInfo where+  parseJSON =+    Core.withObject+      "SamlSsoInfo"+      (\o -> SamlSsoInfo Core.<$> (o Core..:? "inboundSamlSsoProfile"))++instance Core.ToJSON SamlSsoInfo where+  toJSON SamlSsoInfo {..} =+    Core.object+      ( Core.catMaybes+          [("inboundSamlSsoProfile" Core..=) Core.<$> inboundSamlSsoProfile]+      )++-- | The response message for MembershipsService.SearchDirectGroups.+--+-- /See:/ 'newSearchDirectGroupsResponse' smart constructor.+data SearchDirectGroupsResponse = SearchDirectGroupsResponse+  { -- | List of direct groups satisfying the query.+    memberships :: (Core.Maybe [MembershipRelation]),+    -- | Token to retrieve the next page of results, or empty if there are no more results available for listing.+    nextPageToken :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SearchDirectGroupsResponse' with the minimum fields required to make a request.+newSearchDirectGroupsResponse ::+  SearchDirectGroupsResponse+newSearchDirectGroupsResponse =+  SearchDirectGroupsResponse+    { memberships = Core.Nothing,+      nextPageToken = Core.Nothing+    }++instance Core.FromJSON SearchDirectGroupsResponse where+  parseJSON =+    Core.withObject+      "SearchDirectGroupsResponse"+      ( \o ->+          SearchDirectGroupsResponse+            Core.<$> (o Core..:? "memberships")+            Core.<*> (o Core..:? "nextPageToken")+      )++instance Core.ToJSON SearchDirectGroupsResponse where+  toJSON SearchDirectGroupsResponse {..} =+    Core.object+      ( Core.catMaybes+          [ ("memberships" Core..=) Core.<$> memberships,+            ("nextPageToken" Core..=) Core.<$> nextPageToken+          ]+      )++-- | The response message for GroupsService.SearchGroups.+--+-- /See:/ 'newSearchGroupsResponse' smart constructor.+data SearchGroupsResponse = SearchGroupsResponse+  { -- | The @Group@ resources that match the search query.+    groups :: (Core.Maybe [Group]),+    -- | A continuation token to retrieve the next page of results, or empty if there are no more results available.+    nextPageToken :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SearchGroupsResponse' with the minimum fields required to make a request.+newSearchGroupsResponse ::+  SearchGroupsResponse+newSearchGroupsResponse =+  SearchGroupsResponse+    { groups = Core.Nothing,+      nextPageToken = Core.Nothing+    }++instance Core.FromJSON SearchGroupsResponse where+  parseJSON =+    Core.withObject+      "SearchGroupsResponse"+      ( \o ->+          SearchGroupsResponse+            Core.<$> (o Core..:? "groups")+            Core.<*> (o Core..:? "nextPageToken")+      )++instance Core.ToJSON SearchGroupsResponse where+  toJSON SearchGroupsResponse {..} =+    Core.object+      ( Core.catMaybes+          [ ("groups" Core..=) Core.<$> groups,+            ("nextPageToken" Core..=) Core.<$> nextPageToken+          ]+      )++-- | The response message for MembershipsService.SearchTransitiveGroups.+--+-- /See:/ 'newSearchTransitiveGroupsResponse' smart constructor.+data SearchTransitiveGroupsResponse = SearchTransitiveGroupsResponse+  { -- | List of transitive groups satisfying the query.+    memberships :: (Core.Maybe [GroupRelation]),+    -- | Token to retrieve the next page of results, or empty if there are no more results available for listing.+    nextPageToken :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SearchTransitiveGroupsResponse' with the minimum fields required to make a request.+newSearchTransitiveGroupsResponse ::+  SearchTransitiveGroupsResponse+newSearchTransitiveGroupsResponse =+  SearchTransitiveGroupsResponse+    { memberships = Core.Nothing,+      nextPageToken = Core.Nothing+    }++instance Core.FromJSON SearchTransitiveGroupsResponse where+  parseJSON =+    Core.withObject+      "SearchTransitiveGroupsResponse"+      ( \o ->+          SearchTransitiveGroupsResponse+            Core.<$> (o Core..:? "memberships")+            Core.<*> (o Core..:? "nextPageToken")+      )++instance Core.ToJSON SearchTransitiveGroupsResponse where+  toJSON SearchTransitiveGroupsResponse {..} =+    Core.object+      ( Core.catMaybes+          [ ("memberships" Core..=) Core.<$> memberships,+            ("nextPageToken" Core..=) Core.<$> nextPageToken+          ]+      )++-- | The response message for MembershipsService.SearchTransitiveMemberships.+--+-- /See:/ 'newSearchTransitiveMembershipsResponse' smart constructor.+data SearchTransitiveMembershipsResponse = SearchTransitiveMembershipsResponse+  { -- | List of transitive members satisfying the query.+    memberships :: (Core.Maybe [MemberRelation]),+    -- | Token to retrieve the next page of results, or empty if there are no more results.+    nextPageToken :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SearchTransitiveMembershipsResponse' with the minimum fields required to make a request.+newSearchTransitiveMembershipsResponse ::+  SearchTransitiveMembershipsResponse+newSearchTransitiveMembershipsResponse =+  SearchTransitiveMembershipsResponse+    { memberships = Core.Nothing,+      nextPageToken = Core.Nothing+    }++instance Core.FromJSON SearchTransitiveMembershipsResponse where+  parseJSON =+    Core.withObject+      "SearchTransitiveMembershipsResponse"+      ( \o ->+          SearchTransitiveMembershipsResponse+            Core.<$> (o Core..:? "memberships")+            Core.<*> (o Core..:? "nextPageToken")+      )++instance Core.ToJSON SearchTransitiveMembershipsResponse where+  toJSON SearchTransitiveMembershipsResponse {..} =+    Core.object+      ( Core.catMaybes+          [ ("memberships" Core..=) Core.<$> memberships,+            ("nextPageToken" Core..=) Core.<$> nextPageToken+          ]+      )++-- | The definition of security settings.+--+-- /See:/ 'newSecuritySettings' smart constructor.+data SecuritySettings = SecuritySettings+  { -- | The Member Restriction value+    memberRestriction :: (Core.Maybe MemberRestriction),+    -- | Output only. The resource name of the security settings. Shall be of the form @groups\/{group_id}\/securitySettings@.+    name :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SecuritySettings' with the minimum fields required to make a request.+newSecuritySettings ::+  SecuritySettings+newSecuritySettings =+  SecuritySettings+    { memberRestriction = Core.Nothing,+      name = Core.Nothing+    }++instance Core.FromJSON SecuritySettings where+  parseJSON =+    Core.withObject+      "SecuritySettings"+      ( \o ->+          SecuritySettings+            Core.<$> (o Core..:? "memberRestriction")+            Core.<*> (o Core..:? "name")+      )++instance Core.ToJSON SecuritySettings where+  toJSON SecuritySettings {..} =+    Core.object+      ( Core.catMaybes+          [ ("memberRestriction" Core..=) Core.<$> memberRestriction,+            ("name" Core..=) Core.<$> name+          ]+      )++-- | A request to send email for inviting target user corresponding to the UserInvitation.+--+-- /See:/ 'newSendUserInvitationRequest' smart constructor.+data SendUserInvitationRequest = SendUserInvitationRequest+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SendUserInvitationRequest' with the minimum fields required to make a request.+newSendUserInvitationRequest ::+  SendUserInvitationRequest+newSendUserInvitationRequest = SendUserInvitationRequest++instance Core.FromJSON SendUserInvitationRequest where+  parseJSON =+    Core.withObject+      "SendUserInvitationRequest"+      (\o -> Core.pure SendUserInvitationRequest)++instance Core.ToJSON SendUserInvitationRequest where+  toJSON = Core.const Core.emptyObject++-- | Setting+--+-- /See:/ 'newSetting' smart constructor.+data Setting = Setting+  { -- | Required. Immutable. The type of the Setting. .+    type' :: (Core.Maybe Core.Text),+    -- | Required. The value of the Setting.+    value :: (Core.Maybe Setting_Value)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Setting' with the minimum fields required to make a request.+newSetting ::+  Setting+newSetting = Setting {type' = Core.Nothing, value = Core.Nothing}++instance Core.FromJSON Setting where+  parseJSON =+    Core.withObject+      "Setting"+      ( \o ->+          Setting Core.<$> (o Core..:? "type") Core.<*> (o Core..:? "value")+      )++instance Core.ToJSON Setting where+  toJSON Setting {..} =+    Core.object+      ( Core.catMaybes+          [ ("type" Core..=) Core.<$> type',+            ("value" Core..=) Core.<$> value+          ]+      )++-- | Required. The value of the Setting.+--+-- /See:/ 'newSetting_Value' smart constructor.+newtype Setting_Value = Setting_Value+  { -- | Properties of the object.+    additional :: (Core.HashMap Core.Text Core.Value)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Setting_Value' with the minimum fields required to make a request.+newSetting_Value ::+  -- |  Properties of the object. See 'additional'.+  Core.HashMap Core.Text Core.Value ->+  Setting_Value+newSetting_Value additional =+  Setting_Value {additional = additional}++instance Core.FromJSON Setting_Value where+  parseJSON =+    Core.withObject+      "Setting_Value"+      (\o -> Setting_Value Core.<$> (Core.parseJSONObject o))++instance Core.ToJSON Setting_Value where+  toJSON Setting_Value {..} = Core.toJSON additional++-- | Controls sign-in behavior.+--+-- /See:/ 'newSignInBehavior' smart constructor.+newtype SignInBehavior = SignInBehavior+  { -- | When to redirect sign-ins to the IdP.+    redirectCondition :: (Core.Maybe SignInBehavior_RedirectCondition)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'SignInBehavior' with the minimum fields required to make a request.+newSignInBehavior ::+  SignInBehavior+newSignInBehavior =+  SignInBehavior {redirectCondition = Core.Nothing}++instance Core.FromJSON SignInBehavior where+  parseJSON =+    Core.withObject+      "SignInBehavior"+      (\o -> SignInBehavior Core.<$> (o Core..:? "redirectCondition"))++instance Core.ToJSON SignInBehavior where+  toJSON SignInBehavior {..} =+    Core.object+      ( Core.catMaybes+          [("redirectCondition" Core..=) Core.<$> redirectCondition]+      )++-- | The @Status@ type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by <https://github.com/grpc gRPC>. Each @Status@ message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the <https://cloud.google.com/apis/design/errors API Design Guide>.+--+-- /See:/ 'newStatus' smart constructor.+data Status = Status+  { -- | The status code, which should be an enum value of google.rpc.Code.+    code :: (Core.Maybe Core.Int32),+    -- | A list of messages that carry the error details. There is a common set of message types for APIs to use.+    details :: (Core.Maybe [Status_DetailsItem]),+    -- | A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.+    message :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Status' with the minimum fields required to make a request.+newStatus ::+  Status+newStatus =+  Status+    { code = Core.Nothing,+      details = Core.Nothing,+      message = Core.Nothing+    }++instance Core.FromJSON Status where+  parseJSON =+    Core.withObject+      "Status"+      ( \o ->+          Status+            Core.<$> (o Core..:? "code")+            Core.<*> (o Core..:? "details")+            Core.<*> (o Core..:? "message")+      )++instance Core.ToJSON Status where+  toJSON Status {..} =+    Core.object+      ( Core.catMaybes+          [ ("code" Core..=) Core.<$> code,+            ("details" Core..=) Core.<$> details,+            ("message" Core..=) Core.<$> message+          ]+      )++--+-- /See:/ 'newStatus_DetailsItem' smart constructor.+newtype Status_DetailsItem = Status_DetailsItem+  { -- | Properties of the object. Contains field \@type with type URL.+    additional :: (Core.HashMap Core.Text Core.Value)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'Status_DetailsItem' with the minimum fields required to make a request.+newStatus_DetailsItem ::+  -- |  Properties of the object. Contains field \@type with type URL. See 'additional'.+  Core.HashMap Core.Text Core.Value ->+  Status_DetailsItem+newStatus_DetailsItem additional =+  Status_DetailsItem {additional = additional}++instance Core.FromJSON Status_DetailsItem where+  parseJSON =+    Core.withObject+      "Status_DetailsItem"+      (\o -> Status_DetailsItem Core.<$> (Core.parseJSONObject o))++instance Core.ToJSON Status_DetailsItem where+  toJSON Status_DetailsItem {..} = Core.toJSON additional++-- | Message representing the role of a TransitiveMembership.+--+-- /See:/ 'newTransitiveMembershipRole' smart constructor.+newtype TransitiveMembershipRole = TransitiveMembershipRole+  { -- | TransitiveMembershipRole in string format. Currently supported TransitiveMembershipRoles: @\"MEMBER\"@, @\"OWNER\"@, and @\"MANAGER\"@.+    role' :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'TransitiveMembershipRole' with the minimum fields required to make a request.+newTransitiveMembershipRole ::+  TransitiveMembershipRole+newTransitiveMembershipRole =+  TransitiveMembershipRole {role' = Core.Nothing}++instance Core.FromJSON TransitiveMembershipRole where+  parseJSON =+    Core.withObject+      "TransitiveMembershipRole"+      (\o -> TransitiveMembershipRole Core.<$> (o Core..:? "role"))++instance Core.ToJSON TransitiveMembershipRole where+  toJSON TransitiveMembershipRole {..} =+    Core.object (Core.catMaybes [("role" Core..=) Core.<$> role'])++-- | Metadata for UpdateGroup LRO.+--+-- /See:/ 'newUpdateGroupMetadata' smart constructor.+data UpdateGroupMetadata = UpdateGroupMetadata+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'UpdateGroupMetadata' with the minimum fields required to make a request.+newUpdateGroupMetadata ::+  UpdateGroupMetadata+newUpdateGroupMetadata = UpdateGroupMetadata++instance Core.FromJSON UpdateGroupMetadata where+  parseJSON =+    Core.withObject+      "UpdateGroupMetadata"+      (\o -> Core.pure UpdateGroupMetadata)++instance Core.ToJSON UpdateGroupMetadata where+  toJSON = Core.const Core.emptyObject++-- | LRO response metadata for InboundSamlSsoProfilesService.UpdateInboundSamlSsoProfile.+--+-- /See:/ 'newUpdateInboundSamlSsoProfileOperationMetadata' smart constructor.+newtype UpdateInboundSamlSsoProfileOperationMetadata = UpdateInboundSamlSsoProfileOperationMetadata+  { -- | State of this Operation Will be \"awaiting-multi-party-approval\" when the operation is deferred due to the target customer having enabled <https://support.google.com/a/answer/13790448 Multi-party approval for sensitive actions>.+    state :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'UpdateInboundSamlSsoProfileOperationMetadata' with the minimum fields required to make a request.+newUpdateInboundSamlSsoProfileOperationMetadata ::+  UpdateInboundSamlSsoProfileOperationMetadata+newUpdateInboundSamlSsoProfileOperationMetadata =+  UpdateInboundSamlSsoProfileOperationMetadata+    { state =+        Core.Nothing+    }++instance Core.FromJSON UpdateInboundSamlSsoProfileOperationMetadata where+  parseJSON =+    Core.withObject+      "UpdateInboundSamlSsoProfileOperationMetadata"+      ( \o ->+          UpdateInboundSamlSsoProfileOperationMetadata+            Core.<$> (o Core..:? "state")+      )++instance Core.ToJSON UpdateInboundSamlSsoProfileOperationMetadata where+  toJSON UpdateInboundSamlSsoProfileOperationMetadata {..} =+    Core.object (Core.catMaybes [("state" Core..=) Core.<$> state])++-- | LRO response metadata for InboundSsoAssignmentsService.UpdateInboundSsoAssignment.+--+-- /See:/ 'newUpdateInboundSsoAssignmentOperationMetadata' smart constructor.+data UpdateInboundSsoAssignmentOperationMetadata = UpdateInboundSsoAssignmentOperationMetadata+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'UpdateInboundSsoAssignmentOperationMetadata' with the minimum fields required to make a request.+newUpdateInboundSsoAssignmentOperationMetadata ::+  UpdateInboundSsoAssignmentOperationMetadata+newUpdateInboundSsoAssignmentOperationMetadata =+  UpdateInboundSsoAssignmentOperationMetadata++instance Core.FromJSON UpdateInboundSsoAssignmentOperationMetadata where+  parseJSON =+    Core.withObject+      "UpdateInboundSsoAssignmentOperationMetadata"+      (\o -> Core.pure UpdateInboundSsoAssignmentOperationMetadata)++instance Core.ToJSON UpdateInboundSsoAssignmentOperationMetadata where+  toJSON = Core.const Core.emptyObject++-- | Metadata for UpdateMembership LRO.+--+-- /See:/ 'newUpdateMembershipMetadata' smart constructor.+data UpdateMembershipMetadata = UpdateMembershipMetadata+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'UpdateMembershipMetadata' with the minimum fields required to make a request.+newUpdateMembershipMetadata ::+  UpdateMembershipMetadata+newUpdateMembershipMetadata = UpdateMembershipMetadata++instance Core.FromJSON UpdateMembershipMetadata where+  parseJSON =+    Core.withObject+      "UpdateMembershipMetadata"+      (\o -> Core.pure UpdateMembershipMetadata)++instance Core.ToJSON UpdateMembershipMetadata where+  toJSON = Core.const Core.emptyObject++-- | The details of an update to a @MembershipRole@.+--+-- /See:/ 'newUpdateMembershipRolesParams' smart constructor.+data UpdateMembershipRolesParams = UpdateMembershipRolesParams+  { -- | The fully-qualified names of fields to update. May only contain the field @expiry_detail.expire_time@.+    fieldMask :: (Core.Maybe Core.FieldMask),+    -- | The @MembershipRole@s to be updated. Only @MEMBER@ @MembershipRole@ can currently be updated.+    membershipRole :: (Core.Maybe MembershipRole)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'UpdateMembershipRolesParams' with the minimum fields required to make a request.+newUpdateMembershipRolesParams ::+  UpdateMembershipRolesParams+newUpdateMembershipRolesParams =+  UpdateMembershipRolesParams+    { fieldMask = Core.Nothing,+      membershipRole = Core.Nothing+    }++instance Core.FromJSON UpdateMembershipRolesParams where+  parseJSON =+    Core.withObject+      "UpdateMembershipRolesParams"+      ( \o ->+          UpdateMembershipRolesParams+            Core.<$> (o Core..:? "fieldMask")+            Core.<*> (o Core..:? "membershipRole")+      )++instance Core.ToJSON UpdateMembershipRolesParams where+  toJSON UpdateMembershipRolesParams {..} =+    Core.object+      ( Core.catMaybes+          [ ("fieldMask" Core..=) Core.<$> fieldMask,+            ("membershipRole" Core..=) Core.<$> membershipRole+          ]+      )++-- | The @UserInvitation@ resource represents an email that can be sent to an unmanaged user account inviting them to join the customer\'s Google Workspace or Cloud Identity account. An unmanaged account shares an email address domain with the Google Workspace or Cloud Identity account but is not managed by it yet. If the user accepts the @UserInvitation@, the user account will become managed.+--+-- /See:/ 'newUserInvitation' smart constructor.+data UserInvitation = UserInvitation+  { -- | Number of invitation emails sent to the user.+    mailsSentCount :: (Core.Maybe Core.Int64),+    -- | Shall be of the form @customers\/{customer}\/userinvitations\/{user_email_address}@.+    name :: (Core.Maybe Core.Text),+    -- | State of the @UserInvitation@.+    state :: (Core.Maybe UserInvitation_State),+    -- | Time when the @UserInvitation@ was last updated.+    updateTime :: (Core.Maybe Core.DateTime)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'UserInvitation' with the minimum fields required to make a request.+newUserInvitation ::+  UserInvitation+newUserInvitation =+  UserInvitation+    { mailsSentCount = Core.Nothing,+      name = Core.Nothing,+      state = Core.Nothing,+      updateTime = Core.Nothing+    }++instance Core.FromJSON UserInvitation where+  parseJSON =+    Core.withObject+      "UserInvitation"+      ( \o ->+          UserInvitation+            Core.<$> (o Core..:? "mailsSentCount" Core.<&> Core.fmap Core.fromAsText)+            Core.<*> (o Core..:? "name")+            Core.<*> (o Core..:? "state")+            Core.<*> (o Core..:? "updateTime")+      )++instance Core.ToJSON UserInvitation where+  toJSON UserInvitation {..} =+    Core.object+      ( Core.catMaybes+          [ ("mailsSentCount" Core..=)+              Core.. Core.AsText+              Core.<$> mailsSentCount,+            ("name" Core..=) Core.<$> name,+            ("state" Core..=) Core.<$> state,+            ("updateTime" Core..=) Core.<$> updateTime+          ]+      )
+ gen/Gogol/CloudIdentity/Internal/Sum.hs view
@@ -0,0 +1,1645 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Internal.Sum+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Gogol.CloudIdentity.Internal.Sum+  ( -- * Xgafv+    Xgafv+      ( Xgafv_1,+        Xgafv_2,+        ..+      ),++    -- * DynamicGroupQuery_ResourceType+    DynamicGroupQuery_ResourceType+      ( DynamicGroupQuery_ResourceType_RESOURCETYPEUNSPECIFIED,+        DynamicGroupQuery_ResourceType_User,+        ..+      ),++    -- * DynamicGroupStatus_Status+    DynamicGroupStatus_Status+      ( DynamicGroupStatus_Status_STATUSUNSPECIFIED,+        DynamicGroupStatus_Status_UPTODATE,+        DynamicGroupStatus_Status_UPDATINGMEMBERSHIPS,+        DynamicGroupStatus_Status_INVALIDQUERY,+        ..+      ),++    -- * GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege+    GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege+      ( GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege_OWNERSHIPPRIVILEGEUNSPECIFIED,+        GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege_DEVICEADMINISTRATOR,+        GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege_PROFILEOWNER,+        GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege_DEVICEOWNER,+        ..+      ),++    -- * GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState+    GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState+      ( GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState_Unspecified,+        GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState_Unmanaged,+        GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState_MANAGEDBYOTHERDOMAIN,+        GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState_PROFILEMANAGED,+        GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState_BROWSERMANAGED,+        ..+      ),++    -- * GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger+    GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger+      ( GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger_PASSWORDPROTECTIONTRIGGERUNSPECIFIED,+        GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger_PROTECTIONOFF,+        GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger_PASSWORDREUSE,+        GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger_PHISHINGREUSE,+        ..+      ),++    -- * GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel+    GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel+      ( GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel_SAFEBROWSINGLEVELUNSPECIFIED,+        GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel_Disabled,+        GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel_Standard,+        GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel_Enhanced,+        ..+      ),++    -- * GoogleAppsCloudidentityDevicesV1CertificateAttributes_ValidationState+    GoogleAppsCloudidentityDevicesV1CertificateAttributes_ValidationState+      ( GoogleAppsCloudidentityDevicesV1CertificateAttributes_ValidationState_CERTIFICATEVALIDATIONSTATEUNSPECIFIED,+        GoogleAppsCloudidentityDevicesV1CertificateAttributes_ValidationState_VALIDATIONSUCCESSFUL,+        GoogleAppsCloudidentityDevicesV1CertificateAttributes_ValidationState_VALIDATIONFAILED,+        ..+      ),++    -- * GoogleAppsCloudidentityDevicesV1ClientState_ComplianceState+    GoogleAppsCloudidentityDevicesV1ClientState_ComplianceState+      ( GoogleAppsCloudidentityDevicesV1ClientState_ComplianceState_COMPLIANCESTATEUNSPECIFIED,+        GoogleAppsCloudidentityDevicesV1ClientState_ComplianceState_Compliant,+        GoogleAppsCloudidentityDevicesV1ClientState_ComplianceState_NONCOMPLIANT,+        ..+      ),++    -- * GoogleAppsCloudidentityDevicesV1ClientState_HealthScore+    GoogleAppsCloudidentityDevicesV1ClientState_HealthScore+      ( GoogleAppsCloudidentityDevicesV1ClientState_HealthScore_HEALTHSCOREUNSPECIFIED,+        GoogleAppsCloudidentityDevicesV1ClientState_HealthScore_VERYPOOR,+        GoogleAppsCloudidentityDevicesV1ClientState_HealthScore_Poor,+        GoogleAppsCloudidentityDevicesV1ClientState_HealthScore_Neutral,+        GoogleAppsCloudidentityDevicesV1ClientState_HealthScore_Good,+        GoogleAppsCloudidentityDevicesV1ClientState_HealthScore_VERYGOOD,+        ..+      ),++    -- * GoogleAppsCloudidentityDevicesV1ClientState_Managed+    GoogleAppsCloudidentityDevicesV1ClientState_Managed+      ( GoogleAppsCloudidentityDevicesV1ClientState_Managed_MANAGEDSTATEUNSPECIFIED,+        GoogleAppsCloudidentityDevicesV1ClientState_Managed_Managed,+        GoogleAppsCloudidentityDevicesV1ClientState_Managed_Unmanaged,+        ..+      ),++    -- * GoogleAppsCloudidentityDevicesV1ClientState_OwnerType+    GoogleAppsCloudidentityDevicesV1ClientState_OwnerType+      ( GoogleAppsCloudidentityDevicesV1ClientState_OwnerType_OWNERTYPEUNSPECIFIED,+        GoogleAppsCloudidentityDevicesV1ClientState_OwnerType_OWNERTYPECUSTOMER,+        GoogleAppsCloudidentityDevicesV1ClientState_OwnerType_OWNERTYPEPARTNER,+        ..+      ),++    -- * GoogleAppsCloudidentityDevicesV1Device_CompromisedState+    GoogleAppsCloudidentityDevicesV1Device_CompromisedState+      ( GoogleAppsCloudidentityDevicesV1Device_CompromisedState_COMPROMISEDSTATEUNSPECIFIED,+        GoogleAppsCloudidentityDevicesV1Device_CompromisedState_Compromised,+        GoogleAppsCloudidentityDevicesV1Device_CompromisedState_Uncompromised,+        ..+      ),++    -- * GoogleAppsCloudidentityDevicesV1Device_DeviceType+    GoogleAppsCloudidentityDevicesV1Device_DeviceType+      ( GoogleAppsCloudidentityDevicesV1Device_DeviceType_DEVICETYPEUNSPECIFIED,+        GoogleAppsCloudidentityDevicesV1Device_DeviceType_Android,+        GoogleAppsCloudidentityDevicesV1Device_DeviceType_Ios,+        GoogleAppsCloudidentityDevicesV1Device_DeviceType_GOOGLESYNC,+        GoogleAppsCloudidentityDevicesV1Device_DeviceType_Windows,+        GoogleAppsCloudidentityDevicesV1Device_DeviceType_MACOS,+        GoogleAppsCloudidentityDevicesV1Device_DeviceType_Linux,+        GoogleAppsCloudidentityDevicesV1Device_DeviceType_CHROMEOS,+        ..+      ),++    -- * GoogleAppsCloudidentityDevicesV1Device_EncryptionState+    GoogleAppsCloudidentityDevicesV1Device_EncryptionState+      ( GoogleAppsCloudidentityDevicesV1Device_EncryptionState_ENCRYPTIONSTATEUNSPECIFIED,+        GoogleAppsCloudidentityDevicesV1Device_EncryptionState_UNSUPPORTEDBYDEVICE,+        GoogleAppsCloudidentityDevicesV1Device_EncryptionState_Encrypted,+        GoogleAppsCloudidentityDevicesV1Device_EncryptionState_NOTENCRYPTED,+        ..+      ),++    -- * GoogleAppsCloudidentityDevicesV1Device_ManagementState+    GoogleAppsCloudidentityDevicesV1Device_ManagementState+      ( GoogleAppsCloudidentityDevicesV1Device_ManagementState_MANAGEMENTSTATEUNSPECIFIED,+        GoogleAppsCloudidentityDevicesV1Device_ManagementState_Approved,+        GoogleAppsCloudidentityDevicesV1Device_ManagementState_Blocked,+        GoogleAppsCloudidentityDevicesV1Device_ManagementState_Pending,+        GoogleAppsCloudidentityDevicesV1Device_ManagementState_Unprovisioned,+        GoogleAppsCloudidentityDevicesV1Device_ManagementState_Wiping,+        GoogleAppsCloudidentityDevicesV1Device_ManagementState_Wiped,+        ..+      ),++    -- * GoogleAppsCloudidentityDevicesV1Device_OwnerType+    GoogleAppsCloudidentityDevicesV1Device_OwnerType+      ( GoogleAppsCloudidentityDevicesV1Device_OwnerType_DEVICEOWNERSHIPUNSPECIFIED,+        GoogleAppsCloudidentityDevicesV1Device_OwnerType_Company,+        GoogleAppsCloudidentityDevicesV1Device_OwnerType_Byod,+        ..+      ),++    -- * GoogleAppsCloudidentityDevicesV1DeviceUser_CompromisedState+    GoogleAppsCloudidentityDevicesV1DeviceUser_CompromisedState+      ( GoogleAppsCloudidentityDevicesV1DeviceUser_CompromisedState_COMPROMISEDSTATEUNSPECIFIED,+        GoogleAppsCloudidentityDevicesV1DeviceUser_CompromisedState_Compromised,+        GoogleAppsCloudidentityDevicesV1DeviceUser_CompromisedState_NOTCOMPROMISED,+        ..+      ),++    -- * GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState+    GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState+      ( GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState_MANAGEMENTSTATEUNSPECIFIED,+        GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState_Wiping,+        GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState_Wiped,+        GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState_Approved,+        GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState_Blocked,+        GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState_PENDINGAPPROVAL,+        GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState_Unenrolled,+        ..+      ),++    -- * GoogleAppsCloudidentityDevicesV1DeviceUser_PasswordState+    GoogleAppsCloudidentityDevicesV1DeviceUser_PasswordState+      ( GoogleAppsCloudidentityDevicesV1DeviceUser_PasswordState_PASSWORDSTATEUNSPECIFIED,+        GoogleAppsCloudidentityDevicesV1DeviceUser_PasswordState_PASSWORDSET,+        GoogleAppsCloudidentityDevicesV1DeviceUser_PasswordState_PASSWORDNOTSET,+        ..+      ),++    -- * GroupRelation_RelationType+    GroupRelation_RelationType+      ( GroupRelation_RelationType_RELATIONTYPEUNSPECIFIED,+        GroupRelation_RelationType_Direct,+        GroupRelation_RelationType_Indirect,+        GroupRelation_RelationType_DIRECTANDINDIRECT,+        ..+      ),++    -- * InboundSsoAssignment_SsoMode+    InboundSsoAssignment_SsoMode+      ( InboundSsoAssignment_SsoMode_SSOMODEUNSPECIFIED,+        InboundSsoAssignment_SsoMode_SSOOFF,+        InboundSsoAssignment_SsoMode_SAMLSSO,+        InboundSsoAssignment_SsoMode_DOMAINWIDESAMLIFENABLED,+        ..+      ),++    -- * MemberRelation_RelationType+    MemberRelation_RelationType+      ( MemberRelation_RelationType_RELATIONTYPEUNSPECIFIED,+        MemberRelation_RelationType_Direct,+        MemberRelation_RelationType_Indirect,+        MemberRelation_RelationType_DIRECTANDINDIRECT,+        ..+      ),++    -- * Membership_DeliverySetting+    Membership_DeliverySetting+      ( Membership_DeliverySetting_DELIVERYSETTINGUNSPECIFIED,+        Membership_DeliverySetting_ALLMAIL,+        Membership_DeliverySetting_Digest,+        Membership_DeliverySetting_Daily,+        Membership_DeliverySetting_None,+        Membership_DeliverySetting_Disabled,+        ..+      ),++    -- * Membership_Type+    Membership_Type+      ( Membership_Type_TYPEUNSPECIFIED,+        Membership_Type_User,+        Membership_Type_SERVICEACCOUNT,+        Membership_Type_Group,+        Membership_Type_SHAREDDRIVE,+        Membership_Type_CBCMBROWSER,+        Membership_Type_Other,+        ..+      ),++    -- * MembershipRoleRestrictionEvaluation_State+    MembershipRoleRestrictionEvaluation_State+      ( MembershipRoleRestrictionEvaluation_State_STATEUNSPECIFIED,+        MembershipRoleRestrictionEvaluation_State_Compliant,+        MembershipRoleRestrictionEvaluation_State_FORWARDCOMPLIANT,+        MembershipRoleRestrictionEvaluation_State_NONCOMPLIANT,+        MembershipRoleRestrictionEvaluation_State_Evaluating,+        ..+      ),++    -- * Policy_Type+    Policy_Type+      ( Policy_Type_POLICYTYPEUNSPECIFIED,+        Policy_Type_System,+        Policy_Type_Admin,+        ..+      ),++    -- * RestrictionEvaluation_State+    RestrictionEvaluation_State+      ( RestrictionEvaluation_State_STATEUNSPECIFIED,+        RestrictionEvaluation_State_Evaluating,+        RestrictionEvaluation_State_Compliant,+        RestrictionEvaluation_State_FORWARDCOMPLIANT,+        RestrictionEvaluation_State_NONCOMPLIANT,+        ..+      ),++    -- * SignInBehavior_RedirectCondition+    SignInBehavior_RedirectCondition+      ( SignInBehavior_RedirectCondition_REDIRECTCONDITIONUNSPECIFIED,+        SignInBehavior_RedirectCondition_Never,+        ..+      ),++    -- * UserInvitation_State+    UserInvitation_State+      ( UserInvitation_State_STATEUNSPECIFIED,+        UserInvitation_State_NOTYETSENT,+        UserInvitation_State_Invited,+        UserInvitation_State_Accepted,+        UserInvitation_State_Declined,+        ..+      ),++    -- * DevicesListView+    DevicesListView+      ( DevicesListView_VIEWUNSPECIFIED,+        DevicesListView_COMPANYINVENTORY,+        DevicesListView_USERASSIGNEDDEVICES,+        ..+      ),++    -- * GroupsCreateInitialGroupConfig+    GroupsCreateInitialGroupConfig+      ( GroupsCreateInitialGroupConfig_INITIALGROUPCONFIGUNSPECIFIED,+        GroupsCreateInitialGroupConfig_WITHINITIALOWNER,+        GroupsCreateInitialGroupConfig_Empty,+        ..+      ),++    -- * GroupsListView+    GroupsListView+      ( GroupsListView_VIEWUNSPECIFIED,+        GroupsListView_Basic,+        GroupsListView_Full,+        ..+      ),++    -- * GroupsMembershipsListView+    GroupsMembershipsListView+      ( GroupsMembershipsListView_VIEWUNSPECIFIED,+        GroupsMembershipsListView_Basic,+        GroupsMembershipsListView_Full,+        ..+      ),++    -- * GroupsSearchView+    GroupsSearchView+      ( GroupsSearchView_VIEWUNSPECIFIED,+        GroupsSearchView_Basic,+        GroupsSearchView_Full,+        ..+      ),+  )+where++import Gogol.Prelude qualified as Core++-- | V1 error format.+newtype Xgafv = Xgafv {fromXgafv :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | v1 error format+pattern Xgafv_1 :: Xgafv+pattern Xgafv_1 = Xgafv "1"++-- | v2 error format+pattern Xgafv_2 :: Xgafv+pattern Xgafv_2 = Xgafv "2"++{-# COMPLETE+  Xgafv_1,+  Xgafv_2,+  Xgafv+  #-}++-- | Resource type for the Dynamic Group Query+newtype DynamicGroupQuery_ResourceType = DynamicGroupQuery_ResourceType {fromDynamicGroupQuery_ResourceType :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Default value (not valid)+pattern DynamicGroupQuery_ResourceType_RESOURCETYPEUNSPECIFIED :: DynamicGroupQuery_ResourceType+pattern DynamicGroupQuery_ResourceType_RESOURCETYPEUNSPECIFIED = DynamicGroupQuery_ResourceType "RESOURCE_TYPE_UNSPECIFIED"++-- | For queries on User+pattern DynamicGroupQuery_ResourceType_User :: DynamicGroupQuery_ResourceType+pattern DynamicGroupQuery_ResourceType_User = DynamicGroupQuery_ResourceType "USER"++{-# COMPLETE+  DynamicGroupQuery_ResourceType_RESOURCETYPEUNSPECIFIED,+  DynamicGroupQuery_ResourceType_User,+  DynamicGroupQuery_ResourceType+  #-}++-- | Status of the dynamic group.+newtype DynamicGroupStatus_Status = DynamicGroupStatus_Status {fromDynamicGroupStatus_Status :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Default.+pattern DynamicGroupStatus_Status_STATUSUNSPECIFIED :: DynamicGroupStatus_Status+pattern DynamicGroupStatus_Status_STATUSUNSPECIFIED = DynamicGroupStatus_Status "STATUS_UNSPECIFIED"++-- | The dynamic group is up-to-date.+pattern DynamicGroupStatus_Status_UPTODATE :: DynamicGroupStatus_Status+pattern DynamicGroupStatus_Status_UPTODATE = DynamicGroupStatus_Status "UP_TO_DATE"++-- | The dynamic group has just been created and memberships are being updated.+pattern DynamicGroupStatus_Status_UPDATINGMEMBERSHIPS :: DynamicGroupStatus_Status+pattern DynamicGroupStatus_Status_UPDATINGMEMBERSHIPS = DynamicGroupStatus_Status "UPDATING_MEMBERSHIPS"++-- | Group is in an unrecoverable state and its memberships can\'t be updated.+pattern DynamicGroupStatus_Status_INVALIDQUERY :: DynamicGroupStatus_Status+pattern DynamicGroupStatus_Status_INVALIDQUERY = DynamicGroupStatus_Status "INVALID_QUERY"++{-# COMPLETE+  DynamicGroupStatus_Status_STATUSUNSPECIFIED,+  DynamicGroupStatus_Status_UPTODATE,+  DynamicGroupStatus_Status_UPDATINGMEMBERSHIPS,+  DynamicGroupStatus_Status_INVALIDQUERY,+  DynamicGroupStatus_Status+  #-}++-- | Ownership privileges on device.+newtype GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege = GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege {fromGoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Ownership privilege is not set.+pattern GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege_OWNERSHIPPRIVILEGEUNSPECIFIED :: GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege+pattern GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege_OWNERSHIPPRIVILEGEUNSPECIFIED = GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege "OWNERSHIP_PRIVILEGE_UNSPECIFIED"++-- | Active device administrator privileges on the device.+pattern GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege_DEVICEADMINISTRATOR :: GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege+pattern GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege_DEVICEADMINISTRATOR = GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege "DEVICE_ADMINISTRATOR"++-- | Profile Owner privileges. The account is in a managed corporate profile.+pattern GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege_PROFILEOWNER :: GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege+pattern GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege_PROFILEOWNER = GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege "PROFILE_OWNER"++-- | Device Owner privileges on the device.+pattern GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege_DEVICEOWNER :: GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege+pattern GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege_DEVICEOWNER = GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege "DEVICE_OWNER"++{-# COMPLETE+  GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege_OWNERSHIPPRIVILEGEUNSPECIFIED,+  GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege_DEVICEADMINISTRATOR,+  GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege_PROFILEOWNER,+  GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege_DEVICEOWNER,+  GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege+  #-}++-- | Output only. Browser\'s management state.+newtype GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState = GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState {fromGoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Management state is not specified.+pattern GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState_Unspecified :: GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState+pattern GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState_Unspecified = GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState "UNSPECIFIED"++-- | Browser\/Profile is not managed by any customer.+pattern GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState_Unmanaged :: GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState+pattern GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState_Unmanaged = GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState "UNMANAGED"++-- | Browser\/Profile is managed, but by some other customer.+pattern GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState_MANAGEDBYOTHERDOMAIN :: GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState+pattern GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState_MANAGEDBYOTHERDOMAIN = GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState "MANAGED_BY_OTHER_DOMAIN"++-- | Profile is managed by customer.+pattern GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState_PROFILEMANAGED :: GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState+pattern GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState_PROFILEMANAGED = GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState "PROFILE_MANAGED"++-- | Browser is managed by customer.+pattern GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState_BROWSERMANAGED :: GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState+pattern GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState_BROWSERMANAGED = GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState "BROWSER_MANAGED"++{-# COMPLETE+  GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState_Unspecified,+  GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState_Unmanaged,+  GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState_MANAGEDBYOTHERDOMAIN,+  GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState_PROFILEMANAGED,+  GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState_BROWSERMANAGED,+  GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState+  #-}++-- | Current state of <https://chromeenterprise.google/policies/#PasswordProtectionWarningTrigger password protection trigger>.+newtype GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger = GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger {fromGoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Password protection is not specified.+pattern GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger_PASSWORDPROTECTIONTRIGGERUNSPECIFIED :: GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger+pattern GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger_PASSWORDPROTECTIONTRIGGERUNSPECIFIED = GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger "PASSWORD_PROTECTION_TRIGGER_UNSPECIFIED"++-- | Password reuse is never detected.+pattern GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger_PROTECTIONOFF :: GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger+pattern GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger_PROTECTIONOFF = GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger "PROTECTION_OFF"++-- | Warning is shown when the user reuses their protected password on a non-allowed site.+pattern GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger_PASSWORDREUSE :: GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger+pattern GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger_PASSWORDREUSE = GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger "PASSWORD_REUSE"++-- | Warning is shown when the user reuses their protected password on a phishing site.+pattern GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger_PHISHINGREUSE :: GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger+pattern GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger_PHISHINGREUSE = GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger "PHISHING_REUSE"++{-# COMPLETE+  GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger_PASSWORDPROTECTIONTRIGGERUNSPECIFIED,+  GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger_PROTECTIONOFF,+  GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger_PASSWORDREUSE,+  GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger_PHISHINGREUSE,+  GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger+  #-}++-- | Current state of <https://chromeenterprise.google/policies/#SafeBrowsingProtectionLevel Safe Browsing protection level>.+newtype GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel = GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel {fromGoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Browser protection level is not specified.+pattern GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel_SAFEBROWSINGLEVELUNSPECIFIED :: GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel+pattern GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel_SAFEBROWSINGLEVELUNSPECIFIED = GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel "SAFE_BROWSING_LEVEL_UNSPECIFIED"++-- | No protection against dangerous websites, downloads, and extensions.+pattern GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel_Disabled :: GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel+pattern GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel_Disabled = GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel "DISABLED"++-- | Standard protection against websites, downloads, and extensions that are known to be dangerous.+pattern GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel_Standard :: GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel+pattern GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel_Standard = GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel "STANDARD"++-- | Faster, proactive protection against dangerous websites, downloads, and extensions.+pattern GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel_Enhanced :: GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel+pattern GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel_Enhanced = GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel "ENHANCED"++{-# COMPLETE+  GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel_SAFEBROWSINGLEVELUNSPECIFIED,+  GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel_Disabled,+  GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel_Standard,+  GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel_Enhanced,+  GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel+  #-}++-- | Output only. Validation state of this certificate.+newtype GoogleAppsCloudidentityDevicesV1CertificateAttributes_ValidationState = GoogleAppsCloudidentityDevicesV1CertificateAttributes_ValidationState {fromGoogleAppsCloudidentityDevicesV1CertificateAttributes_ValidationState :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Default value.+pattern GoogleAppsCloudidentityDevicesV1CertificateAttributes_ValidationState_CERTIFICATEVALIDATIONSTATEUNSPECIFIED :: GoogleAppsCloudidentityDevicesV1CertificateAttributes_ValidationState+pattern GoogleAppsCloudidentityDevicesV1CertificateAttributes_ValidationState_CERTIFICATEVALIDATIONSTATEUNSPECIFIED = GoogleAppsCloudidentityDevicesV1CertificateAttributes_ValidationState "CERTIFICATE_VALIDATION_STATE_UNSPECIFIED"++-- | Certificate validation was successful.+pattern GoogleAppsCloudidentityDevicesV1CertificateAttributes_ValidationState_VALIDATIONSUCCESSFUL :: GoogleAppsCloudidentityDevicesV1CertificateAttributes_ValidationState+pattern GoogleAppsCloudidentityDevicesV1CertificateAttributes_ValidationState_VALIDATIONSUCCESSFUL = GoogleAppsCloudidentityDevicesV1CertificateAttributes_ValidationState "VALIDATION_SUCCESSFUL"++-- | Certificate validation failed.+pattern GoogleAppsCloudidentityDevicesV1CertificateAttributes_ValidationState_VALIDATIONFAILED :: GoogleAppsCloudidentityDevicesV1CertificateAttributes_ValidationState+pattern GoogleAppsCloudidentityDevicesV1CertificateAttributes_ValidationState_VALIDATIONFAILED = GoogleAppsCloudidentityDevicesV1CertificateAttributes_ValidationState "VALIDATION_FAILED"++{-# COMPLETE+  GoogleAppsCloudidentityDevicesV1CertificateAttributes_ValidationState_CERTIFICATEVALIDATIONSTATEUNSPECIFIED,+  GoogleAppsCloudidentityDevicesV1CertificateAttributes_ValidationState_VALIDATIONSUCCESSFUL,+  GoogleAppsCloudidentityDevicesV1CertificateAttributes_ValidationState_VALIDATIONFAILED,+  GoogleAppsCloudidentityDevicesV1CertificateAttributes_ValidationState+  #-}++-- | The compliance state of the resource as specified by the API client.+newtype GoogleAppsCloudidentityDevicesV1ClientState_ComplianceState = GoogleAppsCloudidentityDevicesV1ClientState_ComplianceState {fromGoogleAppsCloudidentityDevicesV1ClientState_ComplianceState :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | The compliance state of the resource is unknown or unspecified.+pattern GoogleAppsCloudidentityDevicesV1ClientState_ComplianceState_COMPLIANCESTATEUNSPECIFIED :: GoogleAppsCloudidentityDevicesV1ClientState_ComplianceState+pattern GoogleAppsCloudidentityDevicesV1ClientState_ComplianceState_COMPLIANCESTATEUNSPECIFIED = GoogleAppsCloudidentityDevicesV1ClientState_ComplianceState "COMPLIANCE_STATE_UNSPECIFIED"++-- | Device is compliant with third party policies+pattern GoogleAppsCloudidentityDevicesV1ClientState_ComplianceState_Compliant :: GoogleAppsCloudidentityDevicesV1ClientState_ComplianceState+pattern GoogleAppsCloudidentityDevicesV1ClientState_ComplianceState_Compliant = GoogleAppsCloudidentityDevicesV1ClientState_ComplianceState "COMPLIANT"++-- | Device is not compliant with third party policies+pattern GoogleAppsCloudidentityDevicesV1ClientState_ComplianceState_NONCOMPLIANT :: GoogleAppsCloudidentityDevicesV1ClientState_ComplianceState+pattern GoogleAppsCloudidentityDevicesV1ClientState_ComplianceState_NONCOMPLIANT = GoogleAppsCloudidentityDevicesV1ClientState_ComplianceState "NON_COMPLIANT"++{-# COMPLETE+  GoogleAppsCloudidentityDevicesV1ClientState_ComplianceState_COMPLIANCESTATEUNSPECIFIED,+  GoogleAppsCloudidentityDevicesV1ClientState_ComplianceState_Compliant,+  GoogleAppsCloudidentityDevicesV1ClientState_ComplianceState_NONCOMPLIANT,+  GoogleAppsCloudidentityDevicesV1ClientState_ComplianceState+  #-}++-- | The Health score of the resource. The Health score is the callers specification of the condition of the device from a usability point of view. For example, a third-party device management provider may specify a health score based on its compliance with organizational policies.+newtype GoogleAppsCloudidentityDevicesV1ClientState_HealthScore = GoogleAppsCloudidentityDevicesV1ClientState_HealthScore {fromGoogleAppsCloudidentityDevicesV1ClientState_HealthScore :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Default value+pattern GoogleAppsCloudidentityDevicesV1ClientState_HealthScore_HEALTHSCOREUNSPECIFIED :: GoogleAppsCloudidentityDevicesV1ClientState_HealthScore+pattern GoogleAppsCloudidentityDevicesV1ClientState_HealthScore_HEALTHSCOREUNSPECIFIED = GoogleAppsCloudidentityDevicesV1ClientState_HealthScore "HEALTH_SCORE_UNSPECIFIED"++-- | The object is in very poor health as defined by the caller.+pattern GoogleAppsCloudidentityDevicesV1ClientState_HealthScore_VERYPOOR :: GoogleAppsCloudidentityDevicesV1ClientState_HealthScore+pattern GoogleAppsCloudidentityDevicesV1ClientState_HealthScore_VERYPOOR = GoogleAppsCloudidentityDevicesV1ClientState_HealthScore "VERY_POOR"++-- | The object is in poor health as defined by the caller.+pattern GoogleAppsCloudidentityDevicesV1ClientState_HealthScore_Poor :: GoogleAppsCloudidentityDevicesV1ClientState_HealthScore+pattern GoogleAppsCloudidentityDevicesV1ClientState_HealthScore_Poor = GoogleAppsCloudidentityDevicesV1ClientState_HealthScore "POOR"++-- | The object health is neither good nor poor, as defined by the caller.+pattern GoogleAppsCloudidentityDevicesV1ClientState_HealthScore_Neutral :: GoogleAppsCloudidentityDevicesV1ClientState_HealthScore+pattern GoogleAppsCloudidentityDevicesV1ClientState_HealthScore_Neutral = GoogleAppsCloudidentityDevicesV1ClientState_HealthScore "NEUTRAL"++-- | The object is in good health as defined by the caller.+pattern GoogleAppsCloudidentityDevicesV1ClientState_HealthScore_Good :: GoogleAppsCloudidentityDevicesV1ClientState_HealthScore+pattern GoogleAppsCloudidentityDevicesV1ClientState_HealthScore_Good = GoogleAppsCloudidentityDevicesV1ClientState_HealthScore "GOOD"++-- | The object is in very good health as defined by the caller.+pattern GoogleAppsCloudidentityDevicesV1ClientState_HealthScore_VERYGOOD :: GoogleAppsCloudidentityDevicesV1ClientState_HealthScore+pattern GoogleAppsCloudidentityDevicesV1ClientState_HealthScore_VERYGOOD = GoogleAppsCloudidentityDevicesV1ClientState_HealthScore "VERY_GOOD"++{-# COMPLETE+  GoogleAppsCloudidentityDevicesV1ClientState_HealthScore_HEALTHSCOREUNSPECIFIED,+  GoogleAppsCloudidentityDevicesV1ClientState_HealthScore_VERYPOOR,+  GoogleAppsCloudidentityDevicesV1ClientState_HealthScore_Poor,+  GoogleAppsCloudidentityDevicesV1ClientState_HealthScore_Neutral,+  GoogleAppsCloudidentityDevicesV1ClientState_HealthScore_Good,+  GoogleAppsCloudidentityDevicesV1ClientState_HealthScore_VERYGOOD,+  GoogleAppsCloudidentityDevicesV1ClientState_HealthScore+  #-}++-- | The management state of the resource as specified by the API client.+newtype GoogleAppsCloudidentityDevicesV1ClientState_Managed = GoogleAppsCloudidentityDevicesV1ClientState_Managed {fromGoogleAppsCloudidentityDevicesV1ClientState_Managed :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | The management state of the resource is unknown or unspecified.+pattern GoogleAppsCloudidentityDevicesV1ClientState_Managed_MANAGEDSTATEUNSPECIFIED :: GoogleAppsCloudidentityDevicesV1ClientState_Managed+pattern GoogleAppsCloudidentityDevicesV1ClientState_Managed_MANAGEDSTATEUNSPECIFIED = GoogleAppsCloudidentityDevicesV1ClientState_Managed "MANAGED_STATE_UNSPECIFIED"++-- | The resource is managed.+pattern GoogleAppsCloudidentityDevicesV1ClientState_Managed_Managed :: GoogleAppsCloudidentityDevicesV1ClientState_Managed+pattern GoogleAppsCloudidentityDevicesV1ClientState_Managed_Managed = GoogleAppsCloudidentityDevicesV1ClientState_Managed "MANAGED"++-- | The resource is not managed.+pattern GoogleAppsCloudidentityDevicesV1ClientState_Managed_Unmanaged :: GoogleAppsCloudidentityDevicesV1ClientState_Managed+pattern GoogleAppsCloudidentityDevicesV1ClientState_Managed_Unmanaged = GoogleAppsCloudidentityDevicesV1ClientState_Managed "UNMANAGED"++{-# COMPLETE+  GoogleAppsCloudidentityDevicesV1ClientState_Managed_MANAGEDSTATEUNSPECIFIED,+  GoogleAppsCloudidentityDevicesV1ClientState_Managed_Managed,+  GoogleAppsCloudidentityDevicesV1ClientState_Managed_Unmanaged,+  GoogleAppsCloudidentityDevicesV1ClientState_Managed+  #-}++-- | Output only. The owner of the ClientState+newtype GoogleAppsCloudidentityDevicesV1ClientState_OwnerType = GoogleAppsCloudidentityDevicesV1ClientState_OwnerType {fromGoogleAppsCloudidentityDevicesV1ClientState_OwnerType :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Unknown owner type+pattern GoogleAppsCloudidentityDevicesV1ClientState_OwnerType_OWNERTYPEUNSPECIFIED :: GoogleAppsCloudidentityDevicesV1ClientState_OwnerType+pattern GoogleAppsCloudidentityDevicesV1ClientState_OwnerType_OWNERTYPEUNSPECIFIED = GoogleAppsCloudidentityDevicesV1ClientState_OwnerType "OWNER_TYPE_UNSPECIFIED"++-- | Customer is the owner+pattern GoogleAppsCloudidentityDevicesV1ClientState_OwnerType_OWNERTYPECUSTOMER :: GoogleAppsCloudidentityDevicesV1ClientState_OwnerType+pattern GoogleAppsCloudidentityDevicesV1ClientState_OwnerType_OWNERTYPECUSTOMER = GoogleAppsCloudidentityDevicesV1ClientState_OwnerType "OWNER_TYPE_CUSTOMER"++-- | Partner is the owner+pattern GoogleAppsCloudidentityDevicesV1ClientState_OwnerType_OWNERTYPEPARTNER :: GoogleAppsCloudidentityDevicesV1ClientState_OwnerType+pattern GoogleAppsCloudidentityDevicesV1ClientState_OwnerType_OWNERTYPEPARTNER = GoogleAppsCloudidentityDevicesV1ClientState_OwnerType "OWNER_TYPE_PARTNER"++{-# COMPLETE+  GoogleAppsCloudidentityDevicesV1ClientState_OwnerType_OWNERTYPEUNSPECIFIED,+  GoogleAppsCloudidentityDevicesV1ClientState_OwnerType_OWNERTYPECUSTOMER,+  GoogleAppsCloudidentityDevicesV1ClientState_OwnerType_OWNERTYPEPARTNER,+  GoogleAppsCloudidentityDevicesV1ClientState_OwnerType+  #-}++-- | Output only. Represents whether the Device is compromised.+newtype GoogleAppsCloudidentityDevicesV1Device_CompromisedState = GoogleAppsCloudidentityDevicesV1Device_CompromisedState {fromGoogleAppsCloudidentityDevicesV1Device_CompromisedState :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Default value.+pattern GoogleAppsCloudidentityDevicesV1Device_CompromisedState_COMPROMISEDSTATEUNSPECIFIED :: GoogleAppsCloudidentityDevicesV1Device_CompromisedState+pattern GoogleAppsCloudidentityDevicesV1Device_CompromisedState_COMPROMISEDSTATEUNSPECIFIED = GoogleAppsCloudidentityDevicesV1Device_CompromisedState "COMPROMISED_STATE_UNSPECIFIED"++-- | The device is compromised (currently, this means Android device is rooted).+pattern GoogleAppsCloudidentityDevicesV1Device_CompromisedState_Compromised :: GoogleAppsCloudidentityDevicesV1Device_CompromisedState+pattern GoogleAppsCloudidentityDevicesV1Device_CompromisedState_Compromised = GoogleAppsCloudidentityDevicesV1Device_CompromisedState "COMPROMISED"++-- | The device is safe (currently, this means Android device is unrooted).+pattern GoogleAppsCloudidentityDevicesV1Device_CompromisedState_Uncompromised :: GoogleAppsCloudidentityDevicesV1Device_CompromisedState+pattern GoogleAppsCloudidentityDevicesV1Device_CompromisedState_Uncompromised = GoogleAppsCloudidentityDevicesV1Device_CompromisedState "UNCOMPROMISED"++{-# COMPLETE+  GoogleAppsCloudidentityDevicesV1Device_CompromisedState_COMPROMISEDSTATEUNSPECIFIED,+  GoogleAppsCloudidentityDevicesV1Device_CompromisedState_Compromised,+  GoogleAppsCloudidentityDevicesV1Device_CompromisedState_Uncompromised,+  GoogleAppsCloudidentityDevicesV1Device_CompromisedState+  #-}++-- | Output only. Type of device.+newtype GoogleAppsCloudidentityDevicesV1Device_DeviceType = GoogleAppsCloudidentityDevicesV1Device_DeviceType {fromGoogleAppsCloudidentityDevicesV1Device_DeviceType :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Unknown device type+pattern GoogleAppsCloudidentityDevicesV1Device_DeviceType_DEVICETYPEUNSPECIFIED :: GoogleAppsCloudidentityDevicesV1Device_DeviceType+pattern GoogleAppsCloudidentityDevicesV1Device_DeviceType_DEVICETYPEUNSPECIFIED = GoogleAppsCloudidentityDevicesV1Device_DeviceType "DEVICE_TYPE_UNSPECIFIED"++-- | Device is an Android device+pattern GoogleAppsCloudidentityDevicesV1Device_DeviceType_Android :: GoogleAppsCloudidentityDevicesV1Device_DeviceType+pattern GoogleAppsCloudidentityDevicesV1Device_DeviceType_Android = GoogleAppsCloudidentityDevicesV1Device_DeviceType "ANDROID"++-- | Device is an iOS device+pattern GoogleAppsCloudidentityDevicesV1Device_DeviceType_Ios :: GoogleAppsCloudidentityDevicesV1Device_DeviceType+pattern GoogleAppsCloudidentityDevicesV1Device_DeviceType_Ios = GoogleAppsCloudidentityDevicesV1Device_DeviceType "IOS"++-- | Device is a Google Sync device.+pattern GoogleAppsCloudidentityDevicesV1Device_DeviceType_GOOGLESYNC :: GoogleAppsCloudidentityDevicesV1Device_DeviceType+pattern GoogleAppsCloudidentityDevicesV1Device_DeviceType_GOOGLESYNC = GoogleAppsCloudidentityDevicesV1Device_DeviceType "GOOGLE_SYNC"++-- | Device is a Windows device.+pattern GoogleAppsCloudidentityDevicesV1Device_DeviceType_Windows :: GoogleAppsCloudidentityDevicesV1Device_DeviceType+pattern GoogleAppsCloudidentityDevicesV1Device_DeviceType_Windows = GoogleAppsCloudidentityDevicesV1Device_DeviceType "WINDOWS"++-- | Device is a MacOS device.+pattern GoogleAppsCloudidentityDevicesV1Device_DeviceType_MACOS :: GoogleAppsCloudidentityDevicesV1Device_DeviceType+pattern GoogleAppsCloudidentityDevicesV1Device_DeviceType_MACOS = GoogleAppsCloudidentityDevicesV1Device_DeviceType "MAC_OS"++-- | Device is a Linux device.+pattern GoogleAppsCloudidentityDevicesV1Device_DeviceType_Linux :: GoogleAppsCloudidentityDevicesV1Device_DeviceType+pattern GoogleAppsCloudidentityDevicesV1Device_DeviceType_Linux = GoogleAppsCloudidentityDevicesV1Device_DeviceType "LINUX"++-- | Device is a ChromeOS device.+pattern GoogleAppsCloudidentityDevicesV1Device_DeviceType_CHROMEOS :: GoogleAppsCloudidentityDevicesV1Device_DeviceType+pattern GoogleAppsCloudidentityDevicesV1Device_DeviceType_CHROMEOS = GoogleAppsCloudidentityDevicesV1Device_DeviceType "CHROME_OS"++{-# COMPLETE+  GoogleAppsCloudidentityDevicesV1Device_DeviceType_DEVICETYPEUNSPECIFIED,+  GoogleAppsCloudidentityDevicesV1Device_DeviceType_Android,+  GoogleAppsCloudidentityDevicesV1Device_DeviceType_Ios,+  GoogleAppsCloudidentityDevicesV1Device_DeviceType_GOOGLESYNC,+  GoogleAppsCloudidentityDevicesV1Device_DeviceType_Windows,+  GoogleAppsCloudidentityDevicesV1Device_DeviceType_MACOS,+  GoogleAppsCloudidentityDevicesV1Device_DeviceType_Linux,+  GoogleAppsCloudidentityDevicesV1Device_DeviceType_CHROMEOS,+  GoogleAppsCloudidentityDevicesV1Device_DeviceType+  #-}++-- | Output only. Device encryption state.+newtype GoogleAppsCloudidentityDevicesV1Device_EncryptionState = GoogleAppsCloudidentityDevicesV1Device_EncryptionState {fromGoogleAppsCloudidentityDevicesV1Device_EncryptionState :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Encryption Status is not set.+pattern GoogleAppsCloudidentityDevicesV1Device_EncryptionState_ENCRYPTIONSTATEUNSPECIFIED :: GoogleAppsCloudidentityDevicesV1Device_EncryptionState+pattern GoogleAppsCloudidentityDevicesV1Device_EncryptionState_ENCRYPTIONSTATEUNSPECIFIED = GoogleAppsCloudidentityDevicesV1Device_EncryptionState "ENCRYPTION_STATE_UNSPECIFIED"++-- | Device doesn\'t support encryption.+pattern GoogleAppsCloudidentityDevicesV1Device_EncryptionState_UNSUPPORTEDBYDEVICE :: GoogleAppsCloudidentityDevicesV1Device_EncryptionState+pattern GoogleAppsCloudidentityDevicesV1Device_EncryptionState_UNSUPPORTEDBYDEVICE = GoogleAppsCloudidentityDevicesV1Device_EncryptionState "UNSUPPORTED_BY_DEVICE"++-- | Device is encrypted.+pattern GoogleAppsCloudidentityDevicesV1Device_EncryptionState_Encrypted :: GoogleAppsCloudidentityDevicesV1Device_EncryptionState+pattern GoogleAppsCloudidentityDevicesV1Device_EncryptionState_Encrypted = GoogleAppsCloudidentityDevicesV1Device_EncryptionState "ENCRYPTED"++-- | Device is not encrypted.+pattern GoogleAppsCloudidentityDevicesV1Device_EncryptionState_NOTENCRYPTED :: GoogleAppsCloudidentityDevicesV1Device_EncryptionState+pattern GoogleAppsCloudidentityDevicesV1Device_EncryptionState_NOTENCRYPTED = GoogleAppsCloudidentityDevicesV1Device_EncryptionState "NOT_ENCRYPTED"++{-# COMPLETE+  GoogleAppsCloudidentityDevicesV1Device_EncryptionState_ENCRYPTIONSTATEUNSPECIFIED,+  GoogleAppsCloudidentityDevicesV1Device_EncryptionState_UNSUPPORTEDBYDEVICE,+  GoogleAppsCloudidentityDevicesV1Device_EncryptionState_Encrypted,+  GoogleAppsCloudidentityDevicesV1Device_EncryptionState_NOTENCRYPTED,+  GoogleAppsCloudidentityDevicesV1Device_EncryptionState+  #-}++-- | Output only. Management state of the device+newtype GoogleAppsCloudidentityDevicesV1Device_ManagementState = GoogleAppsCloudidentityDevicesV1Device_ManagementState {fromGoogleAppsCloudidentityDevicesV1Device_ManagementState :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Default value. This value is unused.+pattern GoogleAppsCloudidentityDevicesV1Device_ManagementState_MANAGEMENTSTATEUNSPECIFIED :: GoogleAppsCloudidentityDevicesV1Device_ManagementState+pattern GoogleAppsCloudidentityDevicesV1Device_ManagementState_MANAGEMENTSTATEUNSPECIFIED = GoogleAppsCloudidentityDevicesV1Device_ManagementState "MANAGEMENT_STATE_UNSPECIFIED"++-- | Device is approved.+pattern GoogleAppsCloudidentityDevicesV1Device_ManagementState_Approved :: GoogleAppsCloudidentityDevicesV1Device_ManagementState+pattern GoogleAppsCloudidentityDevicesV1Device_ManagementState_Approved = GoogleAppsCloudidentityDevicesV1Device_ManagementState "APPROVED"++-- | Device is blocked.+pattern GoogleAppsCloudidentityDevicesV1Device_ManagementState_Blocked :: GoogleAppsCloudidentityDevicesV1Device_ManagementState+pattern GoogleAppsCloudidentityDevicesV1Device_ManagementState_Blocked = GoogleAppsCloudidentityDevicesV1Device_ManagementState "BLOCKED"++-- | Device is pending approval.+pattern GoogleAppsCloudidentityDevicesV1Device_ManagementState_Pending :: GoogleAppsCloudidentityDevicesV1Device_ManagementState+pattern GoogleAppsCloudidentityDevicesV1Device_ManagementState_Pending = GoogleAppsCloudidentityDevicesV1Device_ManagementState "PENDING"++-- | The device is not provisioned. Device will start from this state until some action is taken (i.e. a user starts using the device).+pattern GoogleAppsCloudidentityDevicesV1Device_ManagementState_Unprovisioned :: GoogleAppsCloudidentityDevicesV1Device_ManagementState+pattern GoogleAppsCloudidentityDevicesV1Device_ManagementState_Unprovisioned = GoogleAppsCloudidentityDevicesV1Device_ManagementState "UNPROVISIONED"++-- | Data and settings on the device are being removed.+pattern GoogleAppsCloudidentityDevicesV1Device_ManagementState_Wiping :: GoogleAppsCloudidentityDevicesV1Device_ManagementState+pattern GoogleAppsCloudidentityDevicesV1Device_ManagementState_Wiping = GoogleAppsCloudidentityDevicesV1Device_ManagementState "WIPING"++-- | All data and settings on the device are removed.+pattern GoogleAppsCloudidentityDevicesV1Device_ManagementState_Wiped :: GoogleAppsCloudidentityDevicesV1Device_ManagementState+pattern GoogleAppsCloudidentityDevicesV1Device_ManagementState_Wiped = GoogleAppsCloudidentityDevicesV1Device_ManagementState "WIPED"++{-# COMPLETE+  GoogleAppsCloudidentityDevicesV1Device_ManagementState_MANAGEMENTSTATEUNSPECIFIED,+  GoogleAppsCloudidentityDevicesV1Device_ManagementState_Approved,+  GoogleAppsCloudidentityDevicesV1Device_ManagementState_Blocked,+  GoogleAppsCloudidentityDevicesV1Device_ManagementState_Pending,+  GoogleAppsCloudidentityDevicesV1Device_ManagementState_Unprovisioned,+  GoogleAppsCloudidentityDevicesV1Device_ManagementState_Wiping,+  GoogleAppsCloudidentityDevicesV1Device_ManagementState_Wiped,+  GoogleAppsCloudidentityDevicesV1Device_ManagementState+  #-}++-- | Output only. Whether the device is owned by the company or an individual+newtype GoogleAppsCloudidentityDevicesV1Device_OwnerType = GoogleAppsCloudidentityDevicesV1Device_OwnerType {fromGoogleAppsCloudidentityDevicesV1Device_OwnerType :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Default value. The value is unused.+pattern GoogleAppsCloudidentityDevicesV1Device_OwnerType_DEVICEOWNERSHIPUNSPECIFIED :: GoogleAppsCloudidentityDevicesV1Device_OwnerType+pattern GoogleAppsCloudidentityDevicesV1Device_OwnerType_DEVICEOWNERSHIPUNSPECIFIED = GoogleAppsCloudidentityDevicesV1Device_OwnerType "DEVICE_OWNERSHIP_UNSPECIFIED"++-- | Company owns the device.+pattern GoogleAppsCloudidentityDevicesV1Device_OwnerType_Company :: GoogleAppsCloudidentityDevicesV1Device_OwnerType+pattern GoogleAppsCloudidentityDevicesV1Device_OwnerType_Company = GoogleAppsCloudidentityDevicesV1Device_OwnerType "COMPANY"++-- | Bring Your Own Device (i.e. individual owns the device)+pattern GoogleAppsCloudidentityDevicesV1Device_OwnerType_Byod :: GoogleAppsCloudidentityDevicesV1Device_OwnerType+pattern GoogleAppsCloudidentityDevicesV1Device_OwnerType_Byod = GoogleAppsCloudidentityDevicesV1Device_OwnerType "BYOD"++{-# COMPLETE+  GoogleAppsCloudidentityDevicesV1Device_OwnerType_DEVICEOWNERSHIPUNSPECIFIED,+  GoogleAppsCloudidentityDevicesV1Device_OwnerType_Company,+  GoogleAppsCloudidentityDevicesV1Device_OwnerType_Byod,+  GoogleAppsCloudidentityDevicesV1Device_OwnerType+  #-}++-- | Compromised State of the DeviceUser object+newtype GoogleAppsCloudidentityDevicesV1DeviceUser_CompromisedState = GoogleAppsCloudidentityDevicesV1DeviceUser_CompromisedState {fromGoogleAppsCloudidentityDevicesV1DeviceUser_CompromisedState :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Compromised state of Device User account is unknown or unspecified.+pattern GoogleAppsCloudidentityDevicesV1DeviceUser_CompromisedState_COMPROMISEDSTATEUNSPECIFIED :: GoogleAppsCloudidentityDevicesV1DeviceUser_CompromisedState+pattern GoogleAppsCloudidentityDevicesV1DeviceUser_CompromisedState_COMPROMISEDSTATEUNSPECIFIED = GoogleAppsCloudidentityDevicesV1DeviceUser_CompromisedState "COMPROMISED_STATE_UNSPECIFIED"++-- | Device User Account is compromised.+pattern GoogleAppsCloudidentityDevicesV1DeviceUser_CompromisedState_Compromised :: GoogleAppsCloudidentityDevicesV1DeviceUser_CompromisedState+pattern GoogleAppsCloudidentityDevicesV1DeviceUser_CompromisedState_Compromised = GoogleAppsCloudidentityDevicesV1DeviceUser_CompromisedState "COMPROMISED"++-- | Device User Account is not compromised.+pattern GoogleAppsCloudidentityDevicesV1DeviceUser_CompromisedState_NOTCOMPROMISED :: GoogleAppsCloudidentityDevicesV1DeviceUser_CompromisedState+pattern GoogleAppsCloudidentityDevicesV1DeviceUser_CompromisedState_NOTCOMPROMISED = GoogleAppsCloudidentityDevicesV1DeviceUser_CompromisedState "NOT_COMPROMISED"++{-# COMPLETE+  GoogleAppsCloudidentityDevicesV1DeviceUser_CompromisedState_COMPROMISEDSTATEUNSPECIFIED,+  GoogleAppsCloudidentityDevicesV1DeviceUser_CompromisedState_Compromised,+  GoogleAppsCloudidentityDevicesV1DeviceUser_CompromisedState_NOTCOMPROMISED,+  GoogleAppsCloudidentityDevicesV1DeviceUser_CompromisedState+  #-}++-- | Output only. Management state of the user on the device.+newtype GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState = GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState {fromGoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Default value. This value is unused.+pattern GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState_MANAGEMENTSTATEUNSPECIFIED :: GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState+pattern GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState_MANAGEMENTSTATEUNSPECIFIED = GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState "MANAGEMENT_STATE_UNSPECIFIED"++-- | This user\'s data and profile is being removed from the device.+pattern GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState_Wiping :: GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState+pattern GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState_Wiping = GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState "WIPING"++-- | This user\'s data and profile is removed from the device.+pattern GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState_Wiped :: GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState+pattern GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState_Wiped = GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState "WIPED"++-- | User is approved to access data on the device.+pattern GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState_Approved :: GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState+pattern GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState_Approved = GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState "APPROVED"++-- | User is blocked from accessing data on the device.+pattern GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState_Blocked :: GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState+pattern GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState_Blocked = GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState "BLOCKED"++-- | User is awaiting approval.+pattern GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState_PENDINGAPPROVAL :: GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState+pattern GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState_PENDINGAPPROVAL = GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState "PENDING_APPROVAL"++-- | User is unenrolled from Advanced Windows Management, but the Windows account is still intact.+pattern GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState_Unenrolled :: GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState+pattern GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState_Unenrolled = GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState "UNENROLLED"++{-# COMPLETE+  GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState_MANAGEMENTSTATEUNSPECIFIED,+  GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState_Wiping,+  GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState_Wiped,+  GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState_Approved,+  GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState_Blocked,+  GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState_PENDINGAPPROVAL,+  GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState_Unenrolled,+  GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState+  #-}++-- | Password state of the DeviceUser object+newtype GoogleAppsCloudidentityDevicesV1DeviceUser_PasswordState = GoogleAppsCloudidentityDevicesV1DeviceUser_PasswordState {fromGoogleAppsCloudidentityDevicesV1DeviceUser_PasswordState :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Password state not set.+pattern GoogleAppsCloudidentityDevicesV1DeviceUser_PasswordState_PASSWORDSTATEUNSPECIFIED :: GoogleAppsCloudidentityDevicesV1DeviceUser_PasswordState+pattern GoogleAppsCloudidentityDevicesV1DeviceUser_PasswordState_PASSWORDSTATEUNSPECIFIED = GoogleAppsCloudidentityDevicesV1DeviceUser_PasswordState "PASSWORD_STATE_UNSPECIFIED"++-- | Password set in object.+pattern GoogleAppsCloudidentityDevicesV1DeviceUser_PasswordState_PASSWORDSET :: GoogleAppsCloudidentityDevicesV1DeviceUser_PasswordState+pattern GoogleAppsCloudidentityDevicesV1DeviceUser_PasswordState_PASSWORDSET = GoogleAppsCloudidentityDevicesV1DeviceUser_PasswordState "PASSWORD_SET"++-- | Password not set in object.+pattern GoogleAppsCloudidentityDevicesV1DeviceUser_PasswordState_PASSWORDNOTSET :: GoogleAppsCloudidentityDevicesV1DeviceUser_PasswordState+pattern GoogleAppsCloudidentityDevicesV1DeviceUser_PasswordState_PASSWORDNOTSET = GoogleAppsCloudidentityDevicesV1DeviceUser_PasswordState "PASSWORD_NOT_SET"++{-# COMPLETE+  GoogleAppsCloudidentityDevicesV1DeviceUser_PasswordState_PASSWORDSTATEUNSPECIFIED,+  GoogleAppsCloudidentityDevicesV1DeviceUser_PasswordState_PASSWORDSET,+  GoogleAppsCloudidentityDevicesV1DeviceUser_PasswordState_PASSWORDNOTSET,+  GoogleAppsCloudidentityDevicesV1DeviceUser_PasswordState+  #-}++-- | The relation between the member and the transitive group.+newtype GroupRelation_RelationType = GroupRelation_RelationType {fromGroupRelation_RelationType :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | The relation type is undefined or undetermined.+pattern GroupRelation_RelationType_RELATIONTYPEUNSPECIFIED :: GroupRelation_RelationType+pattern GroupRelation_RelationType_RELATIONTYPEUNSPECIFIED = GroupRelation_RelationType "RELATION_TYPE_UNSPECIFIED"++-- | The two entities have only a direct membership with each other.+pattern GroupRelation_RelationType_Direct :: GroupRelation_RelationType+pattern GroupRelation_RelationType_Direct = GroupRelation_RelationType "DIRECT"++-- | The two entities have only an indirect membership with each other.+pattern GroupRelation_RelationType_Indirect :: GroupRelation_RelationType+pattern GroupRelation_RelationType_Indirect = GroupRelation_RelationType "INDIRECT"++-- | The two entities have both a direct and an indirect membership with each other.+pattern GroupRelation_RelationType_DIRECTANDINDIRECT :: GroupRelation_RelationType+pattern GroupRelation_RelationType_DIRECTANDINDIRECT = GroupRelation_RelationType "DIRECT_AND_INDIRECT"++{-# COMPLETE+  GroupRelation_RelationType_RELATIONTYPEUNSPECIFIED,+  GroupRelation_RelationType_Direct,+  GroupRelation_RelationType_Indirect,+  GroupRelation_RelationType_DIRECTANDINDIRECT,+  GroupRelation_RelationType+  #-}++-- | Inbound SSO behavior.+newtype InboundSsoAssignment_SsoMode = InboundSsoAssignment_SsoMode {fromInboundSsoAssignment_SsoMode :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Not allowed.+pattern InboundSsoAssignment_SsoMode_SSOMODEUNSPECIFIED :: InboundSsoAssignment_SsoMode+pattern InboundSsoAssignment_SsoMode_SSOMODEUNSPECIFIED = InboundSsoAssignment_SsoMode "SSO_MODE_UNSPECIFIED"++-- | Disable SSO for the targeted users.+pattern InboundSsoAssignment_SsoMode_SSOOFF :: InboundSsoAssignment_SsoMode+pattern InboundSsoAssignment_SsoMode_SSOOFF = InboundSsoAssignment_SsoMode "SSO_OFF"++-- | Use an external SAML Identity Provider for SSO for the targeted users.+pattern InboundSsoAssignment_SsoMode_SAMLSSO :: InboundSsoAssignment_SsoMode+pattern InboundSsoAssignment_SsoMode_SAMLSSO = InboundSsoAssignment_SsoMode "SAML_SSO"++-- | Use the domain-wide SAML Identity Provider for the targeted users if one is configured; otherwise, this is equivalent to @SSO_OFF@. Note that this will also be equivalent to @SSO_OFF@ if\/when support for domain-wide SAML is removed. Google may disallow this mode at that point and existing assignments with this mode may be automatically changed to @SSO_OFF@.+pattern InboundSsoAssignment_SsoMode_DOMAINWIDESAMLIFENABLED :: InboundSsoAssignment_SsoMode+pattern InboundSsoAssignment_SsoMode_DOMAINWIDESAMLIFENABLED = InboundSsoAssignment_SsoMode "DOMAIN_WIDE_SAML_IF_ENABLED"++{-# COMPLETE+  InboundSsoAssignment_SsoMode_SSOMODEUNSPECIFIED,+  InboundSsoAssignment_SsoMode_SSOOFF,+  InboundSsoAssignment_SsoMode_SAMLSSO,+  InboundSsoAssignment_SsoMode_DOMAINWIDESAMLIFENABLED,+  InboundSsoAssignment_SsoMode+  #-}++-- | The relation between the group and the transitive member.+newtype MemberRelation_RelationType = MemberRelation_RelationType {fromMemberRelation_RelationType :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | The relation type is undefined or undetermined.+pattern MemberRelation_RelationType_RELATIONTYPEUNSPECIFIED :: MemberRelation_RelationType+pattern MemberRelation_RelationType_RELATIONTYPEUNSPECIFIED = MemberRelation_RelationType "RELATION_TYPE_UNSPECIFIED"++-- | The two entities have only a direct membership with each other.+pattern MemberRelation_RelationType_Direct :: MemberRelation_RelationType+pattern MemberRelation_RelationType_Direct = MemberRelation_RelationType "DIRECT"++-- | The two entities have only an indirect membership with each other.+pattern MemberRelation_RelationType_Indirect :: MemberRelation_RelationType+pattern MemberRelation_RelationType_Indirect = MemberRelation_RelationType "INDIRECT"++-- | The two entities have both a direct and an indirect membership with each other.+pattern MemberRelation_RelationType_DIRECTANDINDIRECT :: MemberRelation_RelationType+pattern MemberRelation_RelationType_DIRECTANDINDIRECT = MemberRelation_RelationType "DIRECT_AND_INDIRECT"++{-# COMPLETE+  MemberRelation_RelationType_RELATIONTYPEUNSPECIFIED,+  MemberRelation_RelationType_Direct,+  MemberRelation_RelationType_Indirect,+  MemberRelation_RelationType_DIRECTANDINDIRECT,+  MemberRelation_RelationType+  #-}++-- | Output only. Delivery setting associated with the membership.+newtype Membership_DeliverySetting = Membership_DeliverySetting {fromMembership_DeliverySetting :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Default. Should not be used.+pattern Membership_DeliverySetting_DELIVERYSETTINGUNSPECIFIED :: Membership_DeliverySetting+pattern Membership_DeliverySetting_DELIVERYSETTINGUNSPECIFIED = Membership_DeliverySetting "DELIVERY_SETTING_UNSPECIFIED"++-- | Represents each mail should be delivered+pattern Membership_DeliverySetting_ALLMAIL :: Membership_DeliverySetting+pattern Membership_DeliverySetting_ALLMAIL = Membership_DeliverySetting "ALL_MAIL"++-- | Represents 1 email for every 25 messages.+pattern Membership_DeliverySetting_Digest :: Membership_DeliverySetting+pattern Membership_DeliverySetting_Digest = Membership_DeliverySetting "DIGEST"++-- | Represents daily summary of messages.+pattern Membership_DeliverySetting_Daily :: Membership_DeliverySetting+pattern Membership_DeliverySetting_Daily = Membership_DeliverySetting "DAILY"++-- | Represents no delivery.+pattern Membership_DeliverySetting_None :: Membership_DeliverySetting+pattern Membership_DeliverySetting_None = Membership_DeliverySetting "NONE"++-- | Represents disabled state.+pattern Membership_DeliverySetting_Disabled :: Membership_DeliverySetting+pattern Membership_DeliverySetting_Disabled = Membership_DeliverySetting "DISABLED"++{-# COMPLETE+  Membership_DeliverySetting_DELIVERYSETTINGUNSPECIFIED,+  Membership_DeliverySetting_ALLMAIL,+  Membership_DeliverySetting_Digest,+  Membership_DeliverySetting_Daily,+  Membership_DeliverySetting_None,+  Membership_DeliverySetting_Disabled,+  Membership_DeliverySetting+  #-}++-- | Output only. The type of the membership.+newtype Membership_Type = Membership_Type {fromMembership_Type :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Default. Should not be used.+pattern Membership_Type_TYPEUNSPECIFIED :: Membership_Type+pattern Membership_Type_TYPEUNSPECIFIED = Membership_Type "TYPE_UNSPECIFIED"++-- | Represents user type.+pattern Membership_Type_User :: Membership_Type+pattern Membership_Type_User = Membership_Type "USER"++-- | Represents service account type.+pattern Membership_Type_SERVICEACCOUNT :: Membership_Type+pattern Membership_Type_SERVICEACCOUNT = Membership_Type "SERVICE_ACCOUNT"++-- | Represents group type.+pattern Membership_Type_Group :: Membership_Type+pattern Membership_Type_Group = Membership_Type "GROUP"++-- | Represents Shared drive.+pattern Membership_Type_SHAREDDRIVE :: Membership_Type+pattern Membership_Type_SHAREDDRIVE = Membership_Type "SHARED_DRIVE"++-- | Represents a CBCM-managed Chrome Browser type.+pattern Membership_Type_CBCMBROWSER :: Membership_Type+pattern Membership_Type_CBCMBROWSER = Membership_Type "CBCM_BROWSER"++-- | Represents other type.+pattern Membership_Type_Other :: Membership_Type+pattern Membership_Type_Other = Membership_Type "OTHER"++{-# COMPLETE+  Membership_Type_TYPEUNSPECIFIED,+  Membership_Type_User,+  Membership_Type_SERVICEACCOUNT,+  Membership_Type_Group,+  Membership_Type_SHAREDDRIVE,+  Membership_Type_CBCMBROWSER,+  Membership_Type_Other,+  Membership_Type+  #-}++-- | Output only. The current state of the restriction+newtype MembershipRoleRestrictionEvaluation_State = MembershipRoleRestrictionEvaluation_State {fromMembershipRoleRestrictionEvaluation_State :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Default. Should not be used.+pattern MembershipRoleRestrictionEvaluation_State_STATEUNSPECIFIED :: MembershipRoleRestrictionEvaluation_State+pattern MembershipRoleRestrictionEvaluation_State_STATEUNSPECIFIED = MembershipRoleRestrictionEvaluation_State "STATE_UNSPECIFIED"++-- | The member adheres to the parent group\'s restriction.+pattern MembershipRoleRestrictionEvaluation_State_Compliant :: MembershipRoleRestrictionEvaluation_State+pattern MembershipRoleRestrictionEvaluation_State_Compliant = MembershipRoleRestrictionEvaluation_State "COMPLIANT"++-- | The group-group membership might be currently violating some parent group\'s restriction but in future, it will never allow any new member in the child group which can violate parent group\'s restriction.+pattern MembershipRoleRestrictionEvaluation_State_FORWARDCOMPLIANT :: MembershipRoleRestrictionEvaluation_State+pattern MembershipRoleRestrictionEvaluation_State_FORWARDCOMPLIANT = MembershipRoleRestrictionEvaluation_State "FORWARD_COMPLIANT"++-- | The member violates the parent group\'s restriction.+pattern MembershipRoleRestrictionEvaluation_State_NONCOMPLIANT :: MembershipRoleRestrictionEvaluation_State+pattern MembershipRoleRestrictionEvaluation_State_NONCOMPLIANT = MembershipRoleRestrictionEvaluation_State "NON_COMPLIANT"++-- | The state of the membership is under evaluation.+pattern MembershipRoleRestrictionEvaluation_State_Evaluating :: MembershipRoleRestrictionEvaluation_State+pattern MembershipRoleRestrictionEvaluation_State_Evaluating = MembershipRoleRestrictionEvaluation_State "EVALUATING"++{-# COMPLETE+  MembershipRoleRestrictionEvaluation_State_STATEUNSPECIFIED,+  MembershipRoleRestrictionEvaluation_State_Compliant,+  MembershipRoleRestrictionEvaluation_State_FORWARDCOMPLIANT,+  MembershipRoleRestrictionEvaluation_State_NONCOMPLIANT,+  MembershipRoleRestrictionEvaluation_State_Evaluating,+  MembershipRoleRestrictionEvaluation_State+  #-}++-- | Output only. The type of the policy.+newtype Policy_Type = Policy_Type {fromPolicy_Type :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Unspecified policy type.+pattern Policy_Type_POLICYTYPEUNSPECIFIED :: Policy_Type+pattern Policy_Type_POLICYTYPEUNSPECIFIED = Policy_Type "POLICY_TYPE_UNSPECIFIED"++-- | Policy type denoting the system-configured policies.+pattern Policy_Type_System :: Policy_Type+pattern Policy_Type_System = Policy_Type "SYSTEM"++-- | Policy type denoting the admin-configurable policies.+pattern Policy_Type_Admin :: Policy_Type+pattern Policy_Type_Admin = Policy_Type "ADMIN"++{-# COMPLETE+  Policy_Type_POLICYTYPEUNSPECIFIED,+  Policy_Type_System,+  Policy_Type_Admin,+  Policy_Type+  #-}++-- | Output only. The current state of the restriction+newtype RestrictionEvaluation_State = RestrictionEvaluation_State {fromRestrictionEvaluation_State :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Default. Should not be used.+pattern RestrictionEvaluation_State_STATEUNSPECIFIED :: RestrictionEvaluation_State+pattern RestrictionEvaluation_State_STATEUNSPECIFIED = RestrictionEvaluation_State "STATE_UNSPECIFIED"++-- | The restriction state is currently being evaluated.+pattern RestrictionEvaluation_State_Evaluating :: RestrictionEvaluation_State+pattern RestrictionEvaluation_State_Evaluating = RestrictionEvaluation_State "EVALUATING"++-- | All transitive memberships are adhering to restriction.+pattern RestrictionEvaluation_State_Compliant :: RestrictionEvaluation_State+pattern RestrictionEvaluation_State_Compliant = RestrictionEvaluation_State "COMPLIANT"++-- | Some transitive memberships violate the restriction. No new violating memberships can be added.+pattern RestrictionEvaluation_State_FORWARDCOMPLIANT :: RestrictionEvaluation_State+pattern RestrictionEvaluation_State_FORWARDCOMPLIANT = RestrictionEvaluation_State "FORWARD_COMPLIANT"++-- | Some transitive memberships violate the restriction. New violating direct memberships will be denied while indirect memberships may be added.+pattern RestrictionEvaluation_State_NONCOMPLIANT :: RestrictionEvaluation_State+pattern RestrictionEvaluation_State_NONCOMPLIANT = RestrictionEvaluation_State "NON_COMPLIANT"++{-# COMPLETE+  RestrictionEvaluation_State_STATEUNSPECIFIED,+  RestrictionEvaluation_State_Evaluating,+  RestrictionEvaluation_State_Compliant,+  RestrictionEvaluation_State_FORWARDCOMPLIANT,+  RestrictionEvaluation_State_NONCOMPLIANT,+  RestrictionEvaluation_State+  #-}++-- | When to redirect sign-ins to the IdP.+newtype SignInBehavior_RedirectCondition = SignInBehavior_RedirectCondition {fromSignInBehavior_RedirectCondition :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Default and means \"always\"+pattern SignInBehavior_RedirectCondition_REDIRECTCONDITIONUNSPECIFIED :: SignInBehavior_RedirectCondition+pattern SignInBehavior_RedirectCondition_REDIRECTCONDITIONUNSPECIFIED = SignInBehavior_RedirectCondition "REDIRECT_CONDITION_UNSPECIFIED"++-- | Sign-in flows where the user is prompted for their identity will not redirect to the IdP (so the user will most likely be prompted by Google for a password), but special flows like IdP-initiated SAML and sign-in following automatic redirection to the IdP by domain-specific service URLs will accept the IdP\'s assertion of the user\'s identity.+pattern SignInBehavior_RedirectCondition_Never :: SignInBehavior_RedirectCondition+pattern SignInBehavior_RedirectCondition_Never = SignInBehavior_RedirectCondition "NEVER"++{-# COMPLETE+  SignInBehavior_RedirectCondition_REDIRECTCONDITIONUNSPECIFIED,+  SignInBehavior_RedirectCondition_Never,+  SignInBehavior_RedirectCondition+  #-}++-- | State of the @UserInvitation@.+newtype UserInvitation_State = UserInvitation_State {fromUserInvitation_State :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | The default value. This value is used if the state is omitted.+pattern UserInvitation_State_STATEUNSPECIFIED :: UserInvitation_State+pattern UserInvitation_State_STATEUNSPECIFIED = UserInvitation_State "STATE_UNSPECIFIED"++-- | The @UserInvitation@ has been created and is ready for sending as an email.+pattern UserInvitation_State_NOTYETSENT :: UserInvitation_State+pattern UserInvitation_State_NOTYETSENT = UserInvitation_State "NOT_YET_SENT"++-- | The user has been invited by email.+pattern UserInvitation_State_Invited :: UserInvitation_State+pattern UserInvitation_State_Invited = UserInvitation_State "INVITED"++-- | The user has accepted the invitation and is part of the organization.+pattern UserInvitation_State_Accepted :: UserInvitation_State+pattern UserInvitation_State_Accepted = UserInvitation_State "ACCEPTED"++-- | The user declined the invitation.+pattern UserInvitation_State_Declined :: UserInvitation_State+pattern UserInvitation_State_Declined = UserInvitation_State "DECLINED"++{-# COMPLETE+  UserInvitation_State_STATEUNSPECIFIED,+  UserInvitation_State_NOTYETSENT,+  UserInvitation_State_Invited,+  UserInvitation_State_Accepted,+  UserInvitation_State_Declined,+  UserInvitation_State+  #-}++-- | Optional. The view to use for the List request.+newtype DevicesListView = DevicesListView {fromDevicesListView :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Default value. The value is unused.+pattern DevicesListView_VIEWUNSPECIFIED :: DevicesListView+pattern DevicesListView_VIEWUNSPECIFIED = DevicesListView "VIEW_UNSPECIFIED"++-- | This view contains all devices imported by the company admin. Each device in the response contains all information specified by the company admin when importing the device (i.e. asset tags). This includes devices that may be unassigned or assigned to users.+pattern DevicesListView_COMPANYINVENTORY :: DevicesListView+pattern DevicesListView_COMPANYINVENTORY = DevicesListView "COMPANY_INVENTORY"++-- | This view contains all devices with at least one user registered on the device. Each device in the response contains all device information, except for asset tags.+pattern DevicesListView_USERASSIGNEDDEVICES :: DevicesListView+pattern DevicesListView_USERASSIGNEDDEVICES = DevicesListView "USER_ASSIGNED_DEVICES"++{-# COMPLETE+  DevicesListView_VIEWUNSPECIFIED,+  DevicesListView_COMPANYINVENTORY,+  DevicesListView_USERASSIGNEDDEVICES,+  DevicesListView+  #-}++-- | Optional. The initial configuration option for the @Group@.+newtype GroupsCreateInitialGroupConfig = GroupsCreateInitialGroupConfig {fromGroupsCreateInitialGroupConfig :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Default. Should not be used.+pattern GroupsCreateInitialGroupConfig_INITIALGROUPCONFIGUNSPECIFIED :: GroupsCreateInitialGroupConfig+pattern GroupsCreateInitialGroupConfig_INITIALGROUPCONFIGUNSPECIFIED = GroupsCreateInitialGroupConfig "INITIAL_GROUP_CONFIG_UNSPECIFIED"++-- | The end user making the request will be added as the initial owner of the @Group@.+pattern GroupsCreateInitialGroupConfig_WITHINITIALOWNER :: GroupsCreateInitialGroupConfig+pattern GroupsCreateInitialGroupConfig_WITHINITIALOWNER = GroupsCreateInitialGroupConfig "WITH_INITIAL_OWNER"++-- | An empty group is created without any initial owners. This can only be used by admins of the domain.+pattern GroupsCreateInitialGroupConfig_Empty :: GroupsCreateInitialGroupConfig+pattern GroupsCreateInitialGroupConfig_Empty = GroupsCreateInitialGroupConfig "EMPTY"++{-# COMPLETE+  GroupsCreateInitialGroupConfig_INITIALGROUPCONFIGUNSPECIFIED,+  GroupsCreateInitialGroupConfig_WITHINITIALOWNER,+  GroupsCreateInitialGroupConfig_Empty,+  GroupsCreateInitialGroupConfig+  #-}++-- | The level of detail to be returned. If unspecified, defaults to @View.BASIC@.+newtype GroupsListView = GroupsListView {fromGroupsListView :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Default. Should not be used.+pattern GroupsListView_VIEWUNSPECIFIED :: GroupsListView+pattern GroupsListView_VIEWUNSPECIFIED = GroupsListView "VIEW_UNSPECIFIED"++-- | Only basic resource information is returned.+pattern GroupsListView_Basic :: GroupsListView+pattern GroupsListView_Basic = GroupsListView "BASIC"++-- | All resource information is returned.+pattern GroupsListView_Full :: GroupsListView+pattern GroupsListView_Full = GroupsListView "FULL"++{-# COMPLETE+  GroupsListView_VIEWUNSPECIFIED,+  GroupsListView_Basic,+  GroupsListView_Full,+  GroupsListView+  #-}++-- | The level of detail to be returned. If unspecified, defaults to @View.BASIC@.+newtype GroupsMembershipsListView = GroupsMembershipsListView {fromGroupsMembershipsListView :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Default. Should not be used.+pattern GroupsMembershipsListView_VIEWUNSPECIFIED :: GroupsMembershipsListView+pattern GroupsMembershipsListView_VIEWUNSPECIFIED = GroupsMembershipsListView "VIEW_UNSPECIFIED"++-- | Only basic resource information is returned.+pattern GroupsMembershipsListView_Basic :: GroupsMembershipsListView+pattern GroupsMembershipsListView_Basic = GroupsMembershipsListView "BASIC"++-- | All resource information is returned.+pattern GroupsMembershipsListView_Full :: GroupsMembershipsListView+pattern GroupsMembershipsListView_Full = GroupsMembershipsListView "FULL"++{-# COMPLETE+  GroupsMembershipsListView_VIEWUNSPECIFIED,+  GroupsMembershipsListView_Basic,+  GroupsMembershipsListView_Full,+  GroupsMembershipsListView+  #-}++-- | The level of detail to be returned. If unspecified, defaults to @View.BASIC@.+newtype GroupsSearchView = GroupsSearchView {fromGroupsSearchView :: Core.Text}+  deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)+  deriving newtype+    ( Core.Hashable,+      Core.ToHttpApiData,+      Core.FromHttpApiData,+      Core.ToJSON,+      Core.ToJSONKey,+      Core.FromJSON,+      Core.FromJSONKey+    )++-- | Default. Should not be used.+pattern GroupsSearchView_VIEWUNSPECIFIED :: GroupsSearchView+pattern GroupsSearchView_VIEWUNSPECIFIED = GroupsSearchView "VIEW_UNSPECIFIED"++-- | Only basic resource information is returned.+pattern GroupsSearchView_Basic :: GroupsSearchView+pattern GroupsSearchView_Basic = GroupsSearchView "BASIC"++-- | All resource information is returned.+pattern GroupsSearchView_Full :: GroupsSearchView+pattern GroupsSearchView_Full = GroupsSearchView "FULL"++{-# COMPLETE+  GroupsSearchView_VIEWUNSPECIFIED,+  GroupsSearchView_Basic,+  GroupsSearchView_Full,+  GroupsSearchView+  #-}
+ gen/Gogol/CloudIdentity/Policies/Get.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Policies.Get+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get a Policy+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.policies.get@.+module Gogol.CloudIdentity.Policies.Get+  ( -- * Resource+    CloudIdentityPoliciesGetResource,++    -- ** Constructing a Request+    CloudIdentityPoliciesGet (..),+    newCloudIdentityPoliciesGet,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.policies.get@ method which the+-- 'CloudIdentityPoliciesGet' request conforms to.+type CloudIdentityPoliciesGetResource =+  "v1"+    Core.:> Core.Capture "name" Core.Text+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] Policy++-- | Get a Policy+--+-- /See:/ 'newCloudIdentityPoliciesGet' smart constructor.+data CloudIdentityPoliciesGet = CloudIdentityPoliciesGet+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Required. The name of the policy to retrieve. Format: \"policies\/{policy}\".+    name :: Core.Text,+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityPoliciesGet' with the minimum fields required to make a request.+newCloudIdentityPoliciesGet ::+  -- |  Required. The name of the policy to retrieve. Format: \"policies\/{policy}\". See 'name'.+  Core.Text ->+  CloudIdentityPoliciesGet+newCloudIdentityPoliciesGet name =+  CloudIdentityPoliciesGet+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      name = name,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityPoliciesGet where+  type Rs CloudIdentityPoliciesGet = Policy+  type+    Scopes CloudIdentityPoliciesGet =+      '[CloudIdentity'Policies, CloudIdentity'Policies'Readonly]+  requestClient CloudIdentityPoliciesGet {..} =+    go+      name+      xgafv+      accessToken+      callback+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      cloudIdentityService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy CloudIdentityPoliciesGetResource)+          Core.mempty
+ gen/Gogol/CloudIdentity/Policies/List.hs view
@@ -0,0 +1,118 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Policies.List+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List Policies+--+-- /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.policies.list@.+module Gogol.CloudIdentity.Policies.List+  ( -- * Resource+    CloudIdentityPoliciesListResource,++    -- ** Constructing a Request+    CloudIdentityPoliciesList (..),+    newCloudIdentityPoliciesList,+  )+where++import Gogol.CloudIdentity.Types+import Gogol.Prelude qualified as Core++-- | A resource alias for @cloudidentity.policies.list@ method which the+-- 'CloudIdentityPoliciesList' request conforms to.+type CloudIdentityPoliciesListResource =+  "v1"+    Core.:> "policies"+    Core.:> Core.QueryParam "$.xgafv" Xgafv+    Core.:> Core.QueryParam "access_token" Core.Text+    Core.:> Core.QueryParam "callback" Core.Text+    Core.:> Core.QueryParam "filter" Core.Text+    Core.:> Core.QueryParam "pageSize" Core.Int32+    Core.:> Core.QueryParam "pageToken" Core.Text+    Core.:> Core.QueryParam "uploadType" Core.Text+    Core.:> Core.QueryParam "upload_protocol" Core.Text+    Core.:> Core.QueryParam "alt" Core.AltJSON+    Core.:> Core.Get '[Core.JSON] ListPoliciesResponse++-- | List Policies+--+-- /See:/ 'newCloudIdentityPoliciesList' smart constructor.+data CloudIdentityPoliciesList = CloudIdentityPoliciesList+  { -- | V1 error format.+    xgafv :: (Core.Maybe Xgafv),+    -- | OAuth access token.+    accessToken :: (Core.Maybe Core.Text),+    -- | JSONP+    callback :: (Core.Maybe Core.Text),+    -- | Optional. A CEL expression for filtering the results. Policies can be filtered by application with this expression: setting.type.matches(\'^settings\/gmail\\../$\') Policies can be filtered by setting type with this expression: setting.type.matches(\'^./\\.service/status$\') A maximum of one of the above setting.type clauses can be used. Policies can be filtered by customer with this expression: customer == \"customers\/{customer}\" Where @customer@ is the @id@ from the <https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers Admin SDK Customer resource>. You may use @customers\/my_customer@ to specify your own organization. When no customer is mentioned it will be default to customers\/my/customer. A maximum of one customer clause can be used. The above clauses can only be combined together in a single filter expression with the @&&@ operator.+    filter :: (Core.Maybe Core.Text),+    -- | Optional. The maximum number of results to return. The service can return fewer than this number. If omitted or set to 0, the default is 50 results per page. The maximum allowed value is 100. @page_size@ values greater than 100 default to 100.+    pageSize :: (Core.Maybe Core.Int32),+    -- | Optional. The pagination token received from a prior call to PoliciesService.ListPolicies to retrieve the next page of results. When paginating, all other parameters provided to @ListPoliciesRequest@ must match the call that provided the page token.+    pageToken :: (Core.Maybe Core.Text),+    -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+    uploadType :: (Core.Maybe Core.Text),+    -- | Upload protocol for media (e.g. \"raw\", \"multipart\").+    uploadProtocol :: (Core.Maybe Core.Text)+  }+  deriving (Core.Eq, Core.Show, Core.Generic)++-- | Creates a value of 'CloudIdentityPoliciesList' with the minimum fields required to make a request.+newCloudIdentityPoliciesList ::+  CloudIdentityPoliciesList+newCloudIdentityPoliciesList =+  CloudIdentityPoliciesList+    { xgafv = Core.Nothing,+      accessToken = Core.Nothing,+      callback = Core.Nothing,+      filter = Core.Nothing,+      pageSize = Core.Nothing,+      pageToken = Core.Nothing,+      uploadType = Core.Nothing,+      uploadProtocol = Core.Nothing+    }++instance Core.GoogleRequest CloudIdentityPoliciesList where+  type Rs CloudIdentityPoliciesList = ListPoliciesResponse+  type+    Scopes CloudIdentityPoliciesList =+      '[CloudIdentity'Policies, CloudIdentity'Policies'Readonly]+  requestClient CloudIdentityPoliciesList {..} =+    go+      xgafv+      accessToken+      callback+      filter+      pageSize+      pageToken+      uploadType+      uploadProtocol+      (Core.Just Core.AltJSON)+      cloudIdentityService+    where+      go =+        Core.buildClient+          (Core.Proxy :: Core.Proxy CloudIdentityPoliciesListResource)+          Core.mempty
+ gen/Gogol/CloudIdentity/Types.hs view
@@ -0,0 +1,672 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE ImportQualifiedPost #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- |+-- Module      : Gogol.CloudIdentity.Types+-- Copyright   : (c) 2015-2025 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>+--               Toni Cebrián <toni@tonicebrian.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Gogol.CloudIdentity.Types+  ( -- * Configuration+    cloudIdentityService,++    -- * OAuth Scopes+    CloudIdentity'Devices,+    CloudIdentity'Devices'Lookup,+    CloudIdentity'Devices'Readonly,+    CloudIdentity'Groups,+    CloudIdentity'Groups'Readonly,+    CloudIdentity'Inboundsso,+    CloudIdentity'Inboundsso'Readonly,+    CloudIdentity'Policies,+    CloudIdentity'Policies'Readonly,+    CloudPlatform'FullControl,++    -- * Types++    -- ** Xgafv+    Xgafv (..),++    -- ** AddIdpCredentialOperationMetadata+    AddIdpCredentialOperationMetadata (..),+    newAddIdpCredentialOperationMetadata,++    -- ** AddIdpCredentialRequest+    AddIdpCredentialRequest (..),+    newAddIdpCredentialRequest,++    -- ** CancelUserInvitationRequest+    CancelUserInvitationRequest (..),+    newCancelUserInvitationRequest,++    -- ** CheckTransitiveMembershipResponse+    CheckTransitiveMembershipResponse (..),+    newCheckTransitiveMembershipResponse,++    -- ** CreateGroupMetadata+    CreateGroupMetadata (..),+    newCreateGroupMetadata,++    -- ** CreateInboundSamlSsoProfileOperationMetadata+    CreateInboundSamlSsoProfileOperationMetadata (..),+    newCreateInboundSamlSsoProfileOperationMetadata,++    -- ** CreateInboundSsoAssignmentOperationMetadata+    CreateInboundSsoAssignmentOperationMetadata (..),+    newCreateInboundSsoAssignmentOperationMetadata,++    -- ** CreateMembershipMetadata+    CreateMembershipMetadata (..),+    newCreateMembershipMetadata,++    -- ** DeleteGroupMetadata+    DeleteGroupMetadata (..),+    newDeleteGroupMetadata,++    -- ** DeleteIdpCredentialOperationMetadata+    DeleteIdpCredentialOperationMetadata (..),+    newDeleteIdpCredentialOperationMetadata,++    -- ** DeleteInboundSamlSsoProfileOperationMetadata+    DeleteInboundSamlSsoProfileOperationMetadata (..),+    newDeleteInboundSamlSsoProfileOperationMetadata,++    -- ** DeleteInboundSsoAssignmentOperationMetadata+    DeleteInboundSsoAssignmentOperationMetadata (..),+    newDeleteInboundSsoAssignmentOperationMetadata,++    -- ** DeleteMembershipMetadata+    DeleteMembershipMetadata (..),+    newDeleteMembershipMetadata,++    -- ** DsaPublicKeyInfo+    DsaPublicKeyInfo (..),+    newDsaPublicKeyInfo,++    -- ** DynamicGroupMetadata+    DynamicGroupMetadata (..),+    newDynamicGroupMetadata,++    -- ** DynamicGroupQuery+    DynamicGroupQuery (..),+    newDynamicGroupQuery,++    -- ** DynamicGroupQuery_ResourceType+    DynamicGroupQuery_ResourceType (..),++    -- ** DynamicGroupStatus+    DynamicGroupStatus (..),+    newDynamicGroupStatus,++    -- ** DynamicGroupStatus_Status+    DynamicGroupStatus_Status (..),++    -- ** EntityKey+    EntityKey (..),+    newEntityKey,++    -- ** ExpiryDetail+    ExpiryDetail (..),+    newExpiryDetail,++    -- ** GetMembershipGraphMetadata+    GetMembershipGraphMetadata (..),+    newGetMembershipGraphMetadata,++    -- ** GetMembershipGraphResponse+    GetMembershipGraphResponse (..),+    newGetMembershipGraphResponse,++    -- ** GoogleAppsCloudidentityDevicesV1AndroidAttributes+    GoogleAppsCloudidentityDevicesV1AndroidAttributes (..),+    newGoogleAppsCloudidentityDevicesV1AndroidAttributes,++    -- ** GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege+    GoogleAppsCloudidentityDevicesV1AndroidAttributes_OwnershipPrivilege (..),++    -- ** GoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata+    GoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata (..),+    newGoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata,++    -- ** GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest+    GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest (..),+    newGoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest,++    -- ** GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse+    GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse (..),+    newGoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse,++    -- ** GoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata+    GoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata (..),+    newGoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata,++    -- ** GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest+    GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest (..),+    newGoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest,++    -- ** GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse+    GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse (..),+    newGoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse,++    -- ** GoogleAppsCloudidentityDevicesV1BrowserAttributes+    GoogleAppsCloudidentityDevicesV1BrowserAttributes (..),+    newGoogleAppsCloudidentityDevicesV1BrowserAttributes,++    -- ** GoogleAppsCloudidentityDevicesV1BrowserInfo+    GoogleAppsCloudidentityDevicesV1BrowserInfo (..),+    newGoogleAppsCloudidentityDevicesV1BrowserInfo,++    -- ** GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState+    GoogleAppsCloudidentityDevicesV1BrowserInfo_BrowserManagementState (..),++    -- ** GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger+    GoogleAppsCloudidentityDevicesV1BrowserInfo_PasswordProtectionWarningTrigger (..),++    -- ** GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel+    GoogleAppsCloudidentityDevicesV1BrowserInfo_SafeBrowsingProtectionLevel (..),++    -- ** GoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata (..),+    newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata,++    -- ** GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest (..),+    newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest,++    -- ** GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse (..),+    newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse,++    -- ** GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata (..),+    newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata,++    -- ** GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest (..),+    newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest,++    -- ** GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse+    GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse (..),+    newGoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse,++    -- ** GoogleAppsCloudidentityDevicesV1CertificateAttributes+    GoogleAppsCloudidentityDevicesV1CertificateAttributes (..),+    newGoogleAppsCloudidentityDevicesV1CertificateAttributes,++    -- ** GoogleAppsCloudidentityDevicesV1CertificateAttributes_ValidationState+    GoogleAppsCloudidentityDevicesV1CertificateAttributes_ValidationState (..),++    -- ** GoogleAppsCloudidentityDevicesV1CertificateTemplate+    GoogleAppsCloudidentityDevicesV1CertificateTemplate (..),+    newGoogleAppsCloudidentityDevicesV1CertificateTemplate,++    -- ** GoogleAppsCloudidentityDevicesV1ClientState+    GoogleAppsCloudidentityDevicesV1ClientState (..),+    newGoogleAppsCloudidentityDevicesV1ClientState,++    -- ** GoogleAppsCloudidentityDevicesV1ClientState_ComplianceState+    GoogleAppsCloudidentityDevicesV1ClientState_ComplianceState (..),++    -- ** GoogleAppsCloudidentityDevicesV1ClientState_HealthScore+    GoogleAppsCloudidentityDevicesV1ClientState_HealthScore (..),++    -- ** GoogleAppsCloudidentityDevicesV1ClientState_KeyValuePairs+    GoogleAppsCloudidentityDevicesV1ClientState_KeyValuePairs (..),+    newGoogleAppsCloudidentityDevicesV1ClientState_KeyValuePairs,++    -- ** GoogleAppsCloudidentityDevicesV1ClientState_Managed+    GoogleAppsCloudidentityDevicesV1ClientState_Managed (..),++    -- ** GoogleAppsCloudidentityDevicesV1ClientState_OwnerType+    GoogleAppsCloudidentityDevicesV1ClientState_OwnerType (..),++    -- ** GoogleAppsCloudidentityDevicesV1CreateDeviceMetadata+    GoogleAppsCloudidentityDevicesV1CreateDeviceMetadata (..),+    newGoogleAppsCloudidentityDevicesV1CreateDeviceMetadata,++    -- ** GoogleAppsCloudidentityDevicesV1CustomAttributeValue+    GoogleAppsCloudidentityDevicesV1CustomAttributeValue (..),+    newGoogleAppsCloudidentityDevicesV1CustomAttributeValue,++    -- ** GoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata+    GoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata (..),+    newGoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata,++    -- ** GoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata+    GoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata (..),+    newGoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata,++    -- ** GoogleAppsCloudidentityDevicesV1Device+    GoogleAppsCloudidentityDevicesV1Device (..),+    newGoogleAppsCloudidentityDevicesV1Device,++    -- ** GoogleAppsCloudidentityDevicesV1Device_CompromisedState+    GoogleAppsCloudidentityDevicesV1Device_CompromisedState (..),++    -- ** GoogleAppsCloudidentityDevicesV1Device_DeviceType+    GoogleAppsCloudidentityDevicesV1Device_DeviceType (..),++    -- ** GoogleAppsCloudidentityDevicesV1Device_EncryptionState+    GoogleAppsCloudidentityDevicesV1Device_EncryptionState (..),++    -- ** GoogleAppsCloudidentityDevicesV1Device_ManagementState+    GoogleAppsCloudidentityDevicesV1Device_ManagementState (..),++    -- ** GoogleAppsCloudidentityDevicesV1Device_OwnerType+    GoogleAppsCloudidentityDevicesV1Device_OwnerType (..),++    -- ** GoogleAppsCloudidentityDevicesV1DeviceUser+    GoogleAppsCloudidentityDevicesV1DeviceUser (..),+    newGoogleAppsCloudidentityDevicesV1DeviceUser,++    -- ** GoogleAppsCloudidentityDevicesV1DeviceUser_CompromisedState+    GoogleAppsCloudidentityDevicesV1DeviceUser_CompromisedState (..),++    -- ** GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState+    GoogleAppsCloudidentityDevicesV1DeviceUser_ManagementState (..),++    -- ** GoogleAppsCloudidentityDevicesV1DeviceUser_PasswordState+    GoogleAppsCloudidentityDevicesV1DeviceUser_PasswordState (..),++    -- ** GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes+    GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes (..),+    newGoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes,++    -- ** GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes_AdditionalSignals+    GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes_AdditionalSignals (..),+    newGoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes_AdditionalSignals,++    -- ** GoogleAppsCloudidentityDevicesV1ListClientStatesResponse+    GoogleAppsCloudidentityDevicesV1ListClientStatesResponse (..),+    newGoogleAppsCloudidentityDevicesV1ListClientStatesResponse,++    -- ** GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse+    GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse (..),+    newGoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse,++    -- ** GoogleAppsCloudidentityDevicesV1ListDevicesResponse+    GoogleAppsCloudidentityDevicesV1ListDevicesResponse (..),+    newGoogleAppsCloudidentityDevicesV1ListDevicesResponse,++    -- ** GoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata+    GoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata (..),+    newGoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata,++    -- ** GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse+    GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse (..),+    newGoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse,++    -- ** GoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata+    GoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata (..),+    newGoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata,++    -- ** GoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata+    GoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata (..),+    newGoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata,++    -- ** GoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata+    GoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata (..),+    newGoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata,++    -- ** GoogleAppsCloudidentityDevicesV1WipeDeviceMetadata+    GoogleAppsCloudidentityDevicesV1WipeDeviceMetadata (..),+    newGoogleAppsCloudidentityDevicesV1WipeDeviceMetadata,++    -- ** GoogleAppsCloudidentityDevicesV1WipeDeviceRequest+    GoogleAppsCloudidentityDevicesV1WipeDeviceRequest (..),+    newGoogleAppsCloudidentityDevicesV1WipeDeviceRequest,++    -- ** GoogleAppsCloudidentityDevicesV1WipeDeviceResponse+    GoogleAppsCloudidentityDevicesV1WipeDeviceResponse (..),+    newGoogleAppsCloudidentityDevicesV1WipeDeviceResponse,++    -- ** GoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata+    GoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata (..),+    newGoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata,++    -- ** GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest+    GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest (..),+    newGoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest,++    -- ** GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse+    GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse (..),+    newGoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse,++    -- ** Group+    Group (..),+    newGroup,++    -- ** Group_Labels+    Group_Labels (..),+    newGroup_Labels,++    -- ** GroupRelation+    GroupRelation (..),+    newGroupRelation,++    -- ** GroupRelation_Labels+    GroupRelation_Labels (..),+    newGroupRelation_Labels,++    -- ** GroupRelation_RelationType+    GroupRelation_RelationType (..),++    -- ** IdpCredential+    IdpCredential (..),+    newIdpCredential,++    -- ** InboundSamlSsoProfile+    InboundSamlSsoProfile (..),+    newInboundSamlSsoProfile,++    -- ** InboundSsoAssignment+    InboundSsoAssignment (..),+    newInboundSsoAssignment,++    -- ** InboundSsoAssignment_SsoMode+    InboundSsoAssignment_SsoMode (..),++    -- ** IsInvitableUserResponse+    IsInvitableUserResponse (..),+    newIsInvitableUserResponse,++    -- ** ListGroupsResponse+    ListGroupsResponse (..),+    newListGroupsResponse,++    -- ** ListIdpCredentialsResponse+    ListIdpCredentialsResponse (..),+    newListIdpCredentialsResponse,++    -- ** ListInboundSamlSsoProfilesResponse+    ListInboundSamlSsoProfilesResponse (..),+    newListInboundSamlSsoProfilesResponse,++    -- ** ListInboundSsoAssignmentsResponse+    ListInboundSsoAssignmentsResponse (..),+    newListInboundSsoAssignmentsResponse,++    -- ** ListMembershipsResponse+    ListMembershipsResponse (..),+    newListMembershipsResponse,++    -- ** ListPoliciesResponse+    ListPoliciesResponse (..),+    newListPoliciesResponse,++    -- ** ListUserInvitationsResponse+    ListUserInvitationsResponse (..),+    newListUserInvitationsResponse,++    -- ** LookupGroupNameResponse+    LookupGroupNameResponse (..),+    newLookupGroupNameResponse,++    -- ** LookupMembershipNameResponse+    LookupMembershipNameResponse (..),+    newLookupMembershipNameResponse,++    -- ** MemberRelation+    MemberRelation (..),+    newMemberRelation,++    -- ** MemberRelation_RelationType+    MemberRelation_RelationType (..),++    -- ** MemberRestriction+    MemberRestriction (..),+    newMemberRestriction,++    -- ** Membership+    Membership (..),+    newMembership,++    -- ** Membership_DeliverySetting+    Membership_DeliverySetting (..),++    -- ** Membership_Type+    Membership_Type (..),++    -- ** MembershipAdjacencyList+    MembershipAdjacencyList (..),+    newMembershipAdjacencyList,++    -- ** MembershipRelation+    MembershipRelation (..),+    newMembershipRelation,++    -- ** MembershipRelation_Labels+    MembershipRelation_Labels (..),+    newMembershipRelation_Labels,++    -- ** MembershipRole+    MembershipRole (..),+    newMembershipRole,++    -- ** MembershipRoleRestrictionEvaluation+    MembershipRoleRestrictionEvaluation (..),+    newMembershipRoleRestrictionEvaluation,++    -- ** MembershipRoleRestrictionEvaluation_State+    MembershipRoleRestrictionEvaluation_State (..),++    -- ** ModifyMembershipRolesRequest+    ModifyMembershipRolesRequest (..),+    newModifyMembershipRolesRequest,++    -- ** ModifyMembershipRolesResponse+    ModifyMembershipRolesResponse (..),+    newModifyMembershipRolesResponse,++    -- ** Operation+    Operation (..),+    newOperation,++    -- ** Operation_Metadata+    Operation_Metadata (..),+    newOperation_Metadata,++    -- ** Operation_Response+    Operation_Response (..),+    newOperation_Response,++    -- ** Policy+    Policy (..),+    newPolicy,++    -- ** Policy_Type+    Policy_Type (..),++    -- ** PolicyQuery+    PolicyQuery (..),+    newPolicyQuery,++    -- ** RestrictionEvaluation+    RestrictionEvaluation (..),+    newRestrictionEvaluation,++    -- ** RestrictionEvaluation_State+    RestrictionEvaluation_State (..),++    -- ** RestrictionEvaluations+    RestrictionEvaluations (..),+    newRestrictionEvaluations,++    -- ** RsaPublicKeyInfo+    RsaPublicKeyInfo (..),+    newRsaPublicKeyInfo,++    -- ** SamlIdpConfig+    SamlIdpConfig (..),+    newSamlIdpConfig,++    -- ** SamlSpConfig+    SamlSpConfig (..),+    newSamlSpConfig,++    -- ** SamlSsoInfo+    SamlSsoInfo (..),+    newSamlSsoInfo,++    -- ** SearchDirectGroupsResponse+    SearchDirectGroupsResponse (..),+    newSearchDirectGroupsResponse,++    -- ** SearchGroupsResponse+    SearchGroupsResponse (..),+    newSearchGroupsResponse,++    -- ** SearchTransitiveGroupsResponse+    SearchTransitiveGroupsResponse (..),+    newSearchTransitiveGroupsResponse,++    -- ** SearchTransitiveMembershipsResponse+    SearchTransitiveMembershipsResponse (..),+    newSearchTransitiveMembershipsResponse,++    -- ** SecuritySettings+    SecuritySettings (..),+    newSecuritySettings,++    -- ** SendUserInvitationRequest+    SendUserInvitationRequest (..),+    newSendUserInvitationRequest,++    -- ** Setting+    Setting (..),+    newSetting,++    -- ** Setting_Value+    Setting_Value (..),+    newSetting_Value,++    -- ** SignInBehavior+    SignInBehavior (..),+    newSignInBehavior,++    -- ** SignInBehavior_RedirectCondition+    SignInBehavior_RedirectCondition (..),++    -- ** Status+    Status (..),+    newStatus,++    -- ** Status_DetailsItem+    Status_DetailsItem (..),+    newStatus_DetailsItem,++    -- ** TransitiveMembershipRole+    TransitiveMembershipRole (..),+    newTransitiveMembershipRole,++    -- ** UpdateGroupMetadata+    UpdateGroupMetadata (..),+    newUpdateGroupMetadata,++    -- ** UpdateInboundSamlSsoProfileOperationMetadata+    UpdateInboundSamlSsoProfileOperationMetadata (..),+    newUpdateInboundSamlSsoProfileOperationMetadata,++    -- ** UpdateInboundSsoAssignmentOperationMetadata+    UpdateInboundSsoAssignmentOperationMetadata (..),+    newUpdateInboundSsoAssignmentOperationMetadata,++    -- ** UpdateMembershipMetadata+    UpdateMembershipMetadata (..),+    newUpdateMembershipMetadata,++    -- ** UpdateMembershipRolesParams+    UpdateMembershipRolesParams (..),+    newUpdateMembershipRolesParams,++    -- ** UserInvitation+    UserInvitation (..),+    newUserInvitation,++    -- ** UserInvitation_State+    UserInvitation_State (..),++    -- ** DevicesListView+    DevicesListView (..),++    -- ** GroupsCreateInitialGroupConfig+    GroupsCreateInitialGroupConfig (..),++    -- ** GroupsListView+    GroupsListView (..),++    -- ** GroupsMembershipsListView+    GroupsMembershipsListView (..),++    -- ** GroupsSearchView+    GroupsSearchView (..),+  )+where++import Gogol.CloudIdentity.Internal.Product+import Gogol.CloudIdentity.Internal.Sum+import Gogol.Prelude qualified as Core++-- | Default request referring to version @v1@ of the Cloud Identity API. This contains the host and root path used as a starting point for constructing service requests.+cloudIdentityService :: Core.ServiceConfig+cloudIdentityService =+  Core.defaultService+    (Core.ServiceId "cloudidentity:v1")+    "cloudidentity.googleapis.com"++-- | Private Service: https:\/\/www.googleapis.com\/auth\/cloud-identity.devices+type CloudIdentity'Devices =+  "https://www.googleapis.com/auth/cloud-identity.devices"++-- | See your device details+type CloudIdentity'Devices'Lookup =+  "https://www.googleapis.com/auth/cloud-identity.devices.lookup"++-- | Private Service: https:\/\/www.googleapis.com\/auth\/cloud-identity.devices.readonly+type CloudIdentity'Devices'Readonly =+  "https://www.googleapis.com/auth/cloud-identity.devices.readonly"++-- | See, change, create, and delete any of the Cloud Identity Groups that you can access, including the members of each group+type CloudIdentity'Groups =+  "https://www.googleapis.com/auth/cloud-identity.groups"++-- | See any Cloud Identity Groups that you can access, including group members and their emails+type CloudIdentity'Groups'Readonly =+  "https://www.googleapis.com/auth/cloud-identity.groups.readonly"++-- | See and edit all of the Inbound SSO profiles and their assignments to any Org Units or Google Groups in your Cloud Identity Organization.+type CloudIdentity'Inboundsso =+  "https://www.googleapis.com/auth/cloud-identity.inboundsso"++-- | See all of the Inbound SSO profiles and their assignments to any Org Units or Google Groups in your Cloud Identity Organization.+type CloudIdentity'Inboundsso'Readonly =+  "https://www.googleapis.com/auth/cloud-identity.inboundsso.readonly"++-- | See and edit policies in your Cloud Identity Organization.+type CloudIdentity'Policies =+  "https://www.googleapis.com/auth/cloud-identity.policies"++-- | See policies in your Cloud Identity Organization.+type CloudIdentity'Policies'Readonly =+  "https://www.googleapis.com/auth/cloud-identity.policies.readonly"++-- | See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.+type CloudPlatform'FullControl =+  "https://www.googleapis.com/auth/cloud-platform"
− gen/Network/Google/CloudIdentity.hs
@@ -1,203 +0,0 @@-{-# LANGUAGE DataKinds         #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE TypeOperators     #-}--{-# OPTIONS_GHC -fno-warn-unused-imports    #-}-{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}---- |--- Module      : Network.Google.CloudIdentity--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ API for provisioning and managing identity resources.------ /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference>-module Network.Google.CloudIdentity-    (-    -- * Service Configuration-      cloudIdentityService--    -- * OAuth Scopes-    , cloudIdentityGroupsReadOnlyScope-    , cloudIdentityGroupsScope--    -- * API Declaration-    , CloudIdentityAPI--    -- * Resources--    -- ** cloudidentity.groups.create-    , module Network.Google.Resource.CloudIdentity.Groups.Create--    -- ** cloudidentity.groups.delete-    , module Network.Google.Resource.CloudIdentity.Groups.Delete--    -- ** cloudidentity.groups.get-    , module Network.Google.Resource.CloudIdentity.Groups.Get--    -- ** cloudidentity.groups.list-    , module Network.Google.Resource.CloudIdentity.Groups.List--    -- ** cloudidentity.groups.lookup-    , module Network.Google.Resource.CloudIdentity.Groups.Lookup--    -- ** cloudidentity.groups.memberships.create-    , module Network.Google.Resource.CloudIdentity.Groups.Memberships.Create--    -- ** cloudidentity.groups.memberships.delete-    , module Network.Google.Resource.CloudIdentity.Groups.Memberships.Delete--    -- ** cloudidentity.groups.memberships.get-    , module Network.Google.Resource.CloudIdentity.Groups.Memberships.Get--    -- ** cloudidentity.groups.memberships.list-    , module Network.Google.Resource.CloudIdentity.Groups.Memberships.List--    -- ** cloudidentity.groups.memberships.lookup-    , module Network.Google.Resource.CloudIdentity.Groups.Memberships.Lookup--    -- ** cloudidentity.groups.patch-    , module Network.Google.Resource.CloudIdentity.Groups.Patch--    -- ** cloudidentity.groups.search-    , module Network.Google.Resource.CloudIdentity.Groups.Search--    -- * Types--    -- ** LookupMembershipNameResponse-    , LookupMembershipNameResponse-    , lookupMembershipNameResponse-    , lmnrName--    -- ** Status-    , Status-    , status-    , sDetails-    , sCode-    , sMessage--    -- ** Group-    , Group-    , group'-    , gParent-    , gGroupKey-    , gUpdateTime-    , gName-    , gDisplayName-    , gLabels-    , gDescription-    , gCreateTime--    -- ** Membership-    , Membership-    , membership-    , mRoles-    , mUpdateTime-    , mName-    , mPreferredMemberKey-    , mCreateTime--    -- ** Operation-    , Operation-    , operation-    , oDone-    , oError-    , oResponse-    , oName-    , oMetadata--    -- ** ListGroupsResponse-    , ListGroupsResponse-    , listGroupsResponse-    , lgrGroups-    , lgrNextPageToken--    -- ** StatusDetailsItem-    , StatusDetailsItem-    , statusDetailsItem-    , sdiAddtional--    -- ** MembershipRole-    , MembershipRole-    , membershipRole-    , mrName--    -- ** LookupGroupNameResponse-    , LookupGroupNameResponse-    , lookupGroupNameResponse-    , lgnrName--    -- ** SearchGroupsResponse-    , SearchGroupsResponse-    , searchGroupsResponse-    , sgrGroups-    , sgrNextPageToken--    -- ** EntityKey-    , EntityKey-    , entityKey-    , ekNamespace-    , ekId--    -- ** Xgafv-    , Xgafv (..)--    -- ** GroupLabels-    , GroupLabels-    , groupLabels-    , glAddtional--    -- ** ListMembershipsResponse-    , ListMembershipsResponse-    , listMembershipsResponse-    , lmrNextPageToken-    , lmrMemberships--    -- ** OperationMetadata-    , OperationMetadata-    , operationMetadata-    , omAddtional--    -- ** OperationResponse-    , OperationResponse-    , operationResponse-    , orAddtional-    ) where--import           Network.Google.CloudIdentity.Types-import           Network.Google.Prelude-import           Network.Google.Resource.CloudIdentity.Groups.Create-import           Network.Google.Resource.CloudIdentity.Groups.Delete-import           Network.Google.Resource.CloudIdentity.Groups.Get-import           Network.Google.Resource.CloudIdentity.Groups.List-import           Network.Google.Resource.CloudIdentity.Groups.Lookup-import           Network.Google.Resource.CloudIdentity.Groups.Memberships.Create-import           Network.Google.Resource.CloudIdentity.Groups.Memberships.Delete-import           Network.Google.Resource.CloudIdentity.Groups.Memberships.Get-import           Network.Google.Resource.CloudIdentity.Groups.Memberships.List-import           Network.Google.Resource.CloudIdentity.Groups.Memberships.Lookup-import           Network.Google.Resource.CloudIdentity.Groups.Patch-import           Network.Google.Resource.CloudIdentity.Groups.Search--{- $resources-TODO--}---- | Represents the entirety of the methods and resources available for the Cloud Identity API service.-type CloudIdentityAPI =-     GroupsMembershipsListResource :<|>-       GroupsMembershipsGetResource-       :<|> GroupsMembershipsCreateResource-       :<|> GroupsMembershipsLookupResource-       :<|> GroupsMembershipsDeleteResource-       :<|> GroupsListResource-       :<|> GroupsPatchResource-       :<|> GroupsGetResource-       :<|> GroupsCreateResource-       :<|> GroupsLookupResource-       :<|> GroupsSearchResource-       :<|> GroupsDeleteResource
− gen/Network/Google/CloudIdentity/Types.hs
@@ -1,144 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- |--- Module      : Network.Google.CloudIdentity.Types--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.Google.CloudIdentity.Types-    (-    -- * Service Configuration-      cloudIdentityService--    -- * OAuth Scopes-    , cloudIdentityGroupsReadOnlyScope-    , cloudIdentityGroupsScope--    -- * LookupMembershipNameResponse-    , LookupMembershipNameResponse-    , lookupMembershipNameResponse-    , lmnrName--    -- * Status-    , Status-    , status-    , sDetails-    , sCode-    , sMessage--    -- * Group-    , Group-    , group'-    , gParent-    , gGroupKey-    , gUpdateTime-    , gName-    , gDisplayName-    , gLabels-    , gDescription-    , gCreateTime--    -- * Membership-    , Membership-    , membership-    , mRoles-    , mUpdateTime-    , mName-    , mPreferredMemberKey-    , mCreateTime--    -- * Operation-    , Operation-    , operation-    , oDone-    , oError-    , oResponse-    , oName-    , oMetadata--    -- * ListGroupsResponse-    , ListGroupsResponse-    , listGroupsResponse-    , lgrGroups-    , lgrNextPageToken--    -- * StatusDetailsItem-    , StatusDetailsItem-    , statusDetailsItem-    , sdiAddtional--    -- * MembershipRole-    , MembershipRole-    , membershipRole-    , mrName--    -- * LookupGroupNameResponse-    , LookupGroupNameResponse-    , lookupGroupNameResponse-    , lgnrName--    -- * SearchGroupsResponse-    , SearchGroupsResponse-    , searchGroupsResponse-    , sgrGroups-    , sgrNextPageToken--    -- * EntityKey-    , EntityKey-    , entityKey-    , ekNamespace-    , ekId--    -- * Xgafv-    , Xgafv (..)--    -- * GroupLabels-    , GroupLabels-    , groupLabels-    , glAddtional--    -- * ListMembershipsResponse-    , ListMembershipsResponse-    , listMembershipsResponse-    , lmrNextPageToken-    , lmrMemberships--    -- * OperationMetadata-    , OperationMetadata-    , operationMetadata-    , omAddtional--    -- * OperationResponse-    , OperationResponse-    , operationResponse-    , orAddtional-    ) where--import           Network.Google.CloudIdentity.Types.Product-import           Network.Google.CloudIdentity.Types.Sum-import           Network.Google.Prelude---- | Default request referring to version 'v1' of the Cloud Identity API. This contains the host and root path used as a starting point for constructing service requests.-cloudIdentityService :: ServiceConfig-cloudIdentityService-  = defaultService (ServiceId "cloudidentity:v1")-      "cloudidentity.googleapis.com"---- | See any Cloud Identity Groups that you can access, including group--- members and their emails-cloudIdentityGroupsReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/cloud-identity.groups.readonly"]-cloudIdentityGroupsReadOnlyScope = Proxy---- | See, change, create, and delete any of the Cloud Identity Groups that--- you can access, including the members of each group-cloudIdentityGroupsScope :: Proxy '["https://www.googleapis.com/auth/cloud-identity.groups"]-cloudIdentityGroupsScope = Proxy
− gen/Network/Google/CloudIdentity/Types/Product.hs
@@ -1,909 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}--{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- |--- Module      : Network.Google.CloudIdentity.Types.Product--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.Google.CloudIdentity.Types.Product where--import           Network.Google.CloudIdentity.Types.Sum-import           Network.Google.Prelude------- /See:/ 'lookupMembershipNameResponse' smart constructor.-newtype LookupMembershipNameResponse =-  LookupMembershipNameResponse'-    { _lmnrName :: Maybe Text-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'LookupMembershipNameResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lmnrName'-lookupMembershipNameResponse-    :: LookupMembershipNameResponse-lookupMembershipNameResponse =-  LookupMembershipNameResponse' {_lmnrName = Nothing}----- | [Resource--- name](https:\/\/cloud.google.com\/apis\/design\/resource_names) of the--- Membership being looked up. Format:--- \`groups\/{group_id}\/memberships\/{member_id}\`, where \`group_id\` is--- the unique ID assigned to the Group to which Membership belongs to, and--- \`member_id\` is the unique ID assigned to the member.-lmnrName :: Lens' LookupMembershipNameResponse (Maybe Text)-lmnrName = lens _lmnrName (\ s a -> s{_lmnrName = a})--instance FromJSON LookupMembershipNameResponse where-        parseJSON-          = withObject "LookupMembershipNameResponse"-              (\ o ->-                 LookupMembershipNameResponse' <$> (o .:? "name"))--instance ToJSON LookupMembershipNameResponse where-        toJSON LookupMembershipNameResponse'{..}-          = object (catMaybes [("name" .=) <$> _lmnrName])---- | The \`Status\` type defines a logical error model that is suitable for--- different programming environments, including REST APIs and RPC APIs. It--- is used by [gRPC](https:\/\/github.com\/grpc). The error model is--- designed to be: - Simple to use and understand for most users - Flexible--- enough to meet unexpected needs # Overview The \`Status\` message--- contains three pieces of data: error code, error message, and error--- details. The error code should be an enum value of google.rpc.Code, but--- it may accept additional error codes if needed. The error message should--- be a developer-facing English message that helps developers *understand*--- and *resolve* the error. If a localized user-facing error message is--- needed, put the localized message in the error details or localize it in--- the client. The optional error details may contain arbitrary information--- about the error. There is a predefined set of error detail types in the--- package \`google.rpc\` that can be used for common error conditions. #--- Language mapping The \`Status\` message is the logical representation of--- the error model, but it is not necessarily the actual wire format. When--- the \`Status\` message is exposed in different client libraries and--- different wire protocols, it can be mapped differently. For example, it--- will likely be mapped to some exceptions in Java, but more likely mapped--- to some error codes in C. # Other uses The error model and the--- \`Status\` message can be used in a variety of environments, either with--- or without APIs, to provide a consistent developer experience across--- different environments. Example uses of this error model include: ---- Partial errors. If a service needs to return partial errors to the--- client, it may embed the \`Status\` in the normal response to indicate--- the partial errors. - Workflow errors. A typical workflow has multiple--- steps. Each step may have a \`Status\` message for error reporting. ---- Batch operations. If a client uses batch request and batch response, the--- \`Status\` message should be used directly inside batch response, one--- for each error sub-response. - Asynchronous operations. If an API call--- embeds asynchronous operation results in its response, the status of--- those operations should be represented directly using the \`Status\`--- message. - Logging. If some API errors are stored in logs, the message--- \`Status\` could be used directly after any stripping needed for--- security\/privacy reasons.------ /See:/ 'status' smart constructor.-data Status =-  Status'-    { _sDetails :: !(Maybe [StatusDetailsItem])-    , _sCode    :: !(Maybe (Textual Int32))-    , _sMessage :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Status' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sDetails'------ * 'sCode'------ * 'sMessage'-status-    :: Status-status = Status' {_sDetails = Nothing, _sCode = Nothing, _sMessage = Nothing}----- | A list of messages that carry the error details. There is a common set--- of message types for APIs to use.-sDetails :: Lens' Status [StatusDetailsItem]-sDetails-  = lens _sDetails (\ s a -> s{_sDetails = a}) .-      _Default-      . _Coerce---- | The status code, which should be an enum value of google.rpc.Code.-sCode :: Lens' Status (Maybe Int32)-sCode-  = lens _sCode (\ s a -> s{_sCode = a}) .-      mapping _Coerce---- | A developer-facing error message, which should be in English. Any--- user-facing error message should be localized and sent in the--- google.rpc.Status.details field, or localized by the client.-sMessage :: Lens' Status (Maybe Text)-sMessage = lens _sMessage (\ s a -> s{_sMessage = a})--instance FromJSON Status where-        parseJSON-          = withObject "Status"-              (\ o ->-                 Status' <$>-                   (o .:? "details" .!= mempty) <*> (o .:? "code") <*>-                     (o .:? "message"))--instance ToJSON Status where-        toJSON Status'{..}-          = object-              (catMaybes-                 [("details" .=) <$> _sDetails,-                  ("code" .=) <$> _sCode,-                  ("message" .=) <$> _sMessage])---- | Resource representing a Group.------ /See:/ 'group'' smart constructor.-data Group =-  Group'-    { _gParent      :: !(Maybe Text)-    , _gGroupKey    :: !(Maybe EntityKey)-    , _gUpdateTime  :: !(Maybe DateTime')-    , _gName        :: !(Maybe Text)-    , _gDisplayName :: !(Maybe Text)-    , _gLabels      :: !(Maybe GroupLabels)-    , _gDescription :: !(Maybe Text)-    , _gCreateTime  :: !(Maybe DateTime')-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Group' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gParent'------ * 'gGroupKey'------ * 'gUpdateTime'------ * 'gName'------ * 'gDisplayName'------ * 'gLabels'------ * 'gDescription'------ * 'gCreateTime'-group'-    :: Group-group' =-  Group'-    { _gParent = Nothing-    , _gGroupKey = Nothing-    , _gUpdateTime = Nothing-    , _gName = Nothing-    , _gDisplayName = Nothing-    , _gLabels = Nothing-    , _gDescription = Nothing-    , _gCreateTime = Nothing-    }----- | The entity under which this Group resides in Cloud Identity resource--- hierarchy. Must be set when creating a Group, read-only afterwards.--- Currently allowed types: \`identitysources\`.-gParent :: Lens' Group (Maybe Text)-gParent = lens _gParent (\ s a -> s{_gParent = a})---- | EntityKey of the Group. Must be set when creating a Group, read-only--- afterwards.-gGroupKey :: Lens' Group (Maybe EntityKey)-gGroupKey-  = lens _gGroupKey (\ s a -> s{_gGroupKey = a})---- | The time when the Group was last updated. Output only.-gUpdateTime :: Lens' Group (Maybe UTCTime)-gUpdateTime-  = lens _gUpdateTime (\ s a -> s{_gUpdateTime = a}) .-      mapping _DateTime---- | [Resource--- name](https:\/\/cloud.google.com\/apis\/design\/resource_names) of the--- Group in the format: \`groups\/{group_id}\`, where group_id is the--- unique ID assigned to the Group. Must be left blank while creating a--- Group.-gName :: Lens' Group (Maybe Text)-gName = lens _gName (\ s a -> s{_gName = a})---- | The Group\'s display name.-gDisplayName :: Lens' Group (Maybe Text)-gDisplayName-  = lens _gDisplayName (\ s a -> s{_gDisplayName = a})---- | \`Required\`. Labels for Group resource. For creating Groups under a--- namespace, set label key to \'labels\/system\/groups\/external\' and--- label value as empty.-gLabels :: Lens' Group (Maybe GroupLabels)-gLabels = lens _gLabels (\ s a -> s{_gLabels = a})---- | An extended description to help users determine the purpose of a Group.--- For example, you can include information about who should join the--- Group, the types of messages to send to the Group, links to FAQs about--- the Group, or related Groups. Maximum length is 4,096 characters.-gDescription :: Lens' Group (Maybe Text)-gDescription-  = lens _gDescription (\ s a -> s{_gDescription = a})---- | The time when the Group was created. Output only.-gCreateTime :: Lens' Group (Maybe UTCTime)-gCreateTime-  = lens _gCreateTime (\ s a -> s{_gCreateTime = a}) .-      mapping _DateTime--instance FromJSON Group where-        parseJSON-          = withObject "Group"-              (\ o ->-                 Group' <$>-                   (o .:? "parent") <*> (o .:? "groupKey") <*>-                     (o .:? "updateTime")-                     <*> (o .:? "name")-                     <*> (o .:? "displayName")-                     <*> (o .:? "labels")-                     <*> (o .:? "description")-                     <*> (o .:? "createTime"))--instance ToJSON Group where-        toJSON Group'{..}-          = object-              (catMaybes-                 [("parent" .=) <$> _gParent,-                  ("groupKey" .=) <$> _gGroupKey,-                  ("updateTime" .=) <$> _gUpdateTime,-                  ("name" .=) <$> _gName,-                  ("displayName" .=) <$> _gDisplayName,-                  ("labels" .=) <$> _gLabels,-                  ("description" .=) <$> _gDescription,-                  ("createTime" .=) <$> _gCreateTime])---- | Resource representing a Membership within a Group------ /See:/ 'membership' smart constructor.-data Membership =-  Membership'-    { _mRoles              :: !(Maybe [MembershipRole])-    , _mUpdateTime         :: !(Maybe DateTime')-    , _mName               :: !(Maybe Text)-    , _mPreferredMemberKey :: !(Maybe EntityKey)-    , _mCreateTime         :: !(Maybe DateTime')-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Membership' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mRoles'------ * 'mUpdateTime'------ * 'mName'------ * 'mPreferredMemberKey'------ * 'mCreateTime'-membership-    :: Membership-membership =-  Membership'-    { _mRoles = Nothing-    , _mUpdateTime = Nothing-    , _mName = Nothing-    , _mPreferredMemberKey = Nothing-    , _mCreateTime = Nothing-    }----- | Roles for a member within the Group. Currently supported--- MembershipRoles: \`\"MEMBER\"\`.-mRoles :: Lens' Membership [MembershipRole]-mRoles-  = lens _mRoles (\ s a -> s{_mRoles = a}) . _Default .-      _Coerce---- | Last updated timestamp of the Membership. Output only.-mUpdateTime :: Lens' Membership (Maybe UTCTime)-mUpdateTime-  = lens _mUpdateTime (\ s a -> s{_mUpdateTime = a}) .-      mapping _DateTime---- | [Resource--- name](https:\/\/cloud.google.com\/apis\/design\/resource_names) of the--- Membership in the format:--- \`groups\/{group_id}\/memberships\/{member_id}\`, where group_id is the--- unique ID assigned to the Group to which Membership belongs to, and--- member_id is the unique ID assigned to the member Must be left blank--- while creating a Membership.-mName :: Lens' Membership (Maybe Text)-mName = lens _mName (\ s a -> s{_mName = a})---- | EntityKey of the entity to be added as the member. Must be set while--- creating a Membership, read-only afterwards. Currently allowed entity--- types: \`Users\`, \`Groups\`.-mPreferredMemberKey :: Lens' Membership (Maybe EntityKey)-mPreferredMemberKey-  = lens _mPreferredMemberKey-      (\ s a -> s{_mPreferredMemberKey = a})---- | Creation timestamp of the Membership. Output only.-mCreateTime :: Lens' Membership (Maybe UTCTime)-mCreateTime-  = lens _mCreateTime (\ s a -> s{_mCreateTime = a}) .-      mapping _DateTime--instance FromJSON Membership where-        parseJSON-          = withObject "Membership"-              (\ o ->-                 Membership' <$>-                   (o .:? "roles" .!= mempty) <*> (o .:? "updateTime")-                     <*> (o .:? "name")-                     <*> (o .:? "preferredMemberKey")-                     <*> (o .:? "createTime"))--instance ToJSON Membership where-        toJSON Membership'{..}-          = object-              (catMaybes-                 [("roles" .=) <$> _mRoles,-                  ("updateTime" .=) <$> _mUpdateTime,-                  ("name" .=) <$> _mName,-                  ("preferredMemberKey" .=) <$> _mPreferredMemberKey,-                  ("createTime" .=) <$> _mCreateTime])---- | This resource represents a long-running operation that is the result of--- a network API call.------ /See:/ 'operation' smart constructor.-data Operation =-  Operation'-    { _oDone     :: !(Maybe Bool)-    , _oError    :: !(Maybe Status)-    , _oResponse :: !(Maybe OperationResponse)-    , _oName     :: !(Maybe Text)-    , _oMetadata :: !(Maybe OperationMetadata)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Operation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'oDone'------ * 'oError'------ * 'oResponse'------ * 'oName'------ * 'oMetadata'-operation-    :: Operation-operation =-  Operation'-    { _oDone = Nothing-    , _oError = Nothing-    , _oResponse = Nothing-    , _oName = Nothing-    , _oMetadata = Nothing-    }----- | If the value is \`false\`, it means the operation is still in progress.--- If \`true\`, the operation is completed, and either \`error\` or--- \`response\` is available.-oDone :: Lens' Operation (Maybe Bool)-oDone = lens _oDone (\ s a -> s{_oDone = a})---- | The error result of the operation in case of failure or cancellation.-oError :: Lens' Operation (Maybe Status)-oError = lens _oError (\ s a -> s{_oError = a})---- | The normal response of the operation in case of success. If the original--- method returns no data on success, such as \`Delete\`, the response is--- \`google.protobuf.Empty\`. If the original method is standard--- \`Get\`\/\`Create\`\/\`Update\`, the response should be the resource.--- For other methods, the response should have the type \`XxxResponse\`,--- where \`Xxx\` is the original method name. For example, if the original--- method name is \`TakeSnapshot()\`, the inferred response type is--- \`TakeSnapshotResponse\`.-oResponse :: Lens' Operation (Maybe OperationResponse)-oResponse-  = lens _oResponse (\ s a -> s{_oResponse = a})---- | The server-assigned name, which is only unique within the same service--- that originally returns it. If you use the default HTTP mapping, the--- \`name\` should have the format of \`operations\/some\/unique\/name\`.-oName :: Lens' Operation (Maybe Text)-oName = lens _oName (\ s a -> s{_oName = a})---- | Service-specific metadata associated with the operation. It typically--- contains progress information and common metadata such as create time.--- Some services might not provide such metadata. Any method that returns a--- long-running operation should document the metadata type, if any.-oMetadata :: Lens' Operation (Maybe OperationMetadata)-oMetadata-  = lens _oMetadata (\ s a -> s{_oMetadata = a})--instance FromJSON Operation where-        parseJSON-          = withObject "Operation"-              (\ o ->-                 Operation' <$>-                   (o .:? "done") <*> (o .:? "error") <*>-                     (o .:? "response")-                     <*> (o .:? "name")-                     <*> (o .:? "metadata"))--instance ToJSON Operation where-        toJSON Operation'{..}-          = object-              (catMaybes-                 [("done" .=) <$> _oDone, ("error" .=) <$> _oError,-                  ("response" .=) <$> _oResponse,-                  ("name" .=) <$> _oName,-                  ("metadata" .=) <$> _oMetadata])---- | Response message for ListGroups operation.------ /See:/ 'listGroupsResponse' smart constructor.-data ListGroupsResponse =-  ListGroupsResponse'-    { _lgrGroups        :: !(Maybe [Group])-    , _lgrNextPageToken :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ListGroupsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lgrGroups'------ * 'lgrNextPageToken'-listGroupsResponse-    :: ListGroupsResponse-listGroupsResponse =-  ListGroupsResponse' {_lgrGroups = Nothing, _lgrNextPageToken = Nothing}----- | Groups returned in response to list request. The results are not sorted.-lgrGroups :: Lens' ListGroupsResponse [Group]-lgrGroups-  = lens _lgrGroups (\ s a -> s{_lgrGroups = a}) .-      _Default-      . _Coerce---- | Token to retrieve the next page of results, or empty if there are no--- more results available for listing.-lgrNextPageToken :: Lens' ListGroupsResponse (Maybe Text)-lgrNextPageToken-  = lens _lgrNextPageToken-      (\ s a -> s{_lgrNextPageToken = a})--instance FromJSON ListGroupsResponse where-        parseJSON-          = withObject "ListGroupsResponse"-              (\ o ->-                 ListGroupsResponse' <$>-                   (o .:? "groups" .!= mempty) <*>-                     (o .:? "nextPageToken"))--instance ToJSON ListGroupsResponse where-        toJSON ListGroupsResponse'{..}-          = object-              (catMaybes-                 [("groups" .=) <$> _lgrGroups,-                  ("nextPageToken" .=) <$> _lgrNextPageToken])------- /See:/ 'statusDetailsItem' smart constructor.-newtype StatusDetailsItem =-  StatusDetailsItem'-    { _sdiAddtional :: HashMap Text JSONValue-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'StatusDetailsItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sdiAddtional'-statusDetailsItem-    :: HashMap Text JSONValue -- ^ 'sdiAddtional'-    -> StatusDetailsItem-statusDetailsItem pSdiAddtional_ =-  StatusDetailsItem' {_sdiAddtional = _Coerce # pSdiAddtional_}----- | Properties of the object. Contains field \'type with type URL.-sdiAddtional :: Lens' StatusDetailsItem (HashMap Text JSONValue)-sdiAddtional-  = lens _sdiAddtional (\ s a -> s{_sdiAddtional = a})-      . _Coerce--instance FromJSON StatusDetailsItem where-        parseJSON-          = withObject "StatusDetailsItem"-              (\ o -> StatusDetailsItem' <$> (parseJSONObject o))--instance ToJSON StatusDetailsItem where-        toJSON = toJSON . _sdiAddtional---- | Resource representing a role within a Membership.------ /See:/ 'membershipRole' smart constructor.-newtype MembershipRole =-  MembershipRole'-    { _mrName :: Maybe Text-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'MembershipRole' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mrName'-membershipRole-    :: MembershipRole-membershipRole = MembershipRole' {_mrName = Nothing}----- | MembershipRole in string format. Currently supported MembershipRoles:--- \`\"MEMBER\"\`.-mrName :: Lens' MembershipRole (Maybe Text)-mrName = lens _mrName (\ s a -> s{_mrName = a})--instance FromJSON MembershipRole where-        parseJSON-          = withObject "MembershipRole"-              (\ o -> MembershipRole' <$> (o .:? "name"))--instance ToJSON MembershipRole where-        toJSON MembershipRole'{..}-          = object (catMaybes [("name" .=) <$> _mrName])------- /See:/ 'lookupGroupNameResponse' smart constructor.-newtype LookupGroupNameResponse =-  LookupGroupNameResponse'-    { _lgnrName :: Maybe Text-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'LookupGroupNameResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lgnrName'-lookupGroupNameResponse-    :: LookupGroupNameResponse-lookupGroupNameResponse = LookupGroupNameResponse' {_lgnrName = Nothing}----- | [Resource--- name](https:\/\/cloud.google.com\/apis\/design\/resource_names) of the--- Group in the format: \`groups\/{group_id}\`, where \`group_id\` is the--- unique ID assigned to the Group.-lgnrName :: Lens' LookupGroupNameResponse (Maybe Text)-lgnrName = lens _lgnrName (\ s a -> s{_lgnrName = a})--instance FromJSON LookupGroupNameResponse where-        parseJSON-          = withObject "LookupGroupNameResponse"-              (\ o -> LookupGroupNameResponse' <$> (o .:? "name"))--instance ToJSON LookupGroupNameResponse where-        toJSON LookupGroupNameResponse'{..}-          = object (catMaybes [("name" .=) <$> _lgnrName])------- /See:/ 'searchGroupsResponse' smart constructor.-data SearchGroupsResponse =-  SearchGroupsResponse'-    { _sgrGroups        :: !(Maybe [Group])-    , _sgrNextPageToken :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'SearchGroupsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sgrGroups'------ * 'sgrNextPageToken'-searchGroupsResponse-    :: SearchGroupsResponse-searchGroupsResponse =-  SearchGroupsResponse' {_sgrGroups = Nothing, _sgrNextPageToken = Nothing}----- | List of Groups satisfying the search query.-sgrGroups :: Lens' SearchGroupsResponse [Group]-sgrGroups-  = lens _sgrGroups (\ s a -> s{_sgrGroups = a}) .-      _Default-      . _Coerce---- | Token to retrieve the next page of results, or empty if there are no--- more results available for specified query.-sgrNextPageToken :: Lens' SearchGroupsResponse (Maybe Text)-sgrNextPageToken-  = lens _sgrNextPageToken-      (\ s a -> s{_sgrNextPageToken = a})--instance FromJSON SearchGroupsResponse where-        parseJSON-          = withObject "SearchGroupsResponse"-              (\ o ->-                 SearchGroupsResponse' <$>-                   (o .:? "groups" .!= mempty) <*>-                     (o .:? "nextPageToken"))--instance ToJSON SearchGroupsResponse where-        toJSON SearchGroupsResponse'{..}-          = object-              (catMaybes-                 [("groups" .=) <$> _sgrGroups,-                  ("nextPageToken" .=) <$> _sgrNextPageToken])---- | An EntityKey uniquely identifies an Entity. Namespaces are used to--- provide isolation for IDs. A single ID can be reused across namespaces--- but the combination of a namespace and an ID must be unique.------ /See:/ 'entityKey' smart constructor.-data EntityKey =-  EntityKey'-    { _ekNamespace :: !(Maybe Text)-    , _ekId        :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'EntityKey' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ekNamespace'------ * 'ekId'-entityKey-    :: EntityKey-entityKey = EntityKey' {_ekNamespace = Nothing, _ekId = Nothing}----- | Namespaces provide isolation for IDs, so an ID only needs to be unique--- within its namespace. Namespaces are currently only created as part of--- IdentitySource creation from Admin Console. A namespace--- \`\"identitysources\/{identity_source_id}\"\` is created corresponding--- to every Identity Source \`identity_source_id\`.-ekNamespace :: Lens' EntityKey (Maybe Text)-ekNamespace-  = lens _ekNamespace (\ s a -> s{_ekNamespace = a})---- | The ID of the entity within the given namespace. The ID must be unique--- within its namespace.-ekId :: Lens' EntityKey (Maybe Text)-ekId = lens _ekId (\ s a -> s{_ekId = a})--instance FromJSON EntityKey where-        parseJSON-          = withObject "EntityKey"-              (\ o ->-                 EntityKey' <$> (o .:? "namespace") <*> (o .:? "id"))--instance ToJSON EntityKey where-        toJSON EntityKey'{..}-          = object-              (catMaybes-                 [("namespace" .=) <$> _ekNamespace,-                  ("id" .=) <$> _ekId])---- | \`Required\`. Labels for Group resource. For creating Groups under a--- namespace, set label key to \'labels\/system\/groups\/external\' and--- label value as empty.------ /See:/ 'groupLabels' smart constructor.-newtype GroupLabels =-  GroupLabels'-    { _glAddtional :: HashMap Text Text-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'GroupLabels' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'glAddtional'-groupLabels-    :: HashMap Text Text -- ^ 'glAddtional'-    -> GroupLabels-groupLabels pGlAddtional_ =-  GroupLabels' {_glAddtional = _Coerce # pGlAddtional_}---glAddtional :: Lens' GroupLabels (HashMap Text Text)-glAddtional-  = lens _glAddtional (\ s a -> s{_glAddtional = a}) .-      _Coerce--instance FromJSON GroupLabels where-        parseJSON-          = withObject "GroupLabels"-              (\ o -> GroupLabels' <$> (parseJSONObject o))--instance ToJSON GroupLabels where-        toJSON = toJSON . _glAddtional------- /See:/ 'listMembershipsResponse' smart constructor.-data ListMembershipsResponse =-  ListMembershipsResponse'-    { _lmrNextPageToken :: !(Maybe Text)-    , _lmrMemberships   :: !(Maybe [Membership])-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ListMembershipsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lmrNextPageToken'------ * 'lmrMemberships'-listMembershipsResponse-    :: ListMembershipsResponse-listMembershipsResponse =-  ListMembershipsResponse'-    {_lmrNextPageToken = Nothing, _lmrMemberships = Nothing}----- | Token to retrieve the next page of results, or empty if there are no--- more results available for listing.-lmrNextPageToken :: Lens' ListMembershipsResponse (Maybe Text)-lmrNextPageToken-  = lens _lmrNextPageToken-      (\ s a -> s{_lmrNextPageToken = a})---- | List of Memberships.-lmrMemberships :: Lens' ListMembershipsResponse [Membership]-lmrMemberships-  = lens _lmrMemberships-      (\ s a -> s{_lmrMemberships = a})-      . _Default-      . _Coerce--instance FromJSON ListMembershipsResponse where-        parseJSON-          = withObject "ListMembershipsResponse"-              (\ o ->-                 ListMembershipsResponse' <$>-                   (o .:? "nextPageToken") <*>-                     (o .:? "memberships" .!= mempty))--instance ToJSON ListMembershipsResponse where-        toJSON ListMembershipsResponse'{..}-          = object-              (catMaybes-                 [("nextPageToken" .=) <$> _lmrNextPageToken,-                  ("memberships" .=) <$> _lmrMemberships])---- | Service-specific metadata associated with the operation. It typically--- contains progress information and common metadata such as create time.--- Some services might not provide such metadata. Any method that returns a--- long-running operation should document the metadata type, if any.------ /See:/ 'operationMetadata' smart constructor.-newtype OperationMetadata =-  OperationMetadata'-    { _omAddtional :: HashMap Text JSONValue-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'OperationMetadata' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'omAddtional'-operationMetadata-    :: HashMap Text JSONValue -- ^ 'omAddtional'-    -> OperationMetadata-operationMetadata pOmAddtional_ =-  OperationMetadata' {_omAddtional = _Coerce # pOmAddtional_}----- | Properties of the object. Contains field \'type with type URL.-omAddtional :: Lens' OperationMetadata (HashMap Text JSONValue)-omAddtional-  = lens _omAddtional (\ s a -> s{_omAddtional = a}) .-      _Coerce--instance FromJSON OperationMetadata where-        parseJSON-          = withObject "OperationMetadata"-              (\ o -> OperationMetadata' <$> (parseJSONObject o))--instance ToJSON OperationMetadata where-        toJSON = toJSON . _omAddtional---- | The normal response of the operation in case of success. If the original--- method returns no data on success, such as \`Delete\`, the response is--- \`google.protobuf.Empty\`. If the original method is standard--- \`Get\`\/\`Create\`\/\`Update\`, the response should be the resource.--- For other methods, the response should have the type \`XxxResponse\`,--- where \`Xxx\` is the original method name. For example, if the original--- method name is \`TakeSnapshot()\`, the inferred response type is--- \`TakeSnapshotResponse\`.------ /See:/ 'operationResponse' smart constructor.-newtype OperationResponse =-  OperationResponse'-    { _orAddtional :: HashMap Text JSONValue-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'OperationResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'orAddtional'-operationResponse-    :: HashMap Text JSONValue -- ^ 'orAddtional'-    -> OperationResponse-operationResponse pOrAddtional_ =-  OperationResponse' {_orAddtional = _Coerce # pOrAddtional_}----- | Properties of the object. Contains field \'type with type URL.-orAddtional :: Lens' OperationResponse (HashMap Text JSONValue)-orAddtional-  = lens _orAddtional (\ s a -> s{_orAddtional = a}) .-      _Coerce--instance FromJSON OperationResponse where-        parseJSON-          = withObject "OperationResponse"-              (\ o -> OperationResponse' <$> (parseJSONObject o))--instance ToJSON OperationResponse where-        toJSON = toJSON . _orAddtional
− gen/Network/Google/CloudIdentity/Types/Sum.hs
@@ -1,48 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE LambdaCase         #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- |--- Module      : Network.Google.CloudIdentity.Types.Sum--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.Google.CloudIdentity.Types.Sum where--import           Network.Google.Prelude hiding (Bytes)---- | V1 error format.-data Xgafv-    = X1-      -- ^ @1@-      -- v1 error format-    | X2-      -- ^ @2@-      -- v2 error format-      deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)--instance Hashable Xgafv--instance FromHttpApiData Xgafv where-    parseQueryParam = \case-        "1" -> Right X1-        "2" -> Right X2-        x -> Left ("Unable to parse Xgafv from: " <> x)--instance ToHttpApiData Xgafv where-    toQueryParam = \case-        X1 -> "1"-        X2 -> "2"--instance FromJSON Xgafv where-    parseJSON = parseJSONText "Xgafv"--instance ToJSON Xgafv where-    toJSON = toJSONText
− gen/Network/Google/Resource/CloudIdentity/Groups/Create.hs
@@ -1,148 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.CloudIdentity.Groups.Create--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Creates a Group.------ /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.create@.-module Network.Google.Resource.CloudIdentity.Groups.Create-    (-    -- * REST Resource-      GroupsCreateResource--    -- * Creating a Request-    , groupsCreate-    , GroupsCreate--    -- * Request Lenses-    , gcXgafv-    , gcUploadProtocol-    , gcAccessToken-    , gcUploadType-    , gcPayload-    , gcCallback-    ) where--import           Network.Google.CloudIdentity.Types-import           Network.Google.Prelude---- | A resource alias for @cloudidentity.groups.create@ method which the--- 'GroupsCreate' request conforms to.-type GroupsCreateResource =-     "v1" :>-       "groups" :>-         QueryParam "$.xgafv" Xgafv :>-           QueryParam "upload_protocol" Text :>-             QueryParam "access_token" Text :>-               QueryParam "uploadType" Text :>-                 QueryParam "callback" Text :>-                   QueryParam "alt" AltJSON :>-                     ReqBody '[JSON] Group :> Post '[JSON] Operation---- | Creates a Group.------ /See:/ 'groupsCreate' smart constructor.-data GroupsCreate =-  GroupsCreate'-    { _gcXgafv          :: !(Maybe Xgafv)-    , _gcUploadProtocol :: !(Maybe Text)-    , _gcAccessToken    :: !(Maybe Text)-    , _gcUploadType     :: !(Maybe Text)-    , _gcPayload        :: !Group-    , _gcCallback       :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'GroupsCreate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gcXgafv'------ * 'gcUploadProtocol'------ * 'gcAccessToken'------ * 'gcUploadType'------ * 'gcPayload'------ * 'gcCallback'-groupsCreate-    :: Group -- ^ 'gcPayload'-    -> GroupsCreate-groupsCreate pGcPayload_ =-  GroupsCreate'-    { _gcXgafv = Nothing-    , _gcUploadProtocol = Nothing-    , _gcAccessToken = Nothing-    , _gcUploadType = Nothing-    , _gcPayload = pGcPayload_-    , _gcCallback = Nothing-    }----- | V1 error format.-gcXgafv :: Lens' GroupsCreate (Maybe Xgafv)-gcXgafv = lens _gcXgafv (\ s a -> s{_gcXgafv = a})---- | Upload protocol for media (e.g. \"raw\", \"multipart\").-gcUploadProtocol :: Lens' GroupsCreate (Maybe Text)-gcUploadProtocol-  = lens _gcUploadProtocol-      (\ s a -> s{_gcUploadProtocol = a})---- | OAuth access token.-gcAccessToken :: Lens' GroupsCreate (Maybe Text)-gcAccessToken-  = lens _gcAccessToken-      (\ s a -> s{_gcAccessToken = a})---- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").-gcUploadType :: Lens' GroupsCreate (Maybe Text)-gcUploadType-  = lens _gcUploadType (\ s a -> s{_gcUploadType = a})---- | Multipart request metadata.-gcPayload :: Lens' GroupsCreate Group-gcPayload-  = lens _gcPayload (\ s a -> s{_gcPayload = a})---- | JSONP-gcCallback :: Lens' GroupsCreate (Maybe Text)-gcCallback-  = lens _gcCallback (\ s a -> s{_gcCallback = a})--instance GoogleRequest GroupsCreate where-        type Rs GroupsCreate = Operation-        type Scopes GroupsCreate =-             '["https://www.googleapis.com/auth/cloud-identity.groups"]-        requestClient GroupsCreate'{..}-          = go _gcXgafv _gcUploadProtocol _gcAccessToken-              _gcUploadType-              _gcCallback-              (Just AltJSON)-              _gcPayload-              cloudIdentityService-          where go-                  = buildClient (Proxy :: Proxy GroupsCreateResource)-                      mempty
− gen/Network/Google/Resource/CloudIdentity/Groups/Delete.hs
@@ -1,149 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.CloudIdentity.Groups.Delete--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Deletes a Group.------ /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.delete@.-module Network.Google.Resource.CloudIdentity.Groups.Delete-    (-    -- * REST Resource-      GroupsDeleteResource--    -- * Creating a Request-    , groupsDelete-    , GroupsDelete--    -- * Request Lenses-    , gdXgafv-    , gdUploadProtocol-    , gdAccessToken-    , gdUploadType-    , gdName-    , gdCallback-    ) where--import           Network.Google.CloudIdentity.Types-import           Network.Google.Prelude---- | A resource alias for @cloudidentity.groups.delete@ method which the--- 'GroupsDelete' request conforms to.-type GroupsDeleteResource =-     "v1" :>-       Capture "name" Text :>-         QueryParam "$.xgafv" Xgafv :>-           QueryParam "upload_protocol" Text :>-             QueryParam "access_token" Text :>-               QueryParam "uploadType" Text :>-                 QueryParam "callback" Text :>-                   QueryParam "alt" AltJSON :> Delete '[JSON] Operation---- | Deletes a Group.------ /See:/ 'groupsDelete' smart constructor.-data GroupsDelete =-  GroupsDelete'-    { _gdXgafv          :: !(Maybe Xgafv)-    , _gdUploadProtocol :: !(Maybe Text)-    , _gdAccessToken    :: !(Maybe Text)-    , _gdUploadType     :: !(Maybe Text)-    , _gdName           :: !Text-    , _gdCallback       :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'GroupsDelete' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gdXgafv'------ * 'gdUploadProtocol'------ * 'gdAccessToken'------ * 'gdUploadType'------ * 'gdName'------ * 'gdCallback'-groupsDelete-    :: Text -- ^ 'gdName'-    -> GroupsDelete-groupsDelete pGdName_ =-  GroupsDelete'-    { _gdXgafv = Nothing-    , _gdUploadProtocol = Nothing-    , _gdAccessToken = Nothing-    , _gdUploadType = Nothing-    , _gdName = pGdName_-    , _gdCallback = Nothing-    }----- | V1 error format.-gdXgafv :: Lens' GroupsDelete (Maybe Xgafv)-gdXgafv = lens _gdXgafv (\ s a -> s{_gdXgafv = a})---- | Upload protocol for media (e.g. \"raw\", \"multipart\").-gdUploadProtocol :: Lens' GroupsDelete (Maybe Text)-gdUploadProtocol-  = lens _gdUploadProtocol-      (\ s a -> s{_gdUploadProtocol = a})---- | OAuth access token.-gdAccessToken :: Lens' GroupsDelete (Maybe Text)-gdAccessToken-  = lens _gdAccessToken-      (\ s a -> s{_gdAccessToken = a})---- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").-gdUploadType :: Lens' GroupsDelete (Maybe Text)-gdUploadType-  = lens _gdUploadType (\ s a -> s{_gdUploadType = a})---- | [Resource--- name](https:\/\/cloud.google.com\/apis\/design\/resource_names) of the--- Group in the format: \`groups\/{group_id}\`, where \`group_id\` is the--- unique ID assigned to the Group.-gdName :: Lens' GroupsDelete Text-gdName = lens _gdName (\ s a -> s{_gdName = a})---- | JSONP-gdCallback :: Lens' GroupsDelete (Maybe Text)-gdCallback-  = lens _gdCallback (\ s a -> s{_gdCallback = a})--instance GoogleRequest GroupsDelete where-        type Rs GroupsDelete = Operation-        type Scopes GroupsDelete =-             '["https://www.googleapis.com/auth/cloud-identity.groups"]-        requestClient GroupsDelete'{..}-          = go _gdName _gdXgafv _gdUploadProtocol-              _gdAccessToken-              _gdUploadType-              _gdCallback-              (Just AltJSON)-              cloudIdentityService-          where go-                  = buildClient (Proxy :: Proxy GroupsDeleteResource)-                      mempty
− gen/Network/Google/Resource/CloudIdentity/Groups/Get.hs
@@ -1,150 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.CloudIdentity.Groups.Get--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Retrieves a Group.------ /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.get@.-module Network.Google.Resource.CloudIdentity.Groups.Get-    (-    -- * REST Resource-      GroupsGetResource--    -- * Creating a Request-    , groupsGet-    , GroupsGet--    -- * Request Lenses-    , ggXgafv-    , ggUploadProtocol-    , ggAccessToken-    , ggUploadType-    , ggName-    , ggCallback-    ) where--import           Network.Google.CloudIdentity.Types-import           Network.Google.Prelude---- | A resource alias for @cloudidentity.groups.get@ method which the--- 'GroupsGet' request conforms to.-type GroupsGetResource =-     "v1" :>-       Capture "name" Text :>-         QueryParam "$.xgafv" Xgafv :>-           QueryParam "upload_protocol" Text :>-             QueryParam "access_token" Text :>-               QueryParam "uploadType" Text :>-                 QueryParam "callback" Text :>-                   QueryParam "alt" AltJSON :> Get '[JSON] Group---- | Retrieves a Group.------ /See:/ 'groupsGet' smart constructor.-data GroupsGet =-  GroupsGet'-    { _ggXgafv          :: !(Maybe Xgafv)-    , _ggUploadProtocol :: !(Maybe Text)-    , _ggAccessToken    :: !(Maybe Text)-    , _ggUploadType     :: !(Maybe Text)-    , _ggName           :: !Text-    , _ggCallback       :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'GroupsGet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ggXgafv'------ * 'ggUploadProtocol'------ * 'ggAccessToken'------ * 'ggUploadType'------ * 'ggName'------ * 'ggCallback'-groupsGet-    :: Text -- ^ 'ggName'-    -> GroupsGet-groupsGet pGgName_ =-  GroupsGet'-    { _ggXgafv = Nothing-    , _ggUploadProtocol = Nothing-    , _ggAccessToken = Nothing-    , _ggUploadType = Nothing-    , _ggName = pGgName_-    , _ggCallback = Nothing-    }----- | V1 error format.-ggXgafv :: Lens' GroupsGet (Maybe Xgafv)-ggXgafv = lens _ggXgafv (\ s a -> s{_ggXgafv = a})---- | Upload protocol for media (e.g. \"raw\", \"multipart\").-ggUploadProtocol :: Lens' GroupsGet (Maybe Text)-ggUploadProtocol-  = lens _ggUploadProtocol-      (\ s a -> s{_ggUploadProtocol = a})---- | OAuth access token.-ggAccessToken :: Lens' GroupsGet (Maybe Text)-ggAccessToken-  = lens _ggAccessToken-      (\ s a -> s{_ggAccessToken = a})---- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").-ggUploadType :: Lens' GroupsGet (Maybe Text)-ggUploadType-  = lens _ggUploadType (\ s a -> s{_ggUploadType = a})---- | [Resource--- name](https:\/\/cloud.google.com\/apis\/design\/resource_names) of the--- Group in the format: \`groups\/{group_id}\`, where \`group_id\` is the--- unique ID assigned to the Group.-ggName :: Lens' GroupsGet Text-ggName = lens _ggName (\ s a -> s{_ggName = a})---- | JSONP-ggCallback :: Lens' GroupsGet (Maybe Text)-ggCallback-  = lens _ggCallback (\ s a -> s{_ggCallback = a})--instance GoogleRequest GroupsGet where-        type Rs GroupsGet = Group-        type Scopes GroupsGet =-             '["https://www.googleapis.com/auth/cloud-identity.groups",-               "https://www.googleapis.com/auth/cloud-identity.groups.readonly"]-        requestClient GroupsGet'{..}-          = go _ggName _ggXgafv _ggUploadProtocol-              _ggAccessToken-              _ggUploadType-              _ggCallback-              (Just AltJSON)-              cloudIdentityService-          where go-                  = buildClient (Proxy :: Proxy GroupsGetResource)-                      mempty
− gen/Network/Google/Resource/CloudIdentity/Groups/List.hs
@@ -1,188 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.CloudIdentity.Groups.List--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ List groups within a customer or a domain.------ /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.list@.-module Network.Google.Resource.CloudIdentity.Groups.List-    (-    -- * REST Resource-      GroupsListResource--    -- * Creating a Request-    , groupsList-    , GroupsList--    -- * Request Lenses-    , gllParent-    , gllXgafv-    , gllUploadProtocol-    , gllAccessToken-    , gllUploadType-    , gllView-    , gllPageToken-    , gllPageSize-    , gllCallback-    ) where--import           Network.Google.CloudIdentity.Types-import           Network.Google.Prelude---- | A resource alias for @cloudidentity.groups.list@ method which the--- 'GroupsList' request conforms to.-type GroupsListResource =-     "v1" :>-       "groups" :>-         QueryParam "parent" Text :>-           QueryParam "$.xgafv" Xgafv :>-             QueryParam "upload_protocol" Text :>-               QueryParam "access_token" Text :>-                 QueryParam "uploadType" Text :>-                   QueryParam "view" Text :>-                     QueryParam "pageToken" Text :>-                       QueryParam "pageSize" (Textual Int32) :>-                         QueryParam "callback" Text :>-                           QueryParam "alt" AltJSON :>-                             Get '[JSON] ListGroupsResponse---- | List groups within a customer or a domain.------ /See:/ 'groupsList' smart constructor.-data GroupsList =-  GroupsList'-    { _gllParent         :: !(Maybe Text)-    , _gllXgafv          :: !(Maybe Xgafv)-    , _gllUploadProtocol :: !(Maybe Text)-    , _gllAccessToken    :: !(Maybe Text)-    , _gllUploadType     :: !(Maybe Text)-    , _gllView           :: !(Maybe Text)-    , _gllPageToken      :: !(Maybe Text)-    , _gllPageSize       :: !(Maybe (Textual Int32))-    , _gllCallback       :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'GroupsList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gllParent'------ * 'gllXgafv'------ * 'gllUploadProtocol'------ * 'gllAccessToken'------ * 'gllUploadType'------ * 'gllView'------ * 'gllPageToken'------ * 'gllPageSize'------ * 'gllCallback'-groupsList-    :: GroupsList-groupsList =-  GroupsList'-    { _gllParent = Nothing-    , _gllXgafv = Nothing-    , _gllUploadProtocol = Nothing-    , _gllAccessToken = Nothing-    , _gllUploadType = Nothing-    , _gllView = Nothing-    , _gllPageToken = Nothing-    , _gllPageSize = Nothing-    , _gllCallback = Nothing-    }----- | \`Required\`. May be made Optional in the future. Customer ID to list--- all groups from.-gllParent :: Lens' GroupsList (Maybe Text)-gllParent-  = lens _gllParent (\ s a -> s{_gllParent = a})---- | V1 error format.-gllXgafv :: Lens' GroupsList (Maybe Xgafv)-gllXgafv = lens _gllXgafv (\ s a -> s{_gllXgafv = a})---- | Upload protocol for media (e.g. \"raw\", \"multipart\").-gllUploadProtocol :: Lens' GroupsList (Maybe Text)-gllUploadProtocol-  = lens _gllUploadProtocol-      (\ s a -> s{_gllUploadProtocol = a})---- | OAuth access token.-gllAccessToken :: Lens' GroupsList (Maybe Text)-gllAccessToken-  = lens _gllAccessToken-      (\ s a -> s{_gllAccessToken = a})---- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").-gllUploadType :: Lens' GroupsList (Maybe Text)-gllUploadType-  = lens _gllUploadType-      (\ s a -> s{_gllUploadType = a})---- | Group resource view to be returned. Defaults to [View.BASIC]().-gllView :: Lens' GroupsList (Maybe Text)-gllView = lens _gllView (\ s a -> s{_gllView = a})---- | The next_page_token value returned from a previous list request, if any.-gllPageToken :: Lens' GroupsList (Maybe Text)-gllPageToken-  = lens _gllPageToken (\ s a -> s{_gllPageToken = a})---- | The default page size is 200 (max 1000) for the BASIC view, and 50 (max--- 500) for the FULL view.-gllPageSize :: Lens' GroupsList (Maybe Int32)-gllPageSize-  = lens _gllPageSize (\ s a -> s{_gllPageSize = a}) .-      mapping _Coerce---- | JSONP-gllCallback :: Lens' GroupsList (Maybe Text)-gllCallback-  = lens _gllCallback (\ s a -> s{_gllCallback = a})--instance GoogleRequest GroupsList where-        type Rs GroupsList = ListGroupsResponse-        type Scopes GroupsList =-             '["https://www.googleapis.com/auth/cloud-identity.groups",-               "https://www.googleapis.com/auth/cloud-identity.groups.readonly"]-        requestClient GroupsList'{..}-          = go _gllParent _gllXgafv _gllUploadProtocol-              _gllAccessToken-              _gllUploadType-              _gllView-              _gllPageToken-              _gllPageSize-              _gllCallback-              (Just AltJSON)-              cloudIdentityService-          where go-                  = buildClient (Proxy :: Proxy GroupsListResource)-                      mempty
− gen/Network/Google/Resource/CloudIdentity/Groups/Lookup.hs
@@ -1,171 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.CloudIdentity.Groups.Lookup--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Looks up [resource--- name](https:\/\/cloud.google.com\/apis\/design\/resource_names) of a--- Group by its EntityKey.------ /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.lookup@.-module Network.Google.Resource.CloudIdentity.Groups.Lookup-    (-    -- * REST Resource-      GroupsLookupResource--    -- * Creating a Request-    , groupsLookup-    , GroupsLookup--    -- * Request Lenses-    , glXgafv-    , glUploadProtocol-    , glAccessToken-    , glGroupKeyId-    , glUploadType-    , glGroupKeyNamespace-    , glCallback-    ) where--import           Network.Google.CloudIdentity.Types-import           Network.Google.Prelude---- | A resource alias for @cloudidentity.groups.lookup@ method which the--- 'GroupsLookup' request conforms to.-type GroupsLookupResource =-     "v1" :>-       "groups:lookup" :>-         QueryParam "$.xgafv" Xgafv :>-           QueryParam "upload_protocol" Text :>-             QueryParam "access_token" Text :>-               QueryParam "groupKey.id" Text :>-                 QueryParam "uploadType" Text :>-                   QueryParam "groupKey.namespace" Text :>-                     QueryParam "callback" Text :>-                       QueryParam "alt" AltJSON :>-                         Get '[JSON] LookupGroupNameResponse---- | Looks up [resource--- name](https:\/\/cloud.google.com\/apis\/design\/resource_names) of a--- Group by its EntityKey.------ /See:/ 'groupsLookup' smart constructor.-data GroupsLookup =-  GroupsLookup'-    { _glXgafv             :: !(Maybe Xgafv)-    , _glUploadProtocol    :: !(Maybe Text)-    , _glAccessToken       :: !(Maybe Text)-    , _glGroupKeyId        :: !(Maybe Text)-    , _glUploadType        :: !(Maybe Text)-    , _glGroupKeyNamespace :: !(Maybe Text)-    , _glCallback          :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'GroupsLookup' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'glXgafv'------ * 'glUploadProtocol'------ * 'glAccessToken'------ * 'glGroupKeyId'------ * 'glUploadType'------ * 'glGroupKeyNamespace'------ * 'glCallback'-groupsLookup-    :: GroupsLookup-groupsLookup =-  GroupsLookup'-    { _glXgafv = Nothing-    , _glUploadProtocol = Nothing-    , _glAccessToken = Nothing-    , _glGroupKeyId = Nothing-    , _glUploadType = Nothing-    , _glGroupKeyNamespace = Nothing-    , _glCallback = Nothing-    }----- | V1 error format.-glXgafv :: Lens' GroupsLookup (Maybe Xgafv)-glXgafv = lens _glXgafv (\ s a -> s{_glXgafv = a})---- | Upload protocol for media (e.g. \"raw\", \"multipart\").-glUploadProtocol :: Lens' GroupsLookup (Maybe Text)-glUploadProtocol-  = lens _glUploadProtocol-      (\ s a -> s{_glUploadProtocol = a})---- | OAuth access token.-glAccessToken :: Lens' GroupsLookup (Maybe Text)-glAccessToken-  = lens _glAccessToken-      (\ s a -> s{_glAccessToken = a})---- | The ID of the entity within the given namespace. The ID must be unique--- within its namespace.-glGroupKeyId :: Lens' GroupsLookup (Maybe Text)-glGroupKeyId-  = lens _glGroupKeyId (\ s a -> s{_glGroupKeyId = a})---- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").-glUploadType :: Lens' GroupsLookup (Maybe Text)-glUploadType-  = lens _glUploadType (\ s a -> s{_glUploadType = a})---- | Namespaces provide isolation for IDs, so an ID only needs to be unique--- within its namespace. Namespaces are currently only created as part of--- IdentitySource creation from Admin Console. A namespace--- \`\"identitysources\/{identity_source_id}\"\` is created corresponding--- to every Identity Source \`identity_source_id\`.-glGroupKeyNamespace :: Lens' GroupsLookup (Maybe Text)-glGroupKeyNamespace-  = lens _glGroupKeyNamespace-      (\ s a -> s{_glGroupKeyNamespace = a})---- | JSONP-glCallback :: Lens' GroupsLookup (Maybe Text)-glCallback-  = lens _glCallback (\ s a -> s{_glCallback = a})--instance GoogleRequest GroupsLookup where-        type Rs GroupsLookup = LookupGroupNameResponse-        type Scopes GroupsLookup =-             '["https://www.googleapis.com/auth/cloud-identity.groups",-               "https://www.googleapis.com/auth/cloud-identity.groups.readonly"]-        requestClient GroupsLookup'{..}-          = go _glXgafv _glUploadProtocol _glAccessToken-              _glGroupKeyId-              _glUploadType-              _glGroupKeyNamespace-              _glCallback-              (Just AltJSON)-              cloudIdentityService-          where go-                  = buildClient (Proxy :: Proxy GroupsLookupResource)-                      mempty
− gen/Network/Google/Resource/CloudIdentity/Groups/Memberships/Create.hs
@@ -1,166 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.CloudIdentity.Groups.Memberships.Create--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Creates a Membership.------ /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.memberships.create@.-module Network.Google.Resource.CloudIdentity.Groups.Memberships.Create-    (-    -- * REST Resource-      GroupsMembershipsCreateResource--    -- * Creating a Request-    , groupsMembershipsCreate-    , GroupsMembershipsCreate--    -- * Request Lenses-    , gmcParent-    , gmcXgafv-    , gmcUploadProtocol-    , gmcAccessToken-    , gmcUploadType-    , gmcPayload-    , gmcCallback-    ) where--import           Network.Google.CloudIdentity.Types-import           Network.Google.Prelude---- | A resource alias for @cloudidentity.groups.memberships.create@ method which the--- 'GroupsMembershipsCreate' request conforms to.-type GroupsMembershipsCreateResource =-     "v1" :>-       Capture "parent" Text :>-         "memberships" :>-           QueryParam "$.xgafv" Xgafv :>-             QueryParam "upload_protocol" Text :>-               QueryParam "access_token" Text :>-                 QueryParam "uploadType" Text :>-                   QueryParam "callback" Text :>-                     QueryParam "alt" AltJSON :>-                       ReqBody '[JSON] Membership :> Post '[JSON] Operation---- | Creates a Membership.------ /See:/ 'groupsMembershipsCreate' smart constructor.-data GroupsMembershipsCreate =-  GroupsMembershipsCreate'-    { _gmcParent         :: !Text-    , _gmcXgafv          :: !(Maybe Xgafv)-    , _gmcUploadProtocol :: !(Maybe Text)-    , _gmcAccessToken    :: !(Maybe Text)-    , _gmcUploadType     :: !(Maybe Text)-    , _gmcPayload        :: !Membership-    , _gmcCallback       :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'GroupsMembershipsCreate' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gmcParent'------ * 'gmcXgafv'------ * 'gmcUploadProtocol'------ * 'gmcAccessToken'------ * 'gmcUploadType'------ * 'gmcPayload'------ * 'gmcCallback'-groupsMembershipsCreate-    :: Text -- ^ 'gmcParent'-    -> Membership -- ^ 'gmcPayload'-    -> GroupsMembershipsCreate-groupsMembershipsCreate pGmcParent_ pGmcPayload_ =-  GroupsMembershipsCreate'-    { _gmcParent = pGmcParent_-    , _gmcXgafv = Nothing-    , _gmcUploadProtocol = Nothing-    , _gmcAccessToken = Nothing-    , _gmcUploadType = Nothing-    , _gmcPayload = pGmcPayload_-    , _gmcCallback = Nothing-    }----- | [Resource--- name](https:\/\/cloud.google.com\/apis\/design\/resource_names) of the--- Group to create Membership within. Format: \`groups\/{group_id}\`, where--- \`group_id\` is the unique ID assigned to the Group.-gmcParent :: Lens' GroupsMembershipsCreate Text-gmcParent-  = lens _gmcParent (\ s a -> s{_gmcParent = a})---- | V1 error format.-gmcXgafv :: Lens' GroupsMembershipsCreate (Maybe Xgafv)-gmcXgafv = lens _gmcXgafv (\ s a -> s{_gmcXgafv = a})---- | Upload protocol for media (e.g. \"raw\", \"multipart\").-gmcUploadProtocol :: Lens' GroupsMembershipsCreate (Maybe Text)-gmcUploadProtocol-  = lens _gmcUploadProtocol-      (\ s a -> s{_gmcUploadProtocol = a})---- | OAuth access token.-gmcAccessToken :: Lens' GroupsMembershipsCreate (Maybe Text)-gmcAccessToken-  = lens _gmcAccessToken-      (\ s a -> s{_gmcAccessToken = a})---- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").-gmcUploadType :: Lens' GroupsMembershipsCreate (Maybe Text)-gmcUploadType-  = lens _gmcUploadType-      (\ s a -> s{_gmcUploadType = a})---- | Multipart request metadata.-gmcPayload :: Lens' GroupsMembershipsCreate Membership-gmcPayload-  = lens _gmcPayload (\ s a -> s{_gmcPayload = a})---- | JSONP-gmcCallback :: Lens' GroupsMembershipsCreate (Maybe Text)-gmcCallback-  = lens _gmcCallback (\ s a -> s{_gmcCallback = a})--instance GoogleRequest GroupsMembershipsCreate where-        type Rs GroupsMembershipsCreate = Operation-        type Scopes GroupsMembershipsCreate =-             '["https://www.googleapis.com/auth/cloud-identity.groups"]-        requestClient GroupsMembershipsCreate'{..}-          = go _gmcParent _gmcXgafv _gmcUploadProtocol-              _gmcAccessToken-              _gmcUploadType-              _gmcCallback-              (Just AltJSON)-              _gmcPayload-              cloudIdentityService-          where go-                  = buildClient-                      (Proxy :: Proxy GroupsMembershipsCreateResource)-                      mempty
− gen/Network/Google/Resource/CloudIdentity/Groups/Memberships/Delete.hs
@@ -1,153 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.CloudIdentity.Groups.Memberships.Delete--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Deletes a Membership.------ /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.memberships.delete@.-module Network.Google.Resource.CloudIdentity.Groups.Memberships.Delete-    (-    -- * REST Resource-      GroupsMembershipsDeleteResource--    -- * Creating a Request-    , groupsMembershipsDelete-    , GroupsMembershipsDelete--    -- * Request Lenses-    , gmdXgafv-    , gmdUploadProtocol-    , gmdAccessToken-    , gmdUploadType-    , gmdName-    , gmdCallback-    ) where--import           Network.Google.CloudIdentity.Types-import           Network.Google.Prelude---- | A resource alias for @cloudidentity.groups.memberships.delete@ method which the--- 'GroupsMembershipsDelete' request conforms to.-type GroupsMembershipsDeleteResource =-     "v1" :>-       Capture "name" Text :>-         QueryParam "$.xgafv" Xgafv :>-           QueryParam "upload_protocol" Text :>-             QueryParam "access_token" Text :>-               QueryParam "uploadType" Text :>-                 QueryParam "callback" Text :>-                   QueryParam "alt" AltJSON :> Delete '[JSON] Operation---- | Deletes a Membership.------ /See:/ 'groupsMembershipsDelete' smart constructor.-data GroupsMembershipsDelete =-  GroupsMembershipsDelete'-    { _gmdXgafv          :: !(Maybe Xgafv)-    , _gmdUploadProtocol :: !(Maybe Text)-    , _gmdAccessToken    :: !(Maybe Text)-    , _gmdUploadType     :: !(Maybe Text)-    , _gmdName           :: !Text-    , _gmdCallback       :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'GroupsMembershipsDelete' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gmdXgafv'------ * 'gmdUploadProtocol'------ * 'gmdAccessToken'------ * 'gmdUploadType'------ * 'gmdName'------ * 'gmdCallback'-groupsMembershipsDelete-    :: Text -- ^ 'gmdName'-    -> GroupsMembershipsDelete-groupsMembershipsDelete pGmdName_ =-  GroupsMembershipsDelete'-    { _gmdXgafv = Nothing-    , _gmdUploadProtocol = Nothing-    , _gmdAccessToken = Nothing-    , _gmdUploadType = Nothing-    , _gmdName = pGmdName_-    , _gmdCallback = Nothing-    }----- | V1 error format.-gmdXgafv :: Lens' GroupsMembershipsDelete (Maybe Xgafv)-gmdXgafv = lens _gmdXgafv (\ s a -> s{_gmdXgafv = a})---- | Upload protocol for media (e.g. \"raw\", \"multipart\").-gmdUploadProtocol :: Lens' GroupsMembershipsDelete (Maybe Text)-gmdUploadProtocol-  = lens _gmdUploadProtocol-      (\ s a -> s{_gmdUploadProtocol = a})---- | OAuth access token.-gmdAccessToken :: Lens' GroupsMembershipsDelete (Maybe Text)-gmdAccessToken-  = lens _gmdAccessToken-      (\ s a -> s{_gmdAccessToken = a})---- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").-gmdUploadType :: Lens' GroupsMembershipsDelete (Maybe Text)-gmdUploadType-  = lens _gmdUploadType-      (\ s a -> s{_gmdUploadType = a})---- | [Resource--- name](https:\/\/cloud.google.com\/apis\/design\/resource_names) of the--- Membership to be deleted. Format:--- \`groups\/{group_id}\/memberships\/{member_id}\`, where \`group_id\` is--- the unique ID assigned to the Group to which Membership belongs to, and--- member_id is the unique ID assigned to the member.-gmdName :: Lens' GroupsMembershipsDelete Text-gmdName = lens _gmdName (\ s a -> s{_gmdName = a})---- | JSONP-gmdCallback :: Lens' GroupsMembershipsDelete (Maybe Text)-gmdCallback-  = lens _gmdCallback (\ s a -> s{_gmdCallback = a})--instance GoogleRequest GroupsMembershipsDelete where-        type Rs GroupsMembershipsDelete = Operation-        type Scopes GroupsMembershipsDelete =-             '["https://www.googleapis.com/auth/cloud-identity.groups"]-        requestClient GroupsMembershipsDelete'{..}-          = go _gmdName _gmdXgafv _gmdUploadProtocol-              _gmdAccessToken-              _gmdUploadType-              _gmdCallback-              (Just AltJSON)-              cloudIdentityService-          where go-                  = buildClient-                      (Proxy :: Proxy GroupsMembershipsDeleteResource)-                      mempty
− gen/Network/Google/Resource/CloudIdentity/Groups/Memberships/Get.hs
@@ -1,154 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.CloudIdentity.Groups.Memberships.Get--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Retrieves a Membership.------ /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.memberships.get@.-module Network.Google.Resource.CloudIdentity.Groups.Memberships.Get-    (-    -- * REST Resource-      GroupsMembershipsGetResource--    -- * Creating a Request-    , groupsMembershipsGet-    , GroupsMembershipsGet--    -- * Request Lenses-    , gmgXgafv-    , gmgUploadProtocol-    , gmgAccessToken-    , gmgUploadType-    , gmgName-    , gmgCallback-    ) where--import           Network.Google.CloudIdentity.Types-import           Network.Google.Prelude---- | A resource alias for @cloudidentity.groups.memberships.get@ method which the--- 'GroupsMembershipsGet' request conforms to.-type GroupsMembershipsGetResource =-     "v1" :>-       Capture "name" Text :>-         QueryParam "$.xgafv" Xgafv :>-           QueryParam "upload_protocol" Text :>-             QueryParam "access_token" Text :>-               QueryParam "uploadType" Text :>-                 QueryParam "callback" Text :>-                   QueryParam "alt" AltJSON :> Get '[JSON] Membership---- | Retrieves a Membership.------ /See:/ 'groupsMembershipsGet' smart constructor.-data GroupsMembershipsGet =-  GroupsMembershipsGet'-    { _gmgXgafv          :: !(Maybe Xgafv)-    , _gmgUploadProtocol :: !(Maybe Text)-    , _gmgAccessToken    :: !(Maybe Text)-    , _gmgUploadType     :: !(Maybe Text)-    , _gmgName           :: !Text-    , _gmgCallback       :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'GroupsMembershipsGet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gmgXgafv'------ * 'gmgUploadProtocol'------ * 'gmgAccessToken'------ * 'gmgUploadType'------ * 'gmgName'------ * 'gmgCallback'-groupsMembershipsGet-    :: Text -- ^ 'gmgName'-    -> GroupsMembershipsGet-groupsMembershipsGet pGmgName_ =-  GroupsMembershipsGet'-    { _gmgXgafv = Nothing-    , _gmgUploadProtocol = Nothing-    , _gmgAccessToken = Nothing-    , _gmgUploadType = Nothing-    , _gmgName = pGmgName_-    , _gmgCallback = Nothing-    }----- | V1 error format.-gmgXgafv :: Lens' GroupsMembershipsGet (Maybe Xgafv)-gmgXgafv = lens _gmgXgafv (\ s a -> s{_gmgXgafv = a})---- | Upload protocol for media (e.g. \"raw\", \"multipart\").-gmgUploadProtocol :: Lens' GroupsMembershipsGet (Maybe Text)-gmgUploadProtocol-  = lens _gmgUploadProtocol-      (\ s a -> s{_gmgUploadProtocol = a})---- | OAuth access token.-gmgAccessToken :: Lens' GroupsMembershipsGet (Maybe Text)-gmgAccessToken-  = lens _gmgAccessToken-      (\ s a -> s{_gmgAccessToken = a})---- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").-gmgUploadType :: Lens' GroupsMembershipsGet (Maybe Text)-gmgUploadType-  = lens _gmgUploadType-      (\ s a -> s{_gmgUploadType = a})---- | [Resource--- name](https:\/\/cloud.google.com\/apis\/design\/resource_names) of the--- Membership to be retrieved. Format:--- \`groups\/{group_id}\/memberships\/{member_id}\`, where \`group_id\` is--- the unique id assigned to the Group to which Membership belongs to, and--- \`member_id\` is the unique ID assigned to the member.-gmgName :: Lens' GroupsMembershipsGet Text-gmgName = lens _gmgName (\ s a -> s{_gmgName = a})---- | JSONP-gmgCallback :: Lens' GroupsMembershipsGet (Maybe Text)-gmgCallback-  = lens _gmgCallback (\ s a -> s{_gmgCallback = a})--instance GoogleRequest GroupsMembershipsGet where-        type Rs GroupsMembershipsGet = Membership-        type Scopes GroupsMembershipsGet =-             '["https://www.googleapis.com/auth/cloud-identity.groups",-               "https://www.googleapis.com/auth/cloud-identity.groups.readonly"]-        requestClient GroupsMembershipsGet'{..}-          = go _gmgName _gmgXgafv _gmgUploadProtocol-              _gmgAccessToken-              _gmgUploadType-              _gmgCallback-              (Just AltJSON)-              cloudIdentityService-          where go-                  = buildClient-                      (Proxy :: Proxy GroupsMembershipsGetResource)-                      mempty
− gen/Network/Google/Resource/CloudIdentity/Groups/Memberships/List.hs
@@ -1,193 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.CloudIdentity.Groups.Memberships.List--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ List Memberships within a Group.------ /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.memberships.list@.-module Network.Google.Resource.CloudIdentity.Groups.Memberships.List-    (-    -- * REST Resource-      GroupsMembershipsListResource--    -- * Creating a Request-    , groupsMembershipsList-    , GroupsMembershipsList--    -- * Request Lenses-    , groParent-    , groXgafv-    , groUploadProtocol-    , groAccessToken-    , groUploadType-    , groView-    , groPageToken-    , groPageSize-    , groCallback-    ) where--import           Network.Google.CloudIdentity.Types-import           Network.Google.Prelude---- | A resource alias for @cloudidentity.groups.memberships.list@ method which the--- 'GroupsMembershipsList' request conforms to.-type GroupsMembershipsListResource =-     "v1" :>-       Capture "parent" Text :>-         "memberships" :>-           QueryParam "$.xgafv" Xgafv :>-             QueryParam "upload_protocol" Text :>-               QueryParam "access_token" Text :>-                 QueryParam "uploadType" Text :>-                   QueryParam "view" Text :>-                     QueryParam "pageToken" Text :>-                       QueryParam "pageSize" (Textual Int32) :>-                         QueryParam "callback" Text :>-                           QueryParam "alt" AltJSON :>-                             Get '[JSON] ListMembershipsResponse---- | List Memberships within a Group.------ /See:/ 'groupsMembershipsList' smart constructor.-data GroupsMembershipsList =-  GroupsMembershipsList'-    { _groParent         :: !Text-    , _groXgafv          :: !(Maybe Xgafv)-    , _groUploadProtocol :: !(Maybe Text)-    , _groAccessToken    :: !(Maybe Text)-    , _groUploadType     :: !(Maybe Text)-    , _groView           :: !(Maybe Text)-    , _groPageToken      :: !(Maybe Text)-    , _groPageSize       :: !(Maybe (Textual Int32))-    , _groCallback       :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'GroupsMembershipsList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'groParent'------ * 'groXgafv'------ * 'groUploadProtocol'------ * 'groAccessToken'------ * 'groUploadType'------ * 'groView'------ * 'groPageToken'------ * 'groPageSize'------ * 'groCallback'-groupsMembershipsList-    :: Text -- ^ 'groParent'-    -> GroupsMembershipsList-groupsMembershipsList pGroParent_ =-  GroupsMembershipsList'-    { _groParent = pGroParent_-    , _groXgafv = Nothing-    , _groUploadProtocol = Nothing-    , _groAccessToken = Nothing-    , _groUploadType = Nothing-    , _groView = Nothing-    , _groPageToken = Nothing-    , _groPageSize = Nothing-    , _groCallback = Nothing-    }----- | [Resource--- name](https:\/\/cloud.google.com\/apis\/design\/resource_names) of the--- Group to list Memberships within. Format: \`groups\/{group_id}\`, where--- \`group_id\` is the unique ID assigned to the Group.-groParent :: Lens' GroupsMembershipsList Text-groParent-  = lens _groParent (\ s a -> s{_groParent = a})---- | V1 error format.-groXgafv :: Lens' GroupsMembershipsList (Maybe Xgafv)-groXgafv = lens _groXgafv (\ s a -> s{_groXgafv = a})---- | Upload protocol for media (e.g. \"raw\", \"multipart\").-groUploadProtocol :: Lens' GroupsMembershipsList (Maybe Text)-groUploadProtocol-  = lens _groUploadProtocol-      (\ s a -> s{_groUploadProtocol = a})---- | OAuth access token.-groAccessToken :: Lens' GroupsMembershipsList (Maybe Text)-groAccessToken-  = lens _groAccessToken-      (\ s a -> s{_groAccessToken = a})---- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").-groUploadType :: Lens' GroupsMembershipsList (Maybe Text)-groUploadType-  = lens _groUploadType-      (\ s a -> s{_groUploadType = a})---- | Membership resource view to be returned. Defaults to View.BASIC.-groView :: Lens' GroupsMembershipsList (Maybe Text)-groView = lens _groView (\ s a -> s{_groView = a})---- | The next_page_token value returned from a previous list request, if any.-groPageToken :: Lens' GroupsMembershipsList (Maybe Text)-groPageToken-  = lens _groPageToken (\ s a -> s{_groPageToken = a})---- | The default page size is 200 (max 1000) for the BASIC view, and 50 (max--- 500) for the FULL view.-groPageSize :: Lens' GroupsMembershipsList (Maybe Int32)-groPageSize-  = lens _groPageSize (\ s a -> s{_groPageSize = a}) .-      mapping _Coerce---- | JSONP-groCallback :: Lens' GroupsMembershipsList (Maybe Text)-groCallback-  = lens _groCallback (\ s a -> s{_groCallback = a})--instance GoogleRequest GroupsMembershipsList where-        type Rs GroupsMembershipsList =-             ListMembershipsResponse-        type Scopes GroupsMembershipsList =-             '["https://www.googleapis.com/auth/cloud-identity.groups",-               "https://www.googleapis.com/auth/cloud-identity.groups.readonly"]-        requestClient GroupsMembershipsList'{..}-          = go _groParent _groXgafv _groUploadProtocol-              _groAccessToken-              _groUploadType-              _groView-              _groPageToken-              _groPageSize-              _groCallback-              (Just AltJSON)-              cloudIdentityService-          where go-                  = buildClient-                      (Proxy :: Proxy GroupsMembershipsListResource)-                      mempty
− gen/Network/Google/Resource/CloudIdentity/Groups/Memberships/Lookup.hs
@@ -1,191 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.CloudIdentity.Groups.Memberships.Lookup--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Looks up [resource--- name](https:\/\/cloud.google.com\/apis\/design\/resource_names) of a--- Membership within a Group by member\'s EntityKey.------ /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.memberships.lookup@.-module Network.Google.Resource.CloudIdentity.Groups.Memberships.Lookup-    (-    -- * REST Resource-      GroupsMembershipsLookupResource--    -- * Creating a Request-    , groupsMembershipsLookup-    , GroupsMembershipsLookup--    -- * Request Lenses-    , gmlParent-    , gmlXgafv-    , gmlUploadProtocol-    , gmlAccessToken-    , gmlUploadType-    , gmlMemberKeyId-    , gmlMemberKeyNamespace-    , gmlCallback-    ) where--import           Network.Google.CloudIdentity.Types-import           Network.Google.Prelude---- | A resource alias for @cloudidentity.groups.memberships.lookup@ method which the--- 'GroupsMembershipsLookup' request conforms to.-type GroupsMembershipsLookupResource =-     "v1" :>-       Capture "parent" Text :>-         "memberships:lookup" :>-           QueryParam "$.xgafv" Xgafv :>-             QueryParam "upload_protocol" Text :>-               QueryParam "access_token" Text :>-                 QueryParam "uploadType" Text :>-                   QueryParam "memberKey.id" Text :>-                     QueryParam "memberKey.namespace" Text :>-                       QueryParam "callback" Text :>-                         QueryParam "alt" AltJSON :>-                           Get '[JSON] LookupMembershipNameResponse---- | Looks up [resource--- name](https:\/\/cloud.google.com\/apis\/design\/resource_names) of a--- Membership within a Group by member\'s EntityKey.------ /See:/ 'groupsMembershipsLookup' smart constructor.-data GroupsMembershipsLookup =-  GroupsMembershipsLookup'-    { _gmlParent             :: !Text-    , _gmlXgafv              :: !(Maybe Xgafv)-    , _gmlUploadProtocol     :: !(Maybe Text)-    , _gmlAccessToken        :: !(Maybe Text)-    , _gmlUploadType         :: !(Maybe Text)-    , _gmlMemberKeyId        :: !(Maybe Text)-    , _gmlMemberKeyNamespace :: !(Maybe Text)-    , _gmlCallback           :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'GroupsMembershipsLookup' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gmlParent'------ * 'gmlXgafv'------ * 'gmlUploadProtocol'------ * 'gmlAccessToken'------ * 'gmlUploadType'------ * 'gmlMemberKeyId'------ * 'gmlMemberKeyNamespace'------ * 'gmlCallback'-groupsMembershipsLookup-    :: Text -- ^ 'gmlParent'-    -> GroupsMembershipsLookup-groupsMembershipsLookup pGmlParent_ =-  GroupsMembershipsLookup'-    { _gmlParent = pGmlParent_-    , _gmlXgafv = Nothing-    , _gmlUploadProtocol = Nothing-    , _gmlAccessToken = Nothing-    , _gmlUploadType = Nothing-    , _gmlMemberKeyId = Nothing-    , _gmlMemberKeyNamespace = Nothing-    , _gmlCallback = Nothing-    }----- | [Resource--- name](https:\/\/cloud.google.com\/apis\/design\/resource_names) of the--- Group to lookup Membership within. Format: \`groups\/{group_id}\`, where--- \`group_id\` is the unique ID assigned to the Group.-gmlParent :: Lens' GroupsMembershipsLookup Text-gmlParent-  = lens _gmlParent (\ s a -> s{_gmlParent = a})---- | V1 error format.-gmlXgafv :: Lens' GroupsMembershipsLookup (Maybe Xgafv)-gmlXgafv = lens _gmlXgafv (\ s a -> s{_gmlXgafv = a})---- | Upload protocol for media (e.g. \"raw\", \"multipart\").-gmlUploadProtocol :: Lens' GroupsMembershipsLookup (Maybe Text)-gmlUploadProtocol-  = lens _gmlUploadProtocol-      (\ s a -> s{_gmlUploadProtocol = a})---- | OAuth access token.-gmlAccessToken :: Lens' GroupsMembershipsLookup (Maybe Text)-gmlAccessToken-  = lens _gmlAccessToken-      (\ s a -> s{_gmlAccessToken = a})---- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").-gmlUploadType :: Lens' GroupsMembershipsLookup (Maybe Text)-gmlUploadType-  = lens _gmlUploadType-      (\ s a -> s{_gmlUploadType = a})---- | The ID of the entity within the given namespace. The ID must be unique--- within its namespace.-gmlMemberKeyId :: Lens' GroupsMembershipsLookup (Maybe Text)-gmlMemberKeyId-  = lens _gmlMemberKeyId-      (\ s a -> s{_gmlMemberKeyId = a})---- | Namespaces provide isolation for IDs, so an ID only needs to be unique--- within its namespace. Namespaces are currently only created as part of--- IdentitySource creation from Admin Console. A namespace--- \`\"identitysources\/{identity_source_id}\"\` is created corresponding--- to every Identity Source \`identity_source_id\`.-gmlMemberKeyNamespace :: Lens' GroupsMembershipsLookup (Maybe Text)-gmlMemberKeyNamespace-  = lens _gmlMemberKeyNamespace-      (\ s a -> s{_gmlMemberKeyNamespace = a})---- | JSONP-gmlCallback :: Lens' GroupsMembershipsLookup (Maybe Text)-gmlCallback-  = lens _gmlCallback (\ s a -> s{_gmlCallback = a})--instance GoogleRequest GroupsMembershipsLookup where-        type Rs GroupsMembershipsLookup =-             LookupMembershipNameResponse-        type Scopes GroupsMembershipsLookup =-             '["https://www.googleapis.com/auth/cloud-identity.groups",-               "https://www.googleapis.com/auth/cloud-identity.groups.readonly"]-        requestClient GroupsMembershipsLookup'{..}-          = go _gmlParent _gmlXgafv _gmlUploadProtocol-              _gmlAccessToken-              _gmlUploadType-              _gmlMemberKeyId-              _gmlMemberKeyNamespace-              _gmlCallback-              (Just AltJSON)-              cloudIdentityService-          where go-                  = buildClient-                      (Proxy :: Proxy GroupsMembershipsLookupResource)-                      mempty
− gen/Network/Google/Resource/CloudIdentity/Groups/Patch.hs
@@ -1,174 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.CloudIdentity.Groups.Patch--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Updates a Group.------ /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.patch@.-module Network.Google.Resource.CloudIdentity.Groups.Patch-    (-    -- * REST Resource-      GroupsPatchResource--    -- * Creating a Request-    , groupsPatch-    , GroupsPatch--    -- * Request Lenses-    , gpXgafv-    , gpUploadProtocol-    , gpUpdateMask-    , gpAccessToken-    , gpUploadType-    , gpPayload-    , gpName-    , gpCallback-    ) where--import           Network.Google.CloudIdentity.Types-import           Network.Google.Prelude---- | A resource alias for @cloudidentity.groups.patch@ method which the--- 'GroupsPatch' request conforms to.-type GroupsPatchResource =-     "v1" :>-       Capture "name" Text :>-         QueryParam "$.xgafv" Xgafv :>-           QueryParam "upload_protocol" Text :>-             QueryParam "updateMask" GFieldMask :>-               QueryParam "access_token" Text :>-                 QueryParam "uploadType" Text :>-                   QueryParam "callback" Text :>-                     QueryParam "alt" AltJSON :>-                       ReqBody '[JSON] Group :> Patch '[JSON] Operation---- | Updates a Group.------ /See:/ 'groupsPatch' smart constructor.-data GroupsPatch =-  GroupsPatch'-    { _gpXgafv          :: !(Maybe Xgafv)-    , _gpUploadProtocol :: !(Maybe Text)-    , _gpUpdateMask     :: !(Maybe GFieldMask)-    , _gpAccessToken    :: !(Maybe Text)-    , _gpUploadType     :: !(Maybe Text)-    , _gpPayload        :: !Group-    , _gpName           :: !Text-    , _gpCallback       :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'GroupsPatch' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gpXgafv'------ * 'gpUploadProtocol'------ * 'gpUpdateMask'------ * 'gpAccessToken'------ * 'gpUploadType'------ * 'gpPayload'------ * 'gpName'------ * 'gpCallback'-groupsPatch-    :: Group -- ^ 'gpPayload'-    -> Text -- ^ 'gpName'-    -> GroupsPatch-groupsPatch pGpPayload_ pGpName_ =-  GroupsPatch'-    { _gpXgafv = Nothing-    , _gpUploadProtocol = Nothing-    , _gpUpdateMask = Nothing-    , _gpAccessToken = Nothing-    , _gpUploadType = Nothing-    , _gpPayload = pGpPayload_-    , _gpName = pGpName_-    , _gpCallback = Nothing-    }----- | V1 error format.-gpXgafv :: Lens' GroupsPatch (Maybe Xgafv)-gpXgafv = lens _gpXgafv (\ s a -> s{_gpXgafv = a})---- | Upload protocol for media (e.g. \"raw\", \"multipart\").-gpUploadProtocol :: Lens' GroupsPatch (Maybe Text)-gpUploadProtocol-  = lens _gpUploadProtocol-      (\ s a -> s{_gpUploadProtocol = a})---- | Editable fields: \`display_name\`, \`description\`-gpUpdateMask :: Lens' GroupsPatch (Maybe GFieldMask)-gpUpdateMask-  = lens _gpUpdateMask (\ s a -> s{_gpUpdateMask = a})---- | OAuth access token.-gpAccessToken :: Lens' GroupsPatch (Maybe Text)-gpAccessToken-  = lens _gpAccessToken-      (\ s a -> s{_gpAccessToken = a})---- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").-gpUploadType :: Lens' GroupsPatch (Maybe Text)-gpUploadType-  = lens _gpUploadType (\ s a -> s{_gpUploadType = a})---- | Multipart request metadata.-gpPayload :: Lens' GroupsPatch Group-gpPayload-  = lens _gpPayload (\ s a -> s{_gpPayload = a})---- | [Resource--- name](https:\/\/cloud.google.com\/apis\/design\/resource_names) of the--- Group in the format: \`groups\/{group_id}\`, where group_id is the--- unique ID assigned to the Group. Must be left blank while creating a--- Group.-gpName :: Lens' GroupsPatch Text-gpName = lens _gpName (\ s a -> s{_gpName = a})---- | JSONP-gpCallback :: Lens' GroupsPatch (Maybe Text)-gpCallback-  = lens _gpCallback (\ s a -> s{_gpCallback = a})--instance GoogleRequest GroupsPatch where-        type Rs GroupsPatch = Operation-        type Scopes GroupsPatch =-             '["https://www.googleapis.com/auth/cloud-identity.groups"]-        requestClient GroupsPatch'{..}-          = go _gpName _gpXgafv _gpUploadProtocol _gpUpdateMask-              _gpAccessToken-              _gpUploadType-              _gpCallback-              (Just AltJSON)-              _gpPayload-              cloudIdentityService-          where go-                  = buildClient (Proxy :: Proxy GroupsPatchResource)-                      mempty
− gen/Network/Google/Resource/CloudIdentity/Groups/Search.hs
@@ -1,188 +0,0 @@-{-# LANGUAGE DataKinds          #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE FlexibleInstances  #-}-{-# LANGUAGE NoImplicitPrelude  #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}-{-# LANGUAGE TypeOperators      #-}--{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds      #-}-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}---- |--- Module      : Network.Google.Resource.CloudIdentity.Groups.Search--- Copyright   : (c) 2015-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Searches for Groups.------ /See:/ <https://cloud.google.com/identity/ Cloud Identity API Reference> for @cloudidentity.groups.search@.-module Network.Google.Resource.CloudIdentity.Groups.Search-    (-    -- * REST Resource-      GroupsSearchResource--    -- * Creating a Request-    , groupsSearch-    , GroupsSearch--    -- * Request Lenses-    , gsXgafv-    , gsUploadProtocol-    , gsAccessToken-    , gsUploadType-    , gsQuery-    , gsView-    , gsPageToken-    , gsPageSize-    , gsCallback-    ) where--import           Network.Google.CloudIdentity.Types-import           Network.Google.Prelude---- | A resource alias for @cloudidentity.groups.search@ method which the--- 'GroupsSearch' request conforms to.-type GroupsSearchResource =-     "v1" :>-       "groups:search" :>-         QueryParam "$.xgafv" Xgafv :>-           QueryParam "upload_protocol" Text :>-             QueryParam "access_token" Text :>-               QueryParam "uploadType" Text :>-                 QueryParam "query" Text :>-                   QueryParam "view" Text :>-                     QueryParam "pageToken" Text :>-                       QueryParam "pageSize" (Textual Int32) :>-                         QueryParam "callback" Text :>-                           QueryParam "alt" AltJSON :>-                             Get '[JSON] SearchGroupsResponse---- | Searches for Groups.------ /See:/ 'groupsSearch' smart constructor.-data GroupsSearch =-  GroupsSearch'-    { _gsXgafv          :: !(Maybe Xgafv)-    , _gsUploadProtocol :: !(Maybe Text)-    , _gsAccessToken    :: !(Maybe Text)-    , _gsUploadType     :: !(Maybe Text)-    , _gsQuery          :: !(Maybe Text)-    , _gsView           :: !(Maybe Text)-    , _gsPageToken      :: !(Maybe Text)-    , _gsPageSize       :: !(Maybe (Textual Int32))-    , _gsCallback       :: !(Maybe Text)-    }-  deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'GroupsSearch' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gsXgafv'------ * 'gsUploadProtocol'------ * 'gsAccessToken'------ * 'gsUploadType'------ * 'gsQuery'------ * 'gsView'------ * 'gsPageToken'------ * 'gsPageSize'------ * 'gsCallback'-groupsSearch-    :: GroupsSearch-groupsSearch =-  GroupsSearch'-    { _gsXgafv = Nothing-    , _gsUploadProtocol = Nothing-    , _gsAccessToken = Nothing-    , _gsUploadType = Nothing-    , _gsQuery = Nothing-    , _gsView = Nothing-    , _gsPageToken = Nothing-    , _gsPageSize = Nothing-    , _gsCallback = Nothing-    }----- | V1 error format.-gsXgafv :: Lens' GroupsSearch (Maybe Xgafv)-gsXgafv = lens _gsXgafv (\ s a -> s{_gsXgafv = a})---- | Upload protocol for media (e.g. \"raw\", \"multipart\").-gsUploadProtocol :: Lens' GroupsSearch (Maybe Text)-gsUploadProtocol-  = lens _gsUploadProtocol-      (\ s a -> s{_gsUploadProtocol = a})---- | OAuth access token.-gsAccessToken :: Lens' GroupsSearch (Maybe Text)-gsAccessToken-  = lens _gsAccessToken-      (\ s a -> s{_gsAccessToken = a})---- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").-gsUploadType :: Lens' GroupsSearch (Maybe Text)-gsUploadType-  = lens _gsUploadType (\ s a -> s{_gsUploadType = a})---- | \`Required\`. Query string for performing search on groups. Users can--- search on parent and label attributes of groups. EXACT match (\'==\') is--- supported on parent, and CONTAINS match (\'in\') is supported on labels.-gsQuery :: Lens' GroupsSearch (Maybe Text)-gsQuery = lens _gsQuery (\ s a -> s{_gsQuery = a})---- | Group resource view to be returned. Defaults to [View.BASIC]().-gsView :: Lens' GroupsSearch (Maybe Text)-gsView = lens _gsView (\ s a -> s{_gsView = a})---- | The next_page_token value returned from a previous search request, if--- any.-gsPageToken :: Lens' GroupsSearch (Maybe Text)-gsPageToken-  = lens _gsPageToken (\ s a -> s{_gsPageToken = a})---- | The default page size is 200 (max 1000) for the BASIC view, and 50 (max--- 500) for the FULL view.-gsPageSize :: Lens' GroupsSearch (Maybe Int32)-gsPageSize-  = lens _gsPageSize (\ s a -> s{_gsPageSize = a}) .-      mapping _Coerce---- | JSONP-gsCallback :: Lens' GroupsSearch (Maybe Text)-gsCallback-  = lens _gsCallback (\ s a -> s{_gsCallback = a})--instance GoogleRequest GroupsSearch where-        type Rs GroupsSearch = SearchGroupsResponse-        type Scopes GroupsSearch =-             '["https://www.googleapis.com/auth/cloud-identity.groups",-               "https://www.googleapis.com/auth/cloud-identity.groups.readonly"]-        requestClient GroupsSearch'{..}-          = go _gsXgafv _gsUploadProtocol _gsAccessToken-              _gsUploadType-              _gsQuery-              _gsView-              _gsPageToken-              _gsPageSize-              _gsCallback-              (Just AltJSON)-              cloudIdentityService-          where go-                  = buildClient (Proxy :: Proxy GroupsSearchResource)-                      mempty
gogol-cloudidentity.cabal view
@@ -1,57 +1,118 @@-name:                  gogol-cloudidentity-version:               0.5.0-synopsis:              Google Cloud Identity SDK.-homepage:              https://github.com/brendanhay/gogol-bug-reports:           https://github.com/brendanhay/gogol/issues-license:               OtherLicense-license-file:          LICENSE-author:                Brendan Hay-maintainer:            Brendan Hay <brendan.g.hay@gmail.com>-copyright:             Copyright (c) 2015-2016 Brendan Hay-category:              Network, Google, Cloud-build-type:            Simple-cabal-version:         >= 1.10-extra-source-files:    README.md src/.gitkeep+cabal-version:      2.2+name:               gogol-cloudidentity+version:            1.0.0+synopsis:           Google Cloud Identity SDK.+homepage:           https://github.com/brendanhay/gogol+bug-reports:        https://github.com/brendanhay/gogol/issues+license:            MPL-2.0+license-file:       LICENSE+author:             Brendan Hay+maintainer:+  Brendan Hay <brendan.g.hay+gogol@gmail.com>, Toni Cebrián <toni@tonicebrian.com> +copyright:          Copyright (c) 2015-2025 Brendan Hay+category:           Google+build-type:         Simple+extra-source-files:+  README.md+  src/.gitkeep+ description:-    API for provisioning and managing identity resources.-    .-    /Warning:/ 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 @v1@-    of the API.+  API for provisioning and managing identity resources.+  .+  /Warning:/ 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 @v1@+  of the API.  source-repository head-    type:     git-    location: git://github.com/brendanhay/gogol.git+  type:     git+  location: git://github.com/brendanhay/gogol.git+  subdir:   gogol-cloudidentity +flag field-selectors+  description:+    If record field selectors should be enabled. Disabling this requires GHC >=9.2 and the NoFieldSelectors extension.++  default:     False+  manual:      True+ library-    default-language:  Haskell2010-    hs-source-dirs:    src gen+  default-language: GHC2021+  hs-source-dirs:   src gen+  ghc-options:+    -Wall -fwarn-incomplete-uni-patterns+    -fwarn-incomplete-record-updates -funbox-strict-fields+    -fwarn-unused-packages -    ghc-options:       -Wall+  if (!flag(field-selectors) && impl(ghc >=9.2))+    default-extensions: NoFieldSelectors -    exposed-modules:-          Network.Google.CloudIdentity-        , Network.Google.CloudIdentity.Types-        , Network.Google.Resource.CloudIdentity.Groups.Create-        , Network.Google.Resource.CloudIdentity.Groups.Delete-        , Network.Google.Resource.CloudIdentity.Groups.Get-        , Network.Google.Resource.CloudIdentity.Groups.List-        , Network.Google.Resource.CloudIdentity.Groups.Lookup-        , Network.Google.Resource.CloudIdentity.Groups.Memberships.Create-        , Network.Google.Resource.CloudIdentity.Groups.Memberships.Delete-        , Network.Google.Resource.CloudIdentity.Groups.Memberships.Get-        , Network.Google.Resource.CloudIdentity.Groups.Memberships.List-        , Network.Google.Resource.CloudIdentity.Groups.Memberships.Lookup-        , Network.Google.Resource.CloudIdentity.Groups.Patch-        , Network.Google.Resource.CloudIdentity.Groups.Search+  exposed-modules:+    Gogol.CloudIdentity+    Gogol.CloudIdentity.Customers.Userinvitations.Cancel+    Gogol.CloudIdentity.Customers.Userinvitations.Get+    Gogol.CloudIdentity.Customers.Userinvitations.IsInvitableUser+    Gogol.CloudIdentity.Customers.Userinvitations.List+    Gogol.CloudIdentity.Customers.Userinvitations.Send+    Gogol.CloudIdentity.Devices.CancelWipe+    Gogol.CloudIdentity.Devices.Create+    Gogol.CloudIdentity.Devices.Delete+    Gogol.CloudIdentity.Devices.DeviceUsers.Approve+    Gogol.CloudIdentity.Devices.DeviceUsers.Block+    Gogol.CloudIdentity.Devices.DeviceUsers.CancelWipe+    Gogol.CloudIdentity.Devices.DeviceUsers.ClientStates.Get+    Gogol.CloudIdentity.Devices.DeviceUsers.ClientStates.List+    Gogol.CloudIdentity.Devices.DeviceUsers.ClientStates.Patch+    Gogol.CloudIdentity.Devices.DeviceUsers.Delete+    Gogol.CloudIdentity.Devices.DeviceUsers.Get+    Gogol.CloudIdentity.Devices.DeviceUsers.List+    Gogol.CloudIdentity.Devices.DeviceUsers.Lookup+    Gogol.CloudIdentity.Devices.DeviceUsers.Wipe+    Gogol.CloudIdentity.Devices.Get+    Gogol.CloudIdentity.Devices.List+    Gogol.CloudIdentity.Devices.Wipe+    Gogol.CloudIdentity.Groups.Create+    Gogol.CloudIdentity.Groups.Delete+    Gogol.CloudIdentity.Groups.Get+    Gogol.CloudIdentity.Groups.GetSecuritySettings+    Gogol.CloudIdentity.Groups.List+    Gogol.CloudIdentity.Groups.Lookup+    Gogol.CloudIdentity.Groups.Memberships.CheckTransitiveMembership+    Gogol.CloudIdentity.Groups.Memberships.Create+    Gogol.CloudIdentity.Groups.Memberships.Delete+    Gogol.CloudIdentity.Groups.Memberships.Get+    Gogol.CloudIdentity.Groups.Memberships.GetMembershipGraph+    Gogol.CloudIdentity.Groups.Memberships.List+    Gogol.CloudIdentity.Groups.Memberships.Lookup+    Gogol.CloudIdentity.Groups.Memberships.ModifyMembershipRoles+    Gogol.CloudIdentity.Groups.Memberships.SearchDirectGroups+    Gogol.CloudIdentity.Groups.Memberships.SearchTransitiveGroups+    Gogol.CloudIdentity.Groups.Memberships.SearchTransitiveMemberships+    Gogol.CloudIdentity.Groups.Patch+    Gogol.CloudIdentity.Groups.Search+    Gogol.CloudIdentity.Groups.UpdateSecuritySettings+    Gogol.CloudIdentity.InboundSamlSsoProfiles.Create+    Gogol.CloudIdentity.InboundSamlSsoProfiles.Delete+    Gogol.CloudIdentity.InboundSamlSsoProfiles.Get+    Gogol.CloudIdentity.InboundSamlSsoProfiles.IdpCredentials.Add+    Gogol.CloudIdentity.InboundSamlSsoProfiles.IdpCredentials.Delete+    Gogol.CloudIdentity.InboundSamlSsoProfiles.IdpCredentials.Get+    Gogol.CloudIdentity.InboundSamlSsoProfiles.IdpCredentials.List+    Gogol.CloudIdentity.InboundSamlSsoProfiles.List+    Gogol.CloudIdentity.InboundSamlSsoProfiles.Patch+    Gogol.CloudIdentity.InboundSsoAssignments.Create+    Gogol.CloudIdentity.InboundSsoAssignments.Delete+    Gogol.CloudIdentity.InboundSsoAssignments.Get+    Gogol.CloudIdentity.InboundSsoAssignments.List+    Gogol.CloudIdentity.InboundSsoAssignments.Patch+    Gogol.CloudIdentity.Policies.Get+    Gogol.CloudIdentity.Policies.List+    Gogol.CloudIdentity.Types -    other-modules:-          Network.Google.CloudIdentity.Types.Product-        , Network.Google.CloudIdentity.Types.Sum+  other-modules:+    Gogol.CloudIdentity.Internal.Product+    Gogol.CloudIdentity.Internal.Sum -    build-depends:-          gogol-core == 0.5.0.*-        , base       >= 4.7 && < 5+  build-depends:    gogol-core ^>=1.0.0