gogol-iap-0.4.0: Google Cloud Identity-Aware Proxy SDK.

Copyright(c) 2015-2016 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell2010

Network.Google.IAP

Contents

Description

Controls access to cloud applications running on Google Cloud Platform.

See: Cloud Identity-Aware Proxy API Reference

Synopsis

Service Configuration

iAPService :: ServiceConfig Source #

Default request referring to version v1 of the Cloud Identity-Aware Proxy API. This contains the host and root path used as a starting point for constructing service requests.

OAuth Scopes

cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"] Source #

View and manage your data across Google Cloud Platform services

API Declaration

Resources

iap.projects.iap_tunnel.getIamPolicy

iap.projects.iap_tunnel.setIamPolicy

iap.projects.iap_tunnel.testIamPermissions

iap.projects.iap_tunnel.zones.getIamPolicy

iap.projects.iap_tunnel.zones.instances.getIamPolicy

iap.projects.iap_tunnel.zones.instances.setIamPolicy

iap.projects.iap_tunnel.zones.instances.testIamPermissions

iap.projects.iap_tunnel.zones.setIamPolicy

iap.projects.iap_tunnel.zones.testIamPermissions

iap.projects.iap_web.getIamPolicy

iap.projects.iap_web.services.getIamPolicy

iap.projects.iap_web.services.setIamPolicy

iap.projects.iap_web.services.testIamPermissions

iap.projects.iap_web.services.versions.getIamPolicy

iap.projects.iap_web.services.versions.setIamPolicy

iap.projects.iap_web.services.versions.testIamPermissions

iap.projects.iap_web.setIamPolicy

iap.projects.iap_web.testIamPermissions

Types

Expr

data Expr Source #

Represents an expression text. Example: title: "User account presence" description: "Determines whether the request has a user account" expression: "size(request.user) > 0"

See: expr smart constructor.

Instances
Eq Expr Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

Methods

(==) :: Expr -> Expr -> Bool #

(/=) :: Expr -> Expr -> Bool #

Data Expr Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Expr -> c Expr #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Expr #

toConstr :: Expr -> Constr #

dataTypeOf :: Expr -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Expr) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Expr) #

gmapT :: (forall b. Data b => b -> b) -> Expr -> Expr #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Expr -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Expr -> r #

gmapQ :: (forall d. Data d => d -> u) -> Expr -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Expr -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Expr -> m Expr #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Expr -> m Expr #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Expr -> m Expr #

Show Expr Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

Methods

showsPrec :: Int -> Expr -> ShowS #

show :: Expr -> String #

showList :: [Expr] -> ShowS #

Generic Expr Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

Associated Types

type Rep Expr :: Type -> Type #

Methods

from :: Expr -> Rep Expr x #

to :: Rep Expr x -> Expr #

ToJSON Expr Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

FromJSON Expr Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

type Rep Expr Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

type Rep Expr = D1 (MetaData "Expr" "Network.Google.IAP.Types.Product" "gogol-iap-0.4.0-EsvJTg6W8MxApwSUQuf3pN" False) (C1 (MetaCons "Expr'" PrefixI True) ((S1 (MetaSel (Just "_eLocation") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)) :*: S1 (MetaSel (Just "_eExpression") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 (MetaSel (Just "_eTitle") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)) :*: S1 (MetaSel (Just "_eDescription") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)))))

expr :: Expr Source #

Creates a value of Expr with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

eLocation :: Lens' Expr (Maybe Text) Source #

An optional string indicating the location of the expression for error reporting, e.g. a file name and a position in the file.

eExpression :: Lens' Expr (Maybe Text) Source #

Textual representation of an expression in Common Expression Language syntax. The application context of the containing message determines which well-known feature set of CEL is supported.

eTitle :: Lens' Expr (Maybe Text) Source #

An optional title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.

eDescription :: Lens' Expr (Maybe Text) Source #

An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.

GetIAMPolicyRequest

data GetIAMPolicyRequest Source #

Request message for `GetIamPolicy` method.

See: getIAMPolicyRequest smart constructor.

