gogol-iam-0.5.0: Google Identity and Access Management (IAM) 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.Resource.IAM.Projects.ServiceAccounts.SetIAMPolicy

Contents

Description

Sets the Cloud IAM access control policy for a ServiceAccount. Note: Service accounts are both resources and identities. This method treats the service account as a resource. Use it to grant members access to the service account, such as when they need to impersonate it. This method does not grant the service account access to other resources, such as projects. To grant a service account access to resources, include the service account in the Cloud IAM policy for the desired resource, then call the appropriate `setIamPolicy` method on the target resource. For example, to grant a service account access to a project, call the projects.setIamPolicy method.

See: Identity and Access Management (IAM) API Reference for iam.projects.serviceAccounts.setIamPolicy.

Synopsis

REST Resource

type ProjectsServiceAccountsSetIAMPolicyResource = "v1" :> (CaptureMode "resource" "setIamPolicy" Text :> (QueryParam "$.xgafv" Xgafv :> (QueryParam "upload_protocol" Text :> (QueryParam "access_token" Text :> (QueryParam "uploadType" Text :> (QueryParam "callback" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] SetIAMPolicyRequest :> Post '[JSON] Policy)))))))) Source #

A resource alias for iam.projects.serviceAccounts.setIamPolicy method which the ProjectsServiceAccountsSetIAMPolicy request conforms to.

Creating a Request

data ProjectsServiceAccountsSetIAMPolicy Source #

Sets the Cloud IAM access control policy for a ServiceAccount. Note: Service accounts are both resources and identities. This method treats the service account as a resource. Use it to grant members access to the service account, such as when they need to impersonate it. This method does not grant the service account access to other resources, such as projects. To grant a service account access to resources, include the service account in the Cloud IAM policy for the desired resource, then call the appropriate `setIamPolicy` method on the target resource. For example, to grant a service account access to a project, call the projects.setIamPolicy method.

See: projectsServiceAccountsSetIAMPolicy smart constructor.

Instances
Eq ProjectsServiceAccountsSetIAMPolicy Source # 
Instance details

Defined in Network.Google.Resource.IAM.Projects.ServiceAccounts.SetIAMPolicy

Data ProjectsServiceAccountsSetIAMPolicy Source # 
Instance details

Defined in Network.Google.Resource.IAM.Projects.ServiceAccounts.SetIAMPolicy

Methods

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

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

toConstr :: ProjectsServiceAccountsSetIAMPolicy -> Constr #

dataTypeOf :: ProjectsServiceAccountsSetIAMPolicy -> DataType #

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

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

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

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

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

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

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

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

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

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

Show ProjectsServiceAccountsSetIAMPolicy Source # 
Instance details

Defined in Network.Google.Resource.IAM.Projects.ServiceAccounts.SetIAMPolicy

Generic ProjectsServiceAccountsSetIAMPolicy Source # 
Instance details

Defined in Network.Google.Resource.IAM.Projects.ServiceAccounts.SetIAMPolicy

GoogleRequest ProjectsServiceAccountsSetIAMPolicy Source # 
Instance details

Defined in Network.Google.Resource.IAM.Projects.ServiceAccounts.SetIAMPolicy

type Rep ProjectsServiceAccountsSetIAMPolicy Source # 
Instance details

Defined in Network.Google.Resource.IAM.Projects.ServiceAccounts.SetIAMPolicy

type Rep ProjectsServiceAccountsSetIAMPolicy = D1 (MetaData "ProjectsServiceAccountsSetIAMPolicy" "Network.Google.Resource.IAM.Projects.ServiceAccounts.SetIAMPolicy" "gogol-iam-0.5.0-AhgHzkqUbFwIp2TGTeE7eX" False) (C1 (MetaCons "ProjectsServiceAccountsSetIAMPolicy'" PrefixI True) ((S1 (MetaSel (Just "_psasipXgafv") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Xgafv)) :*: (S1 (MetaSel (Just "_psasipUploadProtocol") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)) :*: S1 (MetaSel (Just "_psasipAccessToken") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)))) :*: ((S1 (MetaSel (Just "_psasipUploadType") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)) :*: S1 (MetaSel (Just "_psasipPayload") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 SetIAMPolicyRequest)) :*: (S1 (MetaSel (Just "_psasipResource") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text) :*: S1 (MetaSel (Just "_psasipCallback") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))))))
type Scopes ProjectsServiceAccountsSetIAMPolicy Source # 
Instance details

Defined in Network.Google.Resource.IAM.Projects.ServiceAccounts.SetIAMPolicy

type Scopes ProjectsServiceAccountsSetIAMPolicy = "https://www.googleapis.com/auth/cloud-platform" ': ([] :: [Symbol])
type Rs ProjectsServiceAccountsSetIAMPolicy Source # 
Instance details

Defined in Network.Google.Resource.IAM.Projects.ServiceAccounts.SetIAMPolicy

Request Lenses

psasipUploadProtocol :: Lens' ProjectsServiceAccountsSetIAMPolicy (Maybe Text) Source #

Upload protocol for media (e.g. "raw", "multipart").

psasipUploadType :: Lens' ProjectsServiceAccountsSetIAMPolicy (Maybe Text) Source #

Legacy upload protocol for media (e.g. "media", "multipart").

psasipResource :: Lens' ProjectsServiceAccountsSetIAMPolicy Text Source #

REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.