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) |
Safe Haskell | None |
Language | Haskell2010 |
Controls access to cloud applications running on Google Cloud Platform.
Synopsis
- iAPService :: ServiceConfig
- cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"]
- type IAPAPI = GetIAMPolicyResource :<|> (SetIAMPolicyResource :<|> TestIAMPermissionsResource)
- module Network.Google.Resource.IAP.GetIAMPolicy
- module Network.Google.Resource.IAP.SetIAMPolicy
- module Network.Google.Resource.IAP.TestIAMPermissions
- data Expr
- expr :: Expr
- eLocation :: Lens' Expr (Maybe Text)
- eExpression :: Lens' Expr (Maybe Text)
- eTitle :: Lens' Expr (Maybe Text)
- eDescription :: Lens' Expr (Maybe Text)
- data GetIAMPolicyRequest
- getIAMPolicyRequest :: GetIAMPolicyRequest
- data SetIAMPolicyRequest
- setIAMPolicyRequest :: SetIAMPolicyRequest
- siprPolicy :: Lens' SetIAMPolicyRequest (Maybe Policy)
- data Xgafv
- data TestIAMPermissionsRequest
- testIAMPermissionsRequest :: TestIAMPermissionsRequest
- tiprPermissions :: Lens' TestIAMPermissionsRequest [Text]
- data TestIAMPermissionsResponse
- testIAMPermissionsResponse :: TestIAMPermissionsResponse
- tiamprPermissions :: Lens' TestIAMPermissionsResponse [Text]
- data Policy
- policy :: Policy
- pEtag :: Lens' Policy (Maybe ByteString)
- pVersion :: Lens' Policy (Maybe Int32)
- pBindings :: Lens' Policy [Binding]
- data Binding
- binding :: Binding
- bMembers :: Lens' Binding [Text]
- bRole :: Lens' Binding (Maybe Text)
- bCondition :: Lens' Binding (Maybe Expr)
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
type IAPAPI = GetIAMPolicyResource :<|> (SetIAMPolicyResource :<|> TestIAMPermissionsResource) Source #
Represents the entirety of the methods and resources available for the Cloud Identity-Aware Proxy API service.
Resources
iap.getIamPolicy
iap.setIamPolicy
iap.testIamPermissions
Types
Expr
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 # | |
Data Expr Source # | |
Defined in Network.Google.IAP.Types.Product 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 # 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 # | |
Generic Expr Source # | |
ToJSON Expr Source # | |
Defined in Network.Google.IAP.Types.Product | |
FromJSON Expr Source # | |
type Rep Expr Source # | |
Defined in Network.Google.IAP.Types.Product type Rep Expr = D1 (MetaData "Expr" "Network.Google.IAP.Types.Product" "gogol-iap-0.5.0-Gm42rkNPbdcHvjBH7HiOMW" 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))))) |
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
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
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
V1 error format.
Instances
TestIAMPermissionsRequest
data TestIAMPermissionsRequest Source #
Request message for `TestIamPermissions` method.
See: testIAMPermissionsRequest
smart constructor.
Instances
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
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
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 # | |
Data Policy Source # | |
Defined in Network.Google.IAP.Types.Product 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 # | |
Generic Policy Source # | |
ToJSON Policy Source # | |
Defined in Network.Google.IAP.Types.Product | |
FromJSON Policy Source # | |
type Rep Policy Source # | |
Defined in Network.Google.IAP.Types.Product type Rep Policy = D1 (MetaData "Policy" "Network.Google.IAP.Types.Product" "gogol-iap-0.5.0-Gm42rkNPbdcHvjBH7HiOMW" 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]))))) |
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
Associates `members` with a `role`.
See: binding
smart constructor.
Instances
Eq Binding Source # | |
Data Binding Source # | |
Defined in Network.Google.IAP.Types.Product 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 # | |
Generic Binding Source # | |
ToJSON Binding Source # | |
Defined in Network.Google.IAP.Types.Product | |
FromJSON Binding Source # | |
type Rep Binding Source # | |
Defined in Network.Google.IAP.Types.Product type Rep Binding = D1 (MetaData "Binding" "Network.Google.IAP.Types.Product" "gogol-iap-0.5.0-Gm42rkNPbdcHvjBH7HiOMW" 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))))) |
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}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`.