Java 类com.amazonaws.services.identitymanagement.model.GetRoleResult 实例源码

项目:s3_video    文件:AWSAdapter.java   
public String createIAMRoleIfNotExist(String roleName) {
    GetRoleRequest getRoleRequest = new GetRoleRequest()
        .withRoleName(roleName);
    try {
        GetRoleResult getRoleResult = identityManagement.getRole(getRoleRequest);
        return getRoleResult.getRole().getArn();
    } catch (NoSuchEntityException e) {
        CreateRoleRequest request = new CreateRoleRequest().withRoleName(roleName)
                .withAssumeRolePolicyDocument("{\"Version\": \"2008-10-17\","
                        + "\"Statement\": ["
                        + "{"
                        + "\"Sid\": \"1\","
                        + "\"Effect\": \"Allow\","
                        + "\"Principal\": {"
                        + "\"Service\": \"elastictranscoder.amazonaws.com\""
                        + "},"
                        + "\"Action\": \"sts:AssumeRole\""
                        + "}"
                        + "]"
                        + "}");
        CreateRoleResult roleResult = identityManagement.createRole(request);

        PutRolePolicyRequest putRolePolicyRequest = new PutRolePolicyRequest()
            .withPolicyName("s3video_generated_policy")
            .withPolicyDocument("{\"Version\":\"2008-10-17\",\"Statement\":[{\"Sid\":\"1\",\"Effect\":\"Allow\",\"Action\":[\"s3:ListBucket\",\"s3:Put*\",\"s3:Get*\",\"s3:*MultipartUpload*\"],\"Resource\":\"*\"},{\"Sid\":\"2\",\"Effect\":\"Allow\",\"Action\":\"sns:Publish\",\"Resource\":\"*\"},{\"Sid\":\"3\",\"Effect\":\"Deny\",\"Action\":[\"s3:*Policy*\",\"sns:*Permission*\",\"sns:*Delete*\",\"s3:*Delete*\",\"sns:*Remove*\"],\"Resource\":\"*\"}]}")
            .withRoleName(roleName);
        identityManagement.putRolePolicy(putRolePolicyRequest);

        return roleResult.getRole().getArn();
    }
}
项目:aws-sdk-java-resources    文件:RoleImpl.java   
@Override
public boolean load(GetRoleRequest request, ResultCapture<GetRoleResult>
        extractor) {

    return resource.load(request, extractor);
}
项目:aws-sdk-java-resources    文件:Role.java   
/**
 * Makes a call to the service to load this resource's attributes if they
 * are not loaded yet, and use a ResultCapture to retrieve the low-level
 * client response
 * The following request parameters will be populated from the data of this
 * <code>Role</code> resource, and any conflicting parameter value set in
 * the request will be overridden:
 * <ul>
 *   <li>
 *     <b><code>RoleName</code></b>
 *         - mapped from the <code>Name</code> identifier.
 *   </li>
 * </ul>
 *
 * <p>
 *
 * @return Returns {@code true} if the resource is not yet loaded when this
 *         method was invoked, which indicates that a service call has been
 *         made to retrieve the attributes.
 * @see GetRoleRequest
 */
boolean load(GetRoleRequest request, ResultCapture<GetRoleResult> extractor)
        ;