updateRole method
Updates the description or maximum session duration setting of a role.
May throw UnmodifiableEntityException. May throw NoSuchEntityException. May throw ServiceFailureException.
Parameter roleName
:
The name of the role that you want to modify.
Parameter description
:
The new description that you want to apply to the specified role.
Parameter maxSessionDuration
:
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.
Implementation
Future<void> updateRole({
required String roleName,
String? description,
int? maxSessionDuration,
}) async {
ArgumentError.checkNotNull(roleName, 'roleName');
_s.validateStringLength(
'roleName',
roleName,
1,
64,
isRequired: true,
);
_s.validateStringLength(
'description',
description,
0,
1000,
);
_s.validateNumRange(
'maxSessionDuration',
maxSessionDuration,
3600,
43200,
);
final $request = <String, dynamic>{};
$request['RoleName'] = roleName;
description?.also((arg) => $request['Description'] = arg);
maxSessionDuration?.also((arg) => $request['MaxSessionDuration'] = arg);
await _protocol.send(
$request,
action: 'UpdateRole',
version: '2010-05-08',
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
shape: shapes['UpdateRoleRequest'],
shapes: shapes,
resultWrapper: 'UpdateRoleResult',
);
}