Instances
Eq GetIAMPolicyRequest Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

Data GetIAMPolicyRequest Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> GetIAMPolicyRequest -> c GetIAMPolicyRequest #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c GetIAMPolicyRequest #

toConstr :: GetIAMPolicyRequest -> Constr #

dataTypeOf :: GetIAMPolicyRequest -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c GetIAMPolicyRequest) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c GetIAMPolicyRequest) #

gmapT :: (forall b. Data b => b -> b) -> GetIAMPolicyRequest -> GetIAMPolicyRequest #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> GetIAMPolicyRequest -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> GetIAMPolicyRequest -> r #

gmapQ :: (forall d. Data d => d -> u) -> GetIAMPolicyRequest -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> GetIAMPolicyRequest -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> GetIAMPolicyRequest -> m GetIAMPolicyRequest #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> GetIAMPolicyRequest -> m GetIAMPolicyRequest #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> GetIAMPolicyRequest -> m GetIAMPolicyRequest #

Show GetIAMPolicyRequest Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

Generic GetIAMPolicyRequest Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

Associated Types

type Rep GetIAMPolicyRequest :: Type -> Type #

ToJSON GetIAMPolicyRequest Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

FromJSON GetIAMPolicyRequest Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

type Rep GetIAMPolicyRequest Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

type Rep GetIAMPolicyRequest = D1 (MetaData "GetIAMPolicyRequest" "Network.Google.IAP.Types.Product" "gogol-iap-0.4.0-EsvJTg6W8MxApwSUQuf3pN" False) (C1 (MetaCons "GetIAMPolicyRequest'" PrefixI False) (U1 :: Type -> Type))

getIAMPolicyRequest :: GetIAMPolicyRequest Source #

Creates a value of GetIAMPolicyRequest with the minimum fields required to make a request.

SetIAMPolicyRequest

data SetIAMPolicyRequest Source #

Request message for `SetIamPolicy` method.

See: setIAMPolicyRequest smart constructor.

Instances
Eq SetIAMPolicyRequest Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

Data SetIAMPolicyRequest Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetIAMPolicyRequest -> c SetIAMPolicyRequest #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetIAMPolicyRequest #

toConstr :: SetIAMPolicyRequest -> Constr #

dataTypeOf :: SetIAMPolicyRequest -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetIAMPolicyRequest) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetIAMPolicyRequest) #

gmapT :: (forall b. Data b => b -> b) -> SetIAMPolicyRequest -> SetIAMPolicyRequest #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetIAMPolicyRequest -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetIAMPolicyRequest -> r #

gmapQ :: (forall d. Data d => d -> u) -> SetIAMPolicyRequest -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetIAMPolicyRequest -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetIAMPolicyRequest -> m SetIAMPolicyRequest #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetIAMPolicyRequest -> m SetIAMPolicyRequest #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetIAMPolicyRequest -> m SetIAMPolicyRequest #

Show SetIAMPolicyRequest Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

Generic SetIAMPolicyRequest Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

Associated Types

type Rep SetIAMPolicyRequest :: Type -> Type #

ToJSON SetIAMPolicyRequest Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

FromJSON SetIAMPolicyRequest Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

type Rep SetIAMPolicyRequest Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

type Rep SetIAMPolicyRequest = D1 (MetaData "SetIAMPolicyRequest" "Network.Google.IAP.Types.Product" "gogol-iap-0.4.0-EsvJTg6W8MxApwSUQuf3pN" True) (C1 (MetaCons "SetIAMPolicyRequest'" PrefixI True) (S1 (MetaSel (Just "_siprPolicy") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Policy))))

setIAMPolicyRequest :: SetIAMPolicyRequest Source #

Creates a value of SetIAMPolicyRequest with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

siprPolicy :: Lens' SetIAMPolicyRequest (Maybe Policy) Source #

REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.

Xgafv

data Xgafv Source #

V1 error format.

Constructors

X1

1 v1 error format

X2

2 v2 error format

Instances
Enum Xgafv Source # 
Instance details

