amazonka-iam-1.6.0: Amazon Identity and Access Management SDK.

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

Network.AWS.IAM.CreateRole

Contents

Description

Creates a new role for your AWS account. For more information about roles, go to IAM Roles . For information about limitations on role names and the number of roles you can create, go to Limitations on IAM Entities in the IAM User Guide .

Synopsis

Creating a Request

createRole Source #

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

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

  • crMaxSessionDuration - The maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 1 hour to 12 hours. Anyone who assumes the role from the AWS CLI or API can use the DurationSeconds API parameter or the duration-seconds CLI parameter to request a longer session. The MaxSessionDuration setting determines the maximum duration that can be requested using the DurationSeconds parameter. If users don't specify a value for the DurationSeconds parameter, their security credentials are valid for one hour by default. This applies when you use the AssumeRole* API operations or the assume-role* CLI operations but does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide .
  • crPath - The path to the role. For more information about paths, see IAM Identifiers in the IAM User Guide . This parameter is optional. If it is not included, it defaults to a slash (). This parameter allows (per its <http:wikipedia.orgwikiregex regex pattern> ) a string of characters consisting of either a forward slash () by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (u0021) through the DEL character (u007F), including most punctuation characters, digits, and upper and lowercased letters.
  • crDescription - A description of the role.
  • crRoleName - The name of the role to create. This parameter allows (per its regex pattern ) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@- Role names are not distinguished by case. For example, you cannot create roles named both PRODROLE and "prodrole".
  • crAssumeRolePolicyDocument - The trust relationship policy document that grants an entity permission to assume the role. The regex pattern used to validate this parameter is a string of characters consisting of the following: * Any printable ASCII character ranging from the space character (u0020) through the end of the ASCII character range * The printable characters in the Basic Latin and Latin-1 Supplement character set (through u00FF) * The special characters tab (u0009), line feed (u000A), and carriage return (u000D)

data CreateRole Source #

See: createRole smart constructor.

Instances

Eq CreateRole Source # 
Data CreateRole Source # 

Methods

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

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

toConstr :: CreateRole -> Constr #

dataTypeOf :: CreateRole -> DataType #

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

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

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

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

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

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

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

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

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

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

Read CreateRole Source # 
Show CreateRole Source # 
Generic CreateRole Source # 

Associated Types

type Rep CreateRole :: * -> * #

Hashable CreateRole Source # 
NFData CreateRole Source # 

Methods

rnf :: CreateRole -> () #

AWSRequest CreateRole Source # 
ToHeaders CreateRole Source # 

Methods

toHeaders :: CreateRole -> [Header] #

ToPath CreateRole Source # 
ToQuery CreateRole Source # 
type Rep CreateRole Source # 
type Rep CreateRole = D1 * (MetaData "CreateRole" "Network.AWS.IAM.CreateRole" "amazonka-iam-1.6.0-CI3f7XZIc4eD0Ehb04tNY7" False) (C1 * (MetaCons "CreateRole'" PrefixI True) ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "_crMaxSessionDuration") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe Nat))) (S1 * (MetaSel (Just Symbol "_crPath") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe Text)))) ((:*:) * (S1 * (MetaSel (Just Symbol "_crDescription") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe Text))) ((:*:) * (S1 * (MetaSel (Just Symbol "_crRoleName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Text)) (S1 * (MetaSel (Just Symbol "_crAssumeRolePolicyDocument") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Text))))))
type Rs CreateRole Source # 

Request Lenses

crMaxSessionDuration :: Lens' CreateRole (Maybe Natural) Source #

The maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 1 hour to 12 hours. Anyone who assumes the role from the AWS CLI or API can use the DurationSeconds API parameter or the duration-seconds CLI parameter to request a longer session. The MaxSessionDuration setting determines the maximum duration that can be requested using the DurationSeconds parameter. If users don't specify a value for the DurationSeconds parameter, their security credentials are valid for one hour by default. This applies when you use the AssumeRole* API operations or the assume-role* CLI operations but does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide .

crPath :: Lens' CreateRole (Maybe Text) Source #

The path to the role. For more information about paths, see IAM Identifiers in the IAM User Guide . This parameter is optional. If it is not included, it defaults to a slash (). This parameter allows (per its <http:wikipedia.orgwikiregex regex pattern> ) a string of characters consisting of either a forward slash () by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (u0021) through the DEL character (u007F), including most punctuation characters, digits, and upper and lowercased letters.

crDescription :: Lens' CreateRole (Maybe Text) Source #

A description of the role.

crRoleName :: Lens' CreateRole Text Source #

The name of the role to create. This parameter allows (per its regex pattern ) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@- Role names are not distinguished by case. For example, you cannot create roles named both PRODROLE and "prodrole".

crAssumeRolePolicyDocument :: Lens' CreateRole Text Source #

The trust relationship policy document that grants an entity permission to assume the role. The regex pattern used to validate this parameter is a string of characters consisting of the following: * Any printable ASCII character ranging from the space character (u0020) through the end of the ASCII character range * The printable characters in the Basic Latin and Latin-1 Supplement character set (through u00FF) * The special characters tab (u0009), line feed (u000A), and carriage return (u000D)

Destructuring the Response

createRoleResponse Source #

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

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

data CreateRoleResponse Source #

Contains the response to a successful CreateRole request.

See: createRoleResponse smart constructor.

Instances

Eq CreateRoleResponse Source # 
Data CreateRoleResponse Source # 

Methods

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

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

toConstr :: CreateRoleResponse -> Constr #

dataTypeOf :: CreateRoleResponse -> DataType #

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

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

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

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

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

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

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

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

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

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

Read CreateRoleResponse Source # 
Show CreateRoleResponse Source # 
Generic CreateRoleResponse Source # 
NFData CreateRoleResponse Source # 

Methods

rnf :: CreateRoleResponse -> () #

type Rep CreateRoleResponse Source # 
type Rep CreateRoleResponse = D1 * (MetaData "CreateRoleResponse" "Network.AWS.IAM.CreateRole" "amazonka-iam-1.6.0-CI3f7XZIc4eD0Ehb04tNY7" False) (C1 * (MetaCons "CreateRoleResponse'" PrefixI True) ((:*:) * (S1 * (MetaSel (Just Symbol "_crrsResponseStatus") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Int)) (S1 * (MetaSel (Just Symbol "_crrsRole") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Role))))

Response Lenses

crrsResponseStatus :: Lens' CreateRoleResponse Int Source #

  • - | The response status code.

crrsRole :: Lens' CreateRoleResponse Role Source #

A structure containing details about the new role.