use of com.amazonaws.services.securitytoken.model.AssumeRoleRequest in project cvs-auto-svc by dvsa.
the class AwsUtil method insertActivity.
public static void insertActivity(String jsonBody) {
Regions clientRegion = Regions.EU_WEST_1;
AWSSecurityTokenService stsClient = AWSSecurityTokenServiceClientBuilder.standard().withRegion(clientRegion).build();
String uuid = String.valueOf(UUID.randomUUID());
AssumeRoleRequest assumeRequest = new AssumeRoleRequest().withRoleArn(System.getProperty("AWS_ROLE")).withDurationSeconds(3600).withRoleSessionName(uuid);
AssumeRoleResult assumeResult = stsClient.assumeRole(assumeRequest);
BasicSessionCredentials temporaryCredentials = new BasicSessionCredentials(assumeResult.getCredentials().getAccessKeyId(), assumeResult.getCredentials().getSecretAccessKey(), assumeResult.getCredentials().getSessionToken());
AmazonDynamoDBClient client = new AmazonDynamoDBClient(temporaryCredentials);
client.setRegion(Region.getRegion(clientRegion));
DynamoDB dynamoDB = new DynamoDB(client);
String tableName = "cvs-" + loader.getBranchName() + "-activities";
Table table = dynamoDB.getTable(tableName);
String id = GenericData.getValueFromJsonPath(jsonBody, "$.id");
try {
Item item = Item.fromJSON(jsonBody);
System.out.println("Adding a new item...");
PutItemOutcome outcome = table.putItem(item);
System.out.println("PutItem succeeded:\n" + item.toJSONPretty());
} catch (Exception e) {
System.err.println("Unable to add item with id: " + id);
System.err.println(e);
}
}
use of com.amazonaws.services.securitytoken.model.AssumeRoleRequest in project cvs-auto-svc by dvsa.
the class AwsUtil method deleteVehicleById.
public static void deleteVehicleById(String systemNumber) {
System.out.println("deleting the vehicle: " + systemNumber);
Regions clientRegion = Regions.EU_WEST_1;
AWSSecurityTokenService stsClient = AWSSecurityTokenServiceClientBuilder.standard().withRegion(clientRegion).build();
String uuid = String.valueOf(UUID.randomUUID());
AssumeRoleRequest assumeRequest = new AssumeRoleRequest().withRoleArn(System.getProperty("AWS_ROLE")).withDurationSeconds(3600).withRoleSessionName(uuid);
AssumeRoleResult assumeResult = stsClient.assumeRole(assumeRequest);
BasicSessionCredentials temporaryCredentials = new BasicSessionCredentials(assumeResult.getCredentials().getAccessKeyId(), assumeResult.getCredentials().getSecretAccessKey(), assumeResult.getCredentials().getSessionToken());
AmazonDynamoDBClient client = new AmazonDynamoDBClient(temporaryCredentials);
client.setRegion(Region.getRegion(clientRegion));
DynamoDB dynamoDB = new DynamoDB(client);
String tableName = "cvs-" + loader.getBranchName() + "-technical-records";
Map<String, AttributeValue> expressionAttributeValues = new HashMap<String, AttributeValue>();
expressionAttributeValues.put(":system_no", new AttributeValue().withS(systemNumber));
ScanRequest scanRequest = new ScanRequest().withTableName(tableName).withFilterExpression("systemNumber = :system_no").withProjectionExpression("vin, systemNumber").withExpressionAttributeValues(expressionAttributeValues);
ScanResult result = client.scan(scanRequest);
System.out.println("result.toString: " + result.toString());
System.out.println("result.getCount: " + result.getCount());
System.out.println("result.getItems:" + result.getItems());
Table table = dynamoDB.getTable(tableName);
for (Map<String, AttributeValue> item : result.getItems()) {
System.out.println("item.size: " + item.size());
System.out.println("item.values: " + item.values());
System.out.println("item.get(systemNumber).getS(): " + item.get("systemNumber").getS());
DeleteItemSpec deleteItemSpec = new DeleteItemSpec().withPrimaryKey("systemNumber", systemNumber, "vin", item.get("vin").getS());
DeleteItemOutcome outcome = table.deleteItem(deleteItemSpec);
}
}
use of com.amazonaws.services.securitytoken.model.AssumeRoleRequest in project cvs-auto-svc by dvsa.
the class AwsUtil method updateEmailsForTestStation.
public static void updateEmailsForTestStation(String primaryKeyValue, String... updateValue) {
Regions clientRegion = Regions.EU_WEST_1;
AWSSecurityTokenService stsClient = AWSSecurityTokenServiceClientBuilder.standard().withRegion(clientRegion).build();
String uuid = String.valueOf(UUID.randomUUID());
AssumeRoleRequest assumeRequest = new AssumeRoleRequest().withRoleArn(System.getProperty("AWS_ROLE")).withDurationSeconds(3600).withRoleSessionName(uuid);
AssumeRoleResult assumeResult = stsClient.assumeRole(assumeRequest);
BasicSessionCredentials temporaryCredentials = new BasicSessionCredentials(assumeResult.getCredentials().getAccessKeyId(), assumeResult.getCredentials().getSecretAccessKey(), assumeResult.getCredentials().getSessionToken());
AmazonDynamoDBClient client = new AmazonDynamoDBClient(temporaryCredentials);
client.setRegion(Region.getRegion(clientRegion));
DynamoDB dynamoDB = new DynamoDB(client);
String actualTableName = "cvs-" + loader.getBranchName() + "-test-stations";
Table table = dynamoDB.getTable(actualTableName);
UpdateItemSpec updateItemSpec = new UpdateItemSpec().withPrimaryKey("testStationId", primaryKeyValue).withUpdateExpression("set testStationEmails = :fieldToUpdate").withValueMap(new ValueMap().withList(":fieldToUpdate", Arrays.asList(updateValue))).withReturnValues(ReturnValue.UPDATED_NEW);
try {
System.out.println("Updating the item...");
UpdateItemOutcome outcome = table.updateItem(updateItemSpec);
System.out.println("UpdateItem succeeded:\n" + outcome.getItem().toJSONPretty());
} catch (Exception e) {
System.err.println("Unable to update item: primaryKeyValue");
System.err.println(e.getMessage());
}
}
use of com.amazonaws.services.securitytoken.model.AssumeRoleRequest in project cvs-auto-svc by dvsa.
the class AwsUtil method getNextTrailerIdInSequence.
public static String getNextTrailerIdInSequence() {
Regions clientRegion = Regions.EU_WEST_1;
AWSSecurityTokenService stsClient = AWSSecurityTokenServiceClientBuilder.standard().withRegion(clientRegion).build();
String uuid = String.valueOf(UUID.randomUUID());
AssumeRoleRequest assumeRequest = new AssumeRoleRequest().withRoleArn(System.getProperty("AWS_ROLE")).withDurationSeconds(3600).withRoleSessionName(uuid);
AssumeRoleResult assumeResult = stsClient.assumeRole(assumeRequest);
BasicSessionCredentials temporaryCredentials = new BasicSessionCredentials(assumeResult.getCredentials().getAccessKeyId(), assumeResult.getCredentials().getSecretAccessKey(), assumeResult.getCredentials().getSessionToken());
AmazonDynamoDBClient client = new AmazonDynamoDBClient(temporaryCredentials);
client.setRegion(Region.getRegion(clientRegion));
DynamoDB dynamoDB = new DynamoDB(client);
String tableName = "cvs-" + loader.getBranchName() + "-test-number";
Table table = dynamoDB.getTable(tableName);
ItemCollection<ScanOutcome> items = // FilterExpression
table.scan(// FilterExpression
"attribute_exists(trailerId)", // ProjectionExpression
"trailerId, sequenceNumber, trailerLetter", // ExpressionAttributeNames - not used in this example
null, // ExpressionAttributeValues - not used in this example
null);
System.out.println("Scan of " + tableName + " for items with trailerId not null");
Iterator<Item> iterator = items.iterator();
String dynamoInfo = null;
while (iterator.hasNext()) {
dynamoInfo = iterator.next().toJSONPretty();
}
int lastTrailerSequenceNumberUsed = GenericData.extractIntegerValueFromJsonString(dynamoInfo, "$.sequenceNumber");
String trailerLetter = GenericData.getValueFromJsonPath(dynamoInfo, "$.trailerLetter");
if (lastTrailerSequenceNumberUsed != 0 && trailerLetter != null) {
int nextTrailerNumberInSequence = lastTrailerSequenceNumberUsed + 1;
return trailerLetter + nextTrailerNumberInSequence;
} else {
throw new AutomationException("No value found for last used sequence number or trailer letter");
}
}
use of com.amazonaws.services.securitytoken.model.AssumeRoleRequest in project cvs-auto-svc by dvsa.
the class AwsUtil method deleteActivitiesForUser.
public static void deleteActivitiesForUser(String testerName) {
Regions clientRegion = Regions.EU_WEST_1;
AWSSecurityTokenService stsClient = AWSSecurityTokenServiceClientBuilder.standard().withRegion(clientRegion).build();
String uuid = String.valueOf(UUID.randomUUID());
AssumeRoleRequest assumeRequest = new AssumeRoleRequest().withRoleArn(System.getProperty("AWS_ROLE")).withDurationSeconds(3600).withRoleSessionName(uuid);
AssumeRoleResult assumeResult = stsClient.assumeRole(assumeRequest);
BasicSessionCredentials temporaryCredentials = new BasicSessionCredentials(assumeResult.getCredentials().getAccessKeyId(), assumeResult.getCredentials().getSecretAccessKey(), assumeResult.getCredentials().getSessionToken());
AmazonDynamoDBClient client = new AmazonDynamoDBClient(temporaryCredentials);
client.setRegion(Region.getRegion(clientRegion));
DynamoDB dynamoDB = new DynamoDB(client);
String tableName = "cvs-" + loader.getBranchName() + "-activities";
Table table = dynamoDB.getTable(tableName);
Index index = table.getIndex("StaffIndex");
QuerySpec spec = new QuerySpec().withKeyConditionExpression("testerStaffId = :staff_id").withValueMap(new ValueMap().withString(":staff_id", testerName));
ItemCollection<QueryOutcome> items = index.query(spec);
for (Item item : items) {
String id = JsonPath.read(item.toJSON(), "$.id");
System.out.println("Delete item:\n" + item.toJSONPretty());
DeleteItemOutcome outcome = table.deleteItem("id", id);
}
}
Aggregations