Defined in Network.Google.IAP.Types.Sum

Eq Xgafv Source # 
Instance details

Defined in Network.Google.IAP.Types.Sum

Methods

(==) :: Xgafv -> Xgafv -> Bool #

(/=) :: Xgafv -> Xgafv -> Bool #

Data Xgafv Source # 
Instance details

Defined in Network.Google.IAP.Types.Sum

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Xgafv -> c Xgafv #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Xgafv #

toConstr :: Xgafv -> Constr #

dataTypeOf :: Xgafv -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Xgafv) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Xgafv) #

gmapT :: (forall b. Data b => b -> b) -> Xgafv -> Xgafv #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Xgafv -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Xgafv -> r #

gmapQ :: (forall d. Data d => d -> u) -> Xgafv -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Xgafv -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Xgafv -> m Xgafv #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Xgafv -> m Xgafv #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Xgafv -> m Xgafv #

Ord Xgafv Source # 
Instance details

Defined in Network.Google.IAP.Types.Sum

Methods

compare :: Xgafv -> Xgafv -> Ordering #

(<) :: Xgafv -> Xgafv -> Bool #

(<=) :: Xgafv -> Xgafv -> Bool #

(>) :: Xgafv -> Xgafv -> Bool #

(>=) :: Xgafv -> Xgafv -> Bool #

max :: Xgafv -> Xgafv -> Xgafv #

min :: Xgafv -> Xgafv -> Xgafv #

Read Xgafv Source # 
Instance details

Defined in Network.Google.IAP.Types.Sum

Show Xgafv Source # 
Instance details

Defined in Network.Google.IAP.Types.Sum

Methods

showsPrec :: Int -> Xgafv -> ShowS #

show :: Xgafv -> String #

showList :: [Xgafv] -> ShowS #

Generic Xgafv Source # 
Instance details

Defined in Network.Google.IAP.Types.Sum

Associated Types

type Rep Xgafv :: Type -> Type #

Methods

from :: Xgafv -> Rep Xgafv x #

to :: Rep Xgafv x -> Xgafv #

Hashable Xgafv Source # 
Instance details

Defined in Network.Google.IAP.Types.Sum

Methods

hashWithSalt :: Int -> Xgafv -> Int #

hash :: Xgafv -> Int #

ToJSON Xgafv Source # 
Instance details

Defined in Network.Google.IAP.Types.Sum

FromJSON Xgafv Source # 
Instance details

Defined in Network.Google.IAP.Types.Sum

FromHttpApiData Xgafv Source # 
Instance details

Defined in Network.Google.IAP.Types.Sum

ToHttpApiData Xgafv Source # 
Instance details

Defined in Network.Google.IAP.Types.Sum

type Rep Xgafv Source # 
Instance details

Defined in Network.Google.IAP.Types.Sum

type Rep Xgafv = D1 (MetaData "Xgafv" "Network.Google.IAP.Types.Sum" "gogol-iap-0.4.0-EsvJTg6W8MxApwSUQuf3pN" False) (C1 (MetaCons "X1" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "X2" PrefixI False) (U1 :: Type -> Type))

TestIAMPermissionsRequest

data TestIAMPermissionsRequest Source #

Request message for `TestIamPermissions` method.

See: testIAMPermissionsRequest smart constructor.

Instances
Eq TestIAMPermissionsRequest Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

Data TestIAMPermissionsRequest Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TestIAMPermissionsRequest -> c TestIAMPermissionsRequest #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TestIAMPermissionsRequest #

toConstr :: TestIAMPermissionsRequest -> Constr #

dataTypeOf :: TestIAMPermissionsRequest -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TestIAMPermissionsRequest) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TestIAMPermissionsRequest) #

gmapT :: (forall b. Data b => b -> b) -> TestIAMPermissionsRequest -> TestIAMPermissionsRequest #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TestIAMPermissionsRequest -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TestIAMPermissionsRequest -> r #

