Example usage for com.amazonaws.services.identitymanagement.model CreateUserRequest setUserName

List of usage examples for com.amazonaws.services.identitymanagement.model CreateUserRequest setUserName

Introduction

In this page you can find the example usage for com.amazonaws.services.identitymanagement.model CreateUserRequest setUserName.

Prototype


public void setUserName(String userName) 

Source Link

Document

The name of the user to create.

Usage

From source file:org.apache.usergrid.apm.service.ApplicationServiceImpl.java

License:Apache License

public AccessKey createAuthorizedAppPrinciple(Long applicationId, String orgAppName) {
    CreateUserRequest createUserRequest = new CreateUserRequest();

    createUserRequest.setUserName(APP_PRINCIPLE_USER_PREFIX + "_" + orgAppName);

    createUserRequest.setRequestCredentials(awsCredentials);

    try {/*  w w  w  .j a va2s .  co  m*/
        CreateUserResult createUserResult = identityManagementClient.createUser(createUserRequest);
        log.info("cloud user id for app with " + orgAppName + " created with "
                + createUserResult.getUser().getUserName());
        CreateAccessKeyRequest accessKeyRequest = new CreateAccessKeyRequest();

        accessKeyRequest.setUserName(createUserResult.getUser().getUserName());

        CreateAccessKeyResult accessKeyResult = identityManagementClient.createAccessKey(accessKeyRequest);

        //Create policy of queue

        GetQueueAttributesRequest attributesRequest = new GetQueueAttributesRequest();

        log.info("Going to secure sqs queue : " + AWSUtil.formFullQueueUrl(orgAppName));

        attributesRequest.setQueueUrl(AWSUtil.formFullQueueUrl(orgAppName));

        List<String> attributeNames = new ArrayList<String>();
        attributeNames.add("QueueArn");
        attributesRequest.setAttributeNames(attributeNames);

        GetQueueAttributesResult attributesResult = sqsClient.getQueueAttributes(attributesRequest);

        String queueArn = attributesResult.getAttributes().get("QueueArn");

        String policy = POLICY_DOCUMENT_TEMPLATE.replace("QUEUE_ARN", queueArn);

        String formattedPolicy = String.format(POLICY_DOCUMENT_TEMPLATE, queueArn);
        log.info("Applying authorization for following AWS resources" + formattedPolicy);

        PutUserPolicyRequest policyRequest = new PutUserPolicyRequest();

        policyRequest.setPolicyName(POLICY_NAME);

        policyRequest.setPolicyDocument(formattedPolicy);

        policyRequest.setUserName(createUserResult.getUser().getUserName());

        identityManagementClient.putUserPolicy(policyRequest);
        log.info("User policy for queue " + queueArn + " was set");

        return accessKeyResult.getAccessKey();
    } catch (EntityAlreadyExistsException e) {

        log.error("This should not happen in production. Swallowing the error fow now " + e.getMessage());
        log.error(e);
        return null;
    }
}

From source file:org.applicationMigrator.userManagement.UserManagementWorker.java

License:Apache License

private void createUser(String ANDROID_ID) throws FileNotFoundException, IllegalArgumentException, IOException {
    Random randomizer = new Random(System.currentTimeMillis());
    String userName = "User" + randomizer.nextDouble();
    CreateUserRequest user = new CreateUserRequest();
    user.setUserName(userName);
    AWSCredentials credentials = new PropertiesCredentials(
            new File("C:\\AndroidMigration\\Credentials\\AwsCredentials.properties"));
    AmazonIdentityManagementClient client = new AmazonIdentityManagementClient(credentials);
    CreateUserResult result = null;//from  w w w .ja  v  a 2 s .c  o m
    AccessKey accessKey = null;
    try {

        boolean userCreatedSuccessfully = false;
        while (!userCreatedSuccessfully) {
            try {
                result = client.createUser(user);
                userCreatedSuccessfully = true;
            } catch (EntityAlreadyExistsException exception) {
                user.setUserName(userName + randomizer.nextDouble());
                userCreatedSuccessfully = false;
            }
        }

        CreateAccessKeyRequest accessKeyRequest = new CreateAccessKeyRequest();
        accessKeyRequest.setUserName(result.getUser().getUserName());
        CreateAccessKeyResult accessKeyResult = client.createAccessKey(accessKeyRequest);
        accessKey = accessKeyResult.getAccessKey();

        grantPermissions(user, client);

        File userList = new File(USER_LIST_FILEPATH);
        BufferedWriter userListFileWriter = new BufferedWriter(new FileWriter(userList));

        // Concurrency ?
        userListFileWriter.write(ANDROID_ID + " ");
        userListFileWriter.write(accessKey.getAccessKeyId() + " ");
        userListFileWriter.write(accessKey.getSecretAccessKey() + " ");
        userListFileWriter.write(user.getUserName() + " ");
        userListFileWriter.close();
    } catch (Exception e) {
        if (accessKey != null) {
            DeleteAccessKeyRequest deleteAccessKeyRequest = new DeleteAccessKeyRequest(
                    accessKey.getAccessKeyId());
            deleteAccessKeyRequest.setUserName(user.getUserName());
            client.deleteAccessKey(deleteAccessKeyRequest);
            DeleteUserRequest deleteUserRequest = new DeleteUserRequest(user.getUserName());

            client.deleteUser(deleteUserRequest);
        }
        throw e;
    }
}