use of com.amazonaws.services.identitymanagement.AmazonIdentityManagement in project aws-doc-sdk-examples by awsdocs.
the class ListUsers method main.
public static void main(String[] args) {
final AmazonIdentityManagement iam = AmazonIdentityManagementClientBuilder.defaultClient();
boolean done = false;
while (!done) {
ListUsersRequest request = new ListUsersRequest();
ListUsersResult response = iam.listUsers(request);
for (User user : response.getUsers()) {
System.out.format("Retrieved user %s", user.getUserName());
}
request.setMarker(response.getMarker());
if (!response.getIsTruncated()) {
done = true;
}
}
}
use of com.amazonaws.services.identitymanagement.AmazonIdentityManagement in project cloudbreak by hortonworks.
the class AwsPlatformResources method accessConfigs.
@Override
public CloudAccessConfigs accessConfigs(CloudCredential cloudCredential, Region region, Map<String, String> filters) {
String queryFailedMessage = "Could not get instance profile roles from Amazon: ";
CloudAccessConfigs cloudAccessConfigs = new CloudAccessConfigs(new HashSet<>());
AwsCredentialView awsCredentialView = new AwsCredentialView(cloudCredential);
AmazonIdentityManagement client = awsClient.createAmazonIdentityManagement(awsCredentialView);
try {
ListInstanceProfilesResult listRolesResult = client.listInstanceProfiles();
for (InstanceProfile instanceProfile : listRolesResult.getInstanceProfiles()) {
Map<String, Object> properties = new HashMap<>();
properties.put("arn", instanceProfile.getArn());
properties.put("creationDate", instanceProfile.getCreateDate().toString());
if (!instanceProfile.getRoles().isEmpty()) {
String roleName = instanceProfile.getRoles().get(0).getArn();
properties.put("roleArn", Strings.isNullOrEmpty(roleName) ? instanceProfile.getArn() : roleName);
}
cloudAccessConfigs.getCloudAccessConfigs().add(new CloudAccessConfig(instanceProfile.getInstanceProfileName(), instanceProfile.getInstanceProfileId(), properties));
}
} catch (AmazonServiceException ase) {
if (ase.getStatusCode() == UNAUTHORIZED) {
String policyMessage = "Could not get instance profile roles because the user does not have enough permission.";
LOGGER.info(policyMessage + ase);
throw new CloudConnectorException(policyMessage, ase);
} else {
LOGGER.error(queryFailedMessage, ase);
throw new CloudConnectorException(queryFailedMessage + ase.getMessage(), ase);
}
} catch (Exception e) {
LOGGER.error(queryFailedMessage, e);
throw new CloudConnectorException(queryFailedMessage + e.getMessage(), e);
}
return cloudAccessConfigs;
}
Aggregations