gmapQ :: (forall d. Data d => d -> u) -> TestIAMPermissionsRequest -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> TestIAMPermissionsRequest -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TestIAMPermissionsRequest -> m TestIAMPermissionsRequest #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TestIAMPermissionsRequest -> m TestIAMPermissionsRequest #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TestIAMPermissionsRequest -> m TestIAMPermissionsRequest #

Show TestIAMPermissionsRequest Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

Generic TestIAMPermissionsRequest Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

Associated Types

type Rep TestIAMPermissionsRequest :: Type -> Type #

ToJSON TestIAMPermissionsRequest Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

FromJSON TestIAMPermissionsRequest Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

type Rep TestIAMPermissionsRequest Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

type Rep TestIAMPermissionsRequest = D1 (MetaData "TestIAMPermissionsRequest" "Network.Google.IAP.Types.Product" "gogol-iap-0.4.0-EsvJTg6W8MxApwSUQuf3pN" True) (C1 (MetaCons "TestIAMPermissionsRequest'" PrefixI True) (S1 (MetaSel (Just "_tiprPermissions") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe [Text]))))

testIAMPermissionsRequest :: TestIAMPermissionsRequest Source #

Creates a value of TestIAMPermissionsRequest with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

tiprPermissions :: Lens' TestIAMPermissionsRequest [Text] Source #

The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see IAM Overview.

TestIAMPermissionsResponse

data TestIAMPermissionsResponse Source #

Response message for `TestIamPermissions` method.

See: testIAMPermissionsResponse smart constructor.

Instances
Eq TestIAMPermissionsResponse Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

Data TestIAMPermissionsResponse Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TestIAMPermissionsResponse -> c TestIAMPermissionsResponse #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TestIAMPermissionsResponse #

toConstr :: TestIAMPermissionsResponse -> Constr #

dataTypeOf :: TestIAMPermissionsResponse -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TestIAMPermissionsResponse) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TestIAMPermissionsResponse) #

gmapT :: (forall b. Data b => b -> b) -> TestIAMPermissionsResponse -> TestIAMPermissionsResponse #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TestIAMPermissionsResponse -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TestIAMPermissionsResponse -> r #

gmapQ :: (forall d. Data d => d -> u) -> TestIAMPermissionsResponse -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> TestIAMPermissionsResponse -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TestIAMPermissionsResponse -> m TestIAMPermissionsResponse #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TestIAMPermissionsResponse -> m TestIAMPermissionsResponse #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TestIAMPermissionsResponse -> m TestIAMPermissionsResponse #

Show TestIAMPermissionsResponse Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

Generic TestIAMPermissionsResponse Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

Associated Types

type Rep TestIAMPermissionsResponse :: Type -> Type #

ToJSON TestIAMPermissionsResponse Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

FromJSON TestIAMPermissionsResponse Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

type Rep TestIAMPermissionsResponse Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

type Rep TestIAMPermissionsResponse = D1 (MetaData "TestIAMPermissionsResponse" "Network.Google.IAP.Types.Product" "gogol-iap-0.4.0-EsvJTg6W8MxApwSUQuf3pN" True) (C1 (MetaCons "TestIAMPermissionsResponse'" PrefixI True) (S1 (MetaSel (Just "_tiamprPermissions") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe [Text]))))

testIAMPermissionsResponse :: TestIAMPermissionsResponse Source #

Creates a value of TestIAMPermissionsResponse with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

tiamprPermissions :: Lens' TestIAMPermissionsResponse [Text] Source #

A subset of `TestPermissionsRequest.permissions` that the caller is allowed.

Policy

data Policy Source #

Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources. A `Policy` consists of a list of `bindings`. A `binding` binds a list of `members` to a `role`, where the members can be user accounts, Google groups, Google domains, and service accounts. A `role` is a named list of permissions defined by IAM. **JSON Example** { "bindings": [ { "role": "roles/owner", "members": [ "user:mike'example.com", "group:admins'example.com", "domain:google.com", "serviceAccount:my-other-app'appspot.gserviceaccount.com" ] }, { "role": "roles/viewer", "members": ["user:sean'example.com"] } ] } **YAML Example** bindings: - members: - user:mike'example.com - group:admins'example.com - domain:google.com - serviceAccount:my-other-app'appspot.gserviceaccount.com role: roles/owner - members: - user:sean'example.com role: roles/viewer For a description of IAM and its features, see the IAM developer's guide.

