addRoleToInstanceProfile method

Future<void> addRoleToInstanceProfile({
  1. required String instanceProfileName,
  2. required String roleName,
})

Adds the specified IAM role to the specified instance profile. An instance profile can contain only one role. (The number and size of IAM resources in an AWS account are limited. For more information, see IAM and STS Quotas in the IAM User Guide.) You can remove the existing role and then add a different role to an instance profile. You must then wait for the change to appear across all of AWS because of eventual consistency. To force the change, you must disassociate the instance profile and then associate the instance profile, or you can stop your instance and then restart it. For more information about roles, go to Working with Roles. For more information about instance profiles, go to About Instance Profiles.

May throw NoSuchEntityException. May throw EntityAlreadyExistsException. May throw LimitExceededException. May throw UnmodifiableEntityException. May throw ServiceFailureException.

Parameter instanceProfileName : The name of the instance profile to update.

This parameter allows (through 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: _+=,.@-

Parameter roleName : The name of the role to add.

This parameter allows (through 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: _+=,.@-

Implementation

Future<void> addRoleToInstanceProfile({
  required String instanceProfileName,
  required String roleName,
}) async {
  ArgumentError.checkNotNull(instanceProfileName, 'instanceProfileName');
  _s.validateStringLength(
    'instanceProfileName',
    instanceProfileName,
    1,
    128,
    isRequired: true,
  );
  ArgumentError.checkNotNull(roleName, 'roleName');
  _s.validateStringLength(
    'roleName',
    roleName,
    1,
    64,
    isRequired: true,
  );
  final $request = <String, dynamic>{};
  $request['InstanceProfileName'] = instanceProfileName;
  $request['RoleName'] = roleName;
  await _protocol.send(
    $request,
    action: 'AddRoleToInstanceProfile',
    version: '2010-05-08',
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    shape: shapes['AddRoleToInstanceProfileRequest'],
    shapes: shapes,
  );
}