AWS SDK Version 3 for .NET
API Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Adds the specified IAM role to the specified instance profile. An instance profile can contain only one role, and this limit cannot be increased. 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.

The caller of this API must be granted the PassRole permission on the IAM role by a permission policy.

For more information about roles, go to Working with Roles. For more information about instance profiles, go to About Instance Profiles.


For .NET Core, PCL and Unity this operation is only available in asynchronous form. Please refer to AddRoleToInstanceProfileAsync.

Namespace: Amazon.IdentityManagement
Assembly: AWSSDK.IdentityManagement.dll
Version: 3.x.y.z


public abstract AddRoleToInstanceProfileResponse AddRoleToInstanceProfile(
         AddRoleToInstanceProfileRequest request
Type: Amazon.IdentityManagement.Model.AddRoleToInstanceProfileRequest

Container for the necessary parameters to execute the AddRoleToInstanceProfile service method.

Return Value
The response from the AddRoleToInstanceProfile service method, as returned by IdentityManagementService.


EntityAlreadyExistsException The request was rejected because it attempted to create a resource that already exists.
LimitExceededException The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.
NoSuchEntityException The request was rejected because it referenced an entity that does not exist. The error message describes the entity.
ServiceFailureException The request processing has failed because of an unknown error, exception or failure.
UnmodifiableEntityException The request was rejected because only the service that depends on the service-linked role can modify or delete the role on your behalf. The error message includes the name of the service that depends on this service-linked role. You must request the change through that service.


The following command adds the role named S3Access to the instance profile named Webserver:

To add a role to an instance profile

var response = client.AddRoleToInstanceProfile(new AddRoleToInstanceProfileRequest 
    InstanceProfileName = "Webserver",
    RoleName = "S3Access"


Version Information

.NET Framework:
Supported in: 4.5, 4.0, 3.5

Portable Class Library:
Supported in: Windows Store Apps
Supported in: Windows Phone 8.1
Supported in: Xamarin Android
Supported in: Xamarin iOS (Unified)
Supported in: Xamarin.Forms

Supported Versions: 4.6 and above
Supported Platforms: Android, iOS, Standalone

See Also