See: policy smart constructor.

Instances
Eq Policy Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

Methods

(==) :: Policy -> Policy -> Bool #

(/=) :: Policy -> Policy -> Bool #

Data Policy Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Policy -> c Policy #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Policy #

toConstr :: Policy -> Constr #

dataTypeOf :: Policy -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Policy) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Policy) #

gmapT :: (forall b. Data b => b -> b) -> Policy -> Policy #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Policy -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Policy -> r #

gmapQ :: (forall d. Data d => d -> u) -> Policy -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Policy -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Policy -> m Policy #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Policy -> m Policy #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Policy -> m Policy #

Show Policy Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

Generic Policy Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

Associated Types

type Rep Policy :: Type -> Type #

Methods

from :: Policy -> Rep Policy x #

to :: Rep Policy x -> Policy #

ToJSON Policy Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

FromJSON Policy Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

type Rep Policy Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

type Rep Policy = D1 (MetaData "Policy" "Network.Google.IAP.Types.Product" "gogol-iap-0.4.0-EsvJTg6W8MxApwSUQuf3pN" False) (C1 (MetaCons "Policy'" PrefixI True) (S1 (MetaSel (Just "_pEtag") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Bytes)) :*: (S1 (MetaSel (Just "_pVersion") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe (Textual Int32))) :*: S1 (MetaSel (Just "_pBindings") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe [Binding])))))

policy :: Policy Source #

Creates a value of Policy with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

pEtag :: Lens' Policy (Maybe ByteString) Source #

`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. If no `etag` is provided in the call to `setIamPolicy`, then the existing policy is overwritten blindly.

pBindings :: Lens' Policy [Binding] Source #

Associates a list of `members` to a `role`. `bindings` with no members will result in an error.

Binding

data Binding Source #

Associates `members` with a `role`.

See: binding smart constructor.

Instances
Eq Binding Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

Methods

(==) :: Binding -> Binding -> Bool #

(/=) :: Binding -> Binding -> Bool #

Data Binding Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Binding -> c Binding #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Binding #

toConstr :: Binding -> Constr #

dataTypeOf :: Binding -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Binding) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Binding) #

gmapT :: (forall b. Data b => b -> b) -> Binding -> Binding #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Binding -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Binding -> r #

gmapQ :: (forall d. Data d => d -> u) -> Binding -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Binding -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Binding -> m Binding #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Binding -> m Binding #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Binding -> m Binding #

Show Binding Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

Generic Binding Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

Associated Types

type Rep Binding :: Type -> Type #

Methods

from :: Binding -> Rep Binding x #

to :: Rep Binding x -> Binding #

ToJSON Binding Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

FromJSON Binding Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

type Rep Binding Source # 
Instance details

Defined in Network.Google.IAP.Types.Product

type Rep Binding = D1 (MetaData "Binding" "Network.Google.IAP.Types.Product" "gogol-iap-0.4.0-EsvJTg6W8MxApwSUQuf3pN" False) (C1 (MetaCons "Binding'" PrefixI True) (S1 (MetaSel (Just "_bMembers") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe [Text])) :*: (S1 (MetaSel (Just "_bRole") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)) :*: S1 (MetaSel (Just "_bCondition") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Expr)))))

binding :: Binding Source #

Creates a value of Binding with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

bMembers :: Lens' Binding [Text] Source #

Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice'gmail.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app'appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins'example.com`. * `domain:{domain}`: A Google Apps domain name that represents all the users of that domain. For example, `google.com` or `example.com`.

bRole :: Lens' Binding (Maybe Text) Source #

Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.

bCondition :: Lens' Binding (Maybe Expr) Source #

Unimplemented. The condition that is associated with this binding. NOTE: an unsatisfied condition will not allow user access via current binding. Different bindings, including their conditions, are examined independently.