updateRole method

Future<void> updateRole({
  1. required String roleName,
  2. String? description,
  3. int? maxSessionDuration,
})

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',
